Per RAID o non per RAID: SSD e virtualizzazione


8

Mi sto avvicinando a quel momento in cui il mio PC principale ha rallentato abbastanza a causa del marciume di Windows che probabilmente dovrei reinstallare. Invece di trascorrere una settimana di braccio di ferro, la reinstallazione e la configurazione solo per scoprire che ho dimenticato di eseguire il backup delle impostazioni di Visual Studio , ancora una volta , ho intenzione di aggiornare. Ho già acquistato tutte le parti e sono in procinto di effettuare il benchmarking per trovare la migliore configurazione.

Ho acquistato due SSD Crucial M4 da 120 GB (aggiornati all'ultimo firmware nell'aprile '12:) 00Fe ho eseguito alcuni rapidi benchmark utilizzando CrystalDiskMark . Ecco alcuni risultati:

Unità singola:

Prestazioni a unità singola

RAID 0tramite controller per chipset Intel Z77 :

RAID 0

Questi benchmark ovviamente non sono esaustivi, ma penso che mi diano una buona idea di cosa aspettarsi tra le varie configurazioni.

La mia comprensione è che per i modelli di utilizzo più comuni, vale a dire lo sviluppo con Visual Studio (il mio utilizzo principale), le 4Kletture e le scritture sono molto più comuni, anche durante le build. Tra RAID 0e no, c'è poca differenza. Ma con 512Ke SequentialR / W, le differenze sono sufficienti per meritare attenzione.

Il fatto è che, al fine di evitare futuri problemi di marciume - e, francamente, perché posso - farò affidamento molto di più sulla virtualizzazione. Il mio piano è quello di segmentare diverse parti del mio ambiente di sviluppo in macchine virtuali utilizzando VMware Workstation : Visual Studio e strumenti di accompagnamento su uno, SQL Server su un altro, Adobe Design Suite su un altro ancora, ecc. Sfruttando le istantanee delle VM e la facilità con per creare o clonarne di nuovi, credo che vedrò un miglioramento dell'affidabilità a lungo termine (e vedrò sempre e soltanto i popup di aggiornamento di Adobe quando voglio).

Quindi, la mia domanda è: la virtualizzazione merita l'uso di una RAID 0configurazione SSD rispetto a una configurazione tradizionale (nel mio caso, SO e app bare metal su un SSD, VM sull'altro)? Sarà virtualizzazione sfruttare l' 512Ke SequentialR / W punti di forza di RAID 0?


Un'osservazione:

Ho letto che alcuni SSD moderni sono in grado di gestire la raccolta dei rifiuti da soli, quindi non avere TRIMè un problema minore. Non so come abilitarlo sui miei SSD o nemmeno vedere se lo supportano, comunque.


Modificare:

Per quanto riguarda il ripristino di emergenza, questo sistema ha anche unità disco standard di grandi dimensioni per l'archiviazione dei file e un controller RAID secondario che alla fine userò in un array con mirroring. In combinazione con backup locali notturni, backup off-site costante tramite Carbonite e check-in di controllo del codice sorgente off-site coerenti, ho i mezzi sufficienti per prevenire la perdita di dati.


1
Eviterei RAID 0 senza un piano di ripristino di emergenza completo, ma la virtualizzazione trarrà sicuramente vantaggio dalla velocità migliorata degli SSD in quella configurazione.

Buon punto. Ho dimenticato di menzionare che ho anche alcune unità standard a bordo e ho backup multi-head in loco e off-site. Quindi non sono completamente fregato se un'unità muore, ma questo è un buon punto perché ho dimenticato se un'unità in un array RAID 0 va, tutti i dati vengono persi.
Chad Levy,

1
Un altro possibile problema che potrebbe meritare una certa attenzione: l'esecuzione del RAID potrebbe richiedere che tutti gli I / O siano in unità con una dimensione di striping specifica. Le VM probabilmente non eseguiranno I / O allineati a queste dimensioni di striping e causerai un'enorme amplificazione della scrittura che può ridurre significativamente la durata delle unità.
Afrazier,

Risposte:


5

Innanzitutto, è noto che il codice di compilazione è in gran parte associato alla CPU, quindi non aspettatevi miglioramenti su un singolo SSD lì.

Nel tuo benchmark, sebbene le prestazioni della profondità della coda 0k a 4k non aumentino, la profondità della coda a 32k (QD32) a 4k aumenta praticamente in modo lineare. IMO, questo risultato dovrebbe guidare la tua decisione.

Anche se le stazioni di lavoro non sono server di database con profondità della coda costantemente elevate, le profondità della coda di 2-20 sono comuni almeno in raffica durante l'utilizzo di una stazione di lavoro semi-intensiva, nel qual caso l'IO casuale migliorerà effettivamente con RAID 0. Considerando che la VM aggiunge un ulteriore livello di attività del sistema operativo simultaneo (e alla fine potresti usare 2+ VM simultanee), penso che questa metrica dovrebbe migliorare le cose nel tuo scenario.

È possibile monitorare l'utilizzo della profondità della coda corrente nel Performance Monitor di Windows (Aggiungi contatore ... Disco fisico ... Profondità coda lettura / scrittura media) per farsi un'idea.

RAID aggiunge un livello di complessità (e problemi di backup / ripristino), ma avere una partizione più grande da 240 GB è sicuramente un IMO positivo. Verificare eventuali problemi TRIM prima di utilizzare RAID con le unità: potrebbe essere uno spettacolo.


Grandi informazioni, grazie. Per quanto riguarda il supporto TRIM, penso che TRIM funzioni, o almeno sia abilitato secondo fsutil. Windows abiliterebbe TRIM se i comandi non fossero passati attraverso l'interfaccia RAID?
Chad Levy,

1
Non sono troppo familiare (qui ho solo 1 SSD ..), ma credo che poiché i controller RAID non supportano TRIM, non vedrai mai un riferimento ad esso da nessuna parte. In altre parole, TRIM sarebbe disabilitato tecnicamente, quindi devi avere fiducia che il firmware del tuo SSD stia facendo una discreta gestione dei rifiuti internamente (non citarmi su questo però). Si noti che i driver Intel RST dovrebbero supportare RAID TRIM a volte nel 2012, se è quello che si sta utilizzando. Probabilmente seguiranno altri controller.
mtone,

3

La velocità del disco rigido è importante per le prestazioni generali di Visual Studio. Scott Guthrie lo tocca bene in questo post :

Le CPU multi-core sulle macchine sono diventate abbastanza veloci negli ultimi anni che negli scenari applicativi più comuni di solito non finisci per bloccare la capacità del processore disponibile nella tua macchina.

Quando si esegue lo sviluppo con Visual Studio, si finisce per leggere / scrivere molti file e dedicare molto tempo all'attività di I / O del disco. Grandi progetti e soluzioni potrebbero avere centinaia (o migliaia) di file di origine (tra cui immagini, CSS, pagine, controlli utente, ecc.). Quando si apre un progetto, Visual Studio deve leggere e analizzare tutti i file di origine in esso contenuti in modo da fornire intellisense. Quando vieni arruolato nel controllo del codice sorgente e verifichi un file, stai aggiornando i file e i timestamp sul disco. Quando si esegue una compilazione di una soluzione, Visual Studio verificherà l'assemblaggio aggiornato da più percorsi del percorso del disco, scriverà più nuovi assiemi su disco al termine della compilazione e persisterà i file dei simboli di debugger .pdb sul disco con loro (tutti come operazioni di salvataggio file separate).

Nella mia esperienza personale l'uso di un SSD mi ha aiutato molto, ma dato che una grande quantità di I / O su disco è probabilmente di piccole letture casuali, RAID 0 potrebbe non essere un grande miglioramento. L'altra cosa che potresti trovare è che l'I / O del disco virtuale consuma alcuni dei tuoi guadagni.


3

Intel Z77 supporta Trim con RAID ed è uno dei primi chipset a basso budget a farlo. Ma è necessario specificare nell'impostazione di archiviazione che si sta utilizzando un SSD.

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.