L'HDD è ancora piuttosto preferito, ma perché?
Dipende da chi parli, dal loro background (gestione, IT, vendite, ecc.) E dal tipo di server a cui fa riferimento la discussione. Gli HDD sono generalmente di un ordine di grandezza meno costoso per byte, ma consumano più energia e sono quasi sempre più lenti, a seconda del carico di lavoro.
Quasi sempre si riduce ai costi e alla quantità di spazio di archiviazione che può essere inserita in un determinato numero di server. Se riesci a ottenere le prestazioni di un array raid a 5 dischi con un singolo SSD, l'SSD è probabilmente molto meno costoso e utilizza una frazione della potenza, ma otterrai anche 1/10 di spazio di archiviazione.
Quale è meglio per l'archiviazione attiva?
Qui è dove diventa complicato e perché molte persone salteranno la complicazione e andranno semplicemente con gli HDD che conoscono.
Gli SSD sono disponibili in diversi gradi con limiti sulla quantità di dati che possono essere scritti nelle celle, che NON è uguale alla quantità di dati scritti dall'host. Scrivere piccole quantità di dati finisce per scrivere grandi quantità nelle celle, questo si chiama amplificazione della scrittura e può uccidere rapidamente le unità con bassi livelli di resistenza.
Le celle SSD sono nominate per la quantità di bit che possono memorizzare, per memorizzare n-bit, hanno bisogno di 2 ^ n livelli di tensione per cella. Un TLC (triplo bit) richiede 8 livelli di tensione per indirizzare quei bit. In genere, ogni volta che si aumenta il livello di bit per cella, si ottiene un calo di 3-10 volte la durata della cella. Ad esempio , un'unità SLC può scrivere tutte le celle 100000 volte prima che le celle muoiano, eMLC aziendale 30000 volte, MLC 10000, TLC 5000, QLC 1000.
Ci sono anche miglioramenti generazionali nella tecnologia delle celle SSD, una migliore litografia e una NAND 3D migliorano la densità e le prestazioni rispetto alla vecchia NAND 2D, "La MLC di oggi è migliore della SLC di ieri", come citato dall'analista Jim Handy .
Gli SSD in realtà non scrivono direttamente nelle celle indirizzate, ma scrivono su blocchi di celle. In questo modo il blocco ha una quantità più consistente di scritture di celle e quando le celle non rientrano nella tolleranza l'intero blocco viene contrassegnato come non valido e i dati vengono spostati in un nuovo blocco. La resistenza SSD si basa sul tipo di cella, sul numero di blocchi di riserva disponibili, sull'overhead per la correzione degli errori e su come l'unità utilizza la cache e gli algoritmi per ridurre l'amplificazione della scrittura. Entra in gioco anche la tolleranza che il produttore sceglie di contrassegnare come non valido, un'unità aziendale contrassegnerà i blocchi come non validi rispetto a un'unità consumer, anche se una delle due è ancora perfettamente funzionante.
Gli SSD "high-write" di livello enterprise si basano su celle SLC o eMLC e dispongono di grandi quantità di blocchi di riserva e di solito dispongono di una cache di grandi dimensioni con condensatori per assicurarsi che la cache possa scaricarsi sul disco in caso di interruzione dell'alimentazione.
Esistono anche unità con resistenza molto inferiore per applicazioni "high-read" come file server che richiedono tempi di accesso rapidi, costano meno per byte al prezzo di resistenza ridotta, con diversi tipi di celle, meno area di riserva e così via, esse può avere solo il 5% della resistenza di un'unità "high-write", ma non è necessaria se utilizzata correttamente.
Ad esempio per il database, dove il disco è sempre attivo?
Il mio database è piccolo, con letture intermittenti pari al 95% di accesso e la maggior parte è memorizzata nella cache nella RAM, è quasi altrettanto veloce su un HDD che su un SSD. Se fosse più grande, non ci sarebbe abbastanza RAM sul sistema e l'SSD inizia a fare una grande differenza nei tempi di accesso.
Gli SSD rendono inoltre più rapidi i backup e gli ordini di ripristino di grandezza. Il mio DB è stato ripristinato dal backup in circa 10 minuti su un SSD lento, o circa 11 secondi su un disco veramente veloce, il backup su un HDD sarebbe stato di circa 25 minuti. Sono almeno 2 ordini di grandezza e ciò può fare una differenza enorme a seconda del carico di lavoro. Può letteralmente pagare da solo il primo giorno.
Database con enormi quantità di piccole scritture possono uccidere un'unità TLC di livello consumer nel giro di poche ore.
E gli SSD sono davvero utili per il server?
Assolutamente, se il tipo di unità e il grado corretti sono selezionati per l'applicazione, se lo fai in modo sbagliato può essere un disastro.
Il mio server esegue diversi database, oltre all'archiviazione di rete ad alta lettura, oltre all'archiviazione di filmati di sicurezza ad alta scrittura, oltre all'archiviazione di file di scrittura a lettura mista e al backup del client. Il server ha un array RAID-6 di HDD per l'archiviazione di rete di massa e NVR, un singolo SSD MLC ad alte prestazioni per MySQL e 3 unità TLC consumer in RAID-5 per backup di client e database e archiviazione di rete ad accesso rapido.
La velocità di scrittura sul RAID SSD è circa la stessa velocità del RAID HDD, ma la velocità di lettura ad accesso casuale è più di 10 volte più veloce sul RAID SSD. Ancora una volta si tratta di un SSD TLC consumer, ma poiché la velocità di scrittura sequenziale è circa 3 volte più veloce della LAN gigabit, non viene mai sovraccaricata e c'è un sacco di sovraccarico se il sistema esegue backup locali quando si accede da remoto.
La maggior parte degli SSD offre anche la cancellazione sicura istantanea (ISE) , che può cancellare i dati in pochi secondi, rispetto a molte ore o giorni per gli HDD che non dispongono di tale funzione, solo alcuni HDD di livello aziendale tendono ad offrire ISE, ma stanno diventando più comune. Questo è molto utile se si sta ritirando o ri-proponendo un'unità.
Qual è la migliore soluzione (filesystem) da scrivere?
Dipende dal tipo di dati e dai tipi di funzionalità del filesystem che desideri. Sto usando solo EXT4 e BTRFS (ho bisogno di istantanee e checksum). L'overhead del filesystem ridurrà lo spazio utilizzabile e può ridurre leggermente la durata degli SSD, BTRFS ha un overhead elevato per checksum e altre funzionalità e le snapshot useranno molto spazio.
In caso di guasto meccanico, non c'è modo di ripararlo (è giusto)?
Indipendentemente dal tipo di unità, hai mai dovuto eseguire il ripristino dei dati su un'unità non funzionante? Può essere molto costoso , è meglio avere un backup su più livelli, RAID sulla memoria principale, backup con versione locale su un dispositivo o macchina diverso, quindi sincronizzare con offsite o cloud. 1 TB di spazio di archiviazione cloud è di $ 5 al mese, il recupero dei dati su un HDD può costare 2 mila dollari e un SSD morto potrebbe essere impossibile da recuperare ... basta fare i backup e dimenticare la riparazione.