Windows Server 2008 R2 si interrompe bruscamente durante le operazioni di copia dei file


8

Quando la mia macchina Windows Server 2008 R2 sta eseguendo operazioni su disco di grandi dimensioni (copia di file da 10 GB da un'unità a un'altra, copia di file simili sulla rete, unione di istantanee HyperV, compressione di file di grandi dimensioni), le prestazioni dell'intera macchina rallentano terribilmente, tutto diventa non rispondente . Ciò è evidente in qualsiasi situazione in cui l'accesso al disco è abbastanza grande da non adattarsi alla cache.

Sono disponibili impostazioni per l'ottimizzazione di questo comportamento? Posso accettare un trasferimento di file più lento se questo mi darebbe più reattività.

Dettagli del sistema: Dell Optiflex 960, Core 2 Quad Q9650, 8 GB RAM, 2 unità SATA - 320 GB (ST3320418AS) e 1 TB (ST31000528AS), NCQ attivo su entrambi, Intel 82564LM-3 Gigabit Ethernet, scheda grafica ATI HD 3450, Intel ICH10 bridge. Abbiamo più macchine come questa, ognuna mostra lo stesso comportamento. Pensavo che fosse eccessivo per una workstation, apparentemente mi sbagliavo.

Aggiornamento: suppongo che non avrei dovuto menzionare affatto HyperV. La configurazione di cui sopra è una configurazione di workstation standard presso l'azienda per cui lavoro, questo non è un server di alcun tipo. Ho al massimo 3 macchine virtuali funzionanti e di solito sono l'unica persona ad accedervi. Tuttavia, il rallentamento si verifica anche quando non sono in esecuzione VM. Su una macchina Linux farei semplicemente ioniceil processo di copia e potrei dimenticarmene, c'è un modo per gestire le priorità di I / O su Windows?


Che tipo di processore stai usando? Che tipo di sottosistema del disco stai accedendo e quale modello?
Hyppy,

Aggiornato la mia domanda con i dettagli.
skolima,

Qualche antivirus in esecuzione?
Hyppy

No. Il server è fondamentalmente solo un host HyperV. Sì, sono sicuro al 100% che non sia infetto da nulla. No, le macchine virtuali non sono occupate.
skolima,

Giusto per essere chiari, le copie dei file avvengono all'esterno delle macchine virtuali? Ho usato una configurazione abbastanza simile alla tua senza problemi per scopi di laboratorio di prova. Ovviamente non ti aspetti prestazioni di livello server, ma funziona. Tuttavia, il nostro carico richiede più CPU che IO. :)
Jeremy,

Risposte:


7

Utilizzando un server come desktop ... è installato un driver per scheda video sofisticato? (solo un suggerimento)

http://blogs.msdn.com/b/virtual_pc_guy/archive/2009/11/16/understanding-high-end-video-performance-issues-with-hyper-v.aspx

Aggiornamento: su un i7 con supporto SLAT o EPT, puoi fare qualcosa del genere {solo per VM} tramite RemoteFX. Ma l'esecuzione di Aero sull'host può ancora peggiorare le prestazioni.


1
Configurazione a doppio monitor, ATI Radeon (abbastanza decente) - questa potrebbe essere una buona cattura, lo esaminerò.
skolima,

2
Avevi ragione! Il "Virtual TLB Flush Entries / sec" spara attraverso il tetto quando inizia un lavoro di copia. Ottima cattura, peccato che significhi che dobbiamo sostituire il nostro hardware.
skolima,

Fantastico, sorta! Suggerirei solo di verificare che i problemi di prestazioni siano risolti se si avvia con la modalità VGA per un test rapido. (non divertente, lo so)
TristanK,

2

Sono propenso a ciò che accade se si esegue un server hyper-v su hardware inadeguato. Ho avuto lo stesso sui sistemi di workstation riproposti in cui il budget IO del disco ard era nella parte inferiore.

Da quando mi sono trasferito su un vero e proprio controller di raid su un server più robusto, riesco a copiare quella roba a velocità che ho trovato incredibile prima (centinaia di megabyte al secondo, mentre altre cose accadono). L'unico problema è quando circa 10 vm stanno facendo il loro mensile orgia di patch allo stesso tempo.

Suggerirei di verificare: * Tempo medio di risposta del disco, normalmente e durante le operazioni * Percentuale di occupato del disco.

Per ulteriori informazioni, inviare l'hardware completo: memoria, processore, sottosistema disco e layout.

** Aggiornare

Unità SATA: 320 GB e 1 TB

Devi essere pazzo scherzando per eseguire Hyper-V contro questo.

ecco alcune convigurazioni che ho.

  • Server di piccole dimensioni (16 GB di RAM, esegue una manciata di immagini): Adaptec 3405, 245 MB di riscrittura della cache della cache di cui è stato eseguito il backup, 3 dischi da 320 g di RAM. Questa è una cosa a basse prestazioni. Funziona bene. Hanno anche altri 4 dischi come archivio di file 8 perché li uso come doppi file server in una piccola installazione di sviluppo).
  • Server standard: 64 GB di RAM, uno in uso. Esegue 20-30 immagini. Ed eccoci qui: controller raid Adaptec 5805, RAM da 512 MB, backup della batteria, cache di riscrittura. 8 (!) Velociraptor da 10.000 giri / min, RAID 10.

ENTRAMBI (!) Hanno problemi quando si effettuano trasferimenti di file di grandi dimensioni quando IO ottiene le tasse, anche se quello più grande è limitato in rete quindi (1 gbit fino a 5 ore, quindi 4) e in generale la combinazione con il controller gestisce MOLTO bene la situazione.

Un sistema a 2 dischi - e 1 tb ovviamente non è un disco per le prestazioni, ma è fatto per le dimensioni - è semplicemente come correre una gara di formula 1 con una fiat panda. Controller di bordo a basso prezzo senza buffering significa che non è possibile neanche l'ottimizzazione IO. Quando la copia del tuo file ha successo, il budget del disco entra totalmente in questo. Potrebbero essercene rimasti alcuni per il sistema operativo, ma qualsiasi altra cosa ... whow.

Secondo gli standard moderni, questo è LOOOOOW end server o workstation decenti con molta CPU (8 GB di RAM è una workstation di fascia più alta). I dischi non sono di grado server. Questo non è qualcosa su cui metterei un hypervisor ad eccezione delle dimostrazioni. Hyper-V è come un database: ha bisogno di IO. Molti. Perché l'hypervisor uccide totalmente l '"accesso sequenziale" e lo trasforma in casuale, come qualsiasi altro database.

È necessario inserire le capacità IO appropriate. Oltre a una quantità sufficiente di RAM (se lo si utilizza), è possibile eseguire molto di più su di essi, per quanto riguarda la macchina virtuale - altrimenti la CPU è semplicemente totalmente inutilizzata. Spero che le tue VM siano ad alta intensità di CPU, altrimenti andranno sprecate.


+1 per "patch orgia"
BenGC

Non vi è alcun motivo per cui non è possibile eseguire hyper-v su questo finché ci sono aspettative appropriate
Jim B

;) E quelli migliori sono bassi con una tale scatola.
TomTom,

Questa è una workstation per utente singolo, non un server, ho aggiornato la domanda.
skolima,

Ancora bloccato. Assicurati di non avere evidenti errori di configurazione - MOLTO importante: forse il tuo reparto IT non era abbastanza intelligente da attivare NCQ. Le priorità IP di Windows non sono purtroppo configurabili a mia conoscenza.
TomTom,

1

Ho avuto un problema simile: Windows 2008, server VMware e un server di fascia bassa con unità SATA. Le prestazioni di rete e la copia locale di file di grandi dimensioni erano scadenti. Dopo aver indagato, ho scoperto che la modalità SATA era nell'IDE emulato nella configurazione del BIOS. Modificato in SATA nativo e le prestazioni sono leggermente aumentate. Tuttavia, le unità SATA non sono la migliore idea per la virtualizzazione. Tre vms e altre attività dall'host indicano che l'accesso alle unità sarà un collo di bottiglia.


0

È possibile provare a scaricare il maggior numero possibile di I / O su disco su una SAN esterna. (Un drobo farebbe abbastanza bene il lavoro) Sembra che l'host semplicemente non riesca a gestire la quantità di IO. Inoltre, potrebbe essere utile assicurarsi che i driver del chipset e del controller del disco siano installati e aggiornati.


0

Sembra che tu abbia 2 unità SATA e immagino che ci sia più attività sull'unità da 1 TB. Non hai detto che tipo di unità, ma sospetterei anche che non supportano NCQ (il che aiuterebbe un po '). Chiaramente hai un collo di bottiglia di IO. L'optiplex 960 come configurato non sarebbe in grado di gestire grandi carichi di I / O poiché credo che i 2 dischi condividano lo stesso bus (l'onboard è un moltiplicatore di porte). Si potrebbe provare l'acquisto di una scheda SATA aggiuntiva (il mio suggerimento http://www.newegg.com/Product/Product.aspx?Item=N82E16816318008&cm_re=pci_express_sata- -16-318-008- -Product) o qualcosa di simile. In passato ho provato a utilizzare i desktop come server e mi sono imbattuto in mal di testa simili al punto in cui ora prenderò solo un server economico. HP ha una serie ML 110 che parte da $ 400 (e questo con un core i3). I chipset server sono quasi sempre controller multilivello SATA.


0

È possibile esaminare le priorità di I / O utilizzando Resource Monitor. Ho anche trovato un thread con uno strumento per regolarli qui


0

Vorrei iniziare con l'installazione / esecuzione di Process Hacker . È come l'esploratore di processo ma meglio.

Avvia la copia di un file e quindi inizia l'ordinamento attraverso i dati visualizzati cercando qualcosa che sembra strano.

Strumenti -> File di paging - È enorme? Qual è stato il picco? Controlla explorer.exe facendo doppio clic su di esso in Process hacker e guarda la scheda Prestazioni. Ecco come appariva il mio durante la copia di una cartella VM (contenente diversi file vmdk di varie dimensioni).

Dai un'occhiata alla finestra in basso che mostra il mio I / O. Ho visto e visto che è sceso a zero quando ha finito ogni file.

L'utilizzo delle risorse di explorer.exe ha un picco?
Invece, un altro processo ha un picco? (es. scansione AV del processo di copia?)

Fai la stessa cosa su un altro sistema analogo e confronta i risultati.

Vengono utilizzati tutti i tuoi core?

Spero che Process Hacker ti dia una prospettiva aggiuntiva al problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.