ZFS - RAIDZ-1 è davvero così male?


18

Ho un server NAS con 4x unità WD RE4-GP da 2 TB in una configurazione RAID10 (utilizzabile da 4 TB). Sto esaurendo lo spazio (<1 TB di spazio utilizzabile rimasto). Ho $ 0 da spendere per unità / custodie più grandi / più.

Mi piace quello che ho letto sulle funzionalità di integrità dei dati di ZFS, che - da sole - mi bastano per passare dal mio RAID10 XFS (software) esistente. Poi ho letto dell'implementazione superiore di RAID5 di ZFS, quindi ho pensato di ottenere fino a 2 TB di spazio utilizzabile in più nell'affare usando RAIDZ-1.

Tuttavia, continuo a leggere di più e più messaggi dicendo praticamente a poco non usare mai raidz-1. Solo RAIDZ-2 + è abbastanza affidabile per gestire guasti dell'unità "mondo reale". Naturalmente, nel mio caso, RAIDZ-2 non ha alcun senso. Sarebbe molto meglio usare due vdev con mirroring in un singolo pool (RAID10).

Sono pazzo a voler usare RAIDZ-1 per unità 4x 2 TB?

Dovrei usare solo un pool di due vdevs mirrorati (essenzialmente RAID10) e sperare che la compressione mi dia spazio sufficiente?

Ad ogni modo, ho intenzione di utilizzare la compressione. Ho solo 8 GB di RAM (al massimo), quindi il dedup non è un'opzione.

Questo sarà su un server FreeNAS (che sta per sostituire l'attuale sistema operativo Ubuntu) per evitare i problemi di stabilità di ZFS-su-Linux.


Non sono sicuro di come sia fuori tema. Sto chiedendo consigli sulla corretta configurazione del file system per un server.
Andrew Ensley,

Anche la velocità di scrittura RAIDZ1or2 fa schifo rispetto a RAID10
JamesRyan il

2
Se hai abbastanza CPU per calcolare la parità senza rallentamento, RAIDZ dovrebbe essere altrettanto veloce o più veloce di RAID10 per la maggior parte delle scritture. RAIDZ scrive tutto in una striscia RAID completa, non esiste un ciclo di lettura-modifica-scrittura come con RAID5. Quindi otterrai più larghezza di banda del disco (più dati, meno sovraccarico) e le scritture dovrebbero essere più veloci di RAID10. Tuttavia, questo ha lo svantaggio che le letture spesso finiscono più lentamente. "Scrivere una riga intera ogni volta" porta alla frammentazione e non ti dà il vantaggio di leggere solo un sottoinsieme dei dischi per molte letture di piccole dimensioni. Questa è stata una decisione consapevole di progettazione.
Dan Pritts,

Ciò che ho detto sopra è vero solo in parte. RAID10 sarà molto più veloce se si hanno piccole scritture simultanee, ad esempio un server di database. In RAIDZ tutti i dischi sono attivi per tutte le scritture; RAID10 li divide. Il punto che stavo cercando di capire è che RAIDZ elimina il ciclo di lettura / modifica e scrittura potenzialmente pericoloso di RAID5.
Dan Pritts,

RAIDZ2 è più affidabile di RAID10. Con RAIDZ2, qualsiasi disco può fallire e avrai ancora i tuoi dati. Con RAID10, due dischi guasti (in un array a quattro dischi) possono causare la perdita di dati.
Klaws,

Risposte:


21

Prima di entrare nei dettagli, considera il tuo caso d'uso. Stai memorizzando foto, MP3 e DVD strappi? In tal caso, potrebbe non interessarti se perdi permanentemente un singolo blocco dall'array. D'altra parte, se si tratta di dati importanti, questo potrebbe essere un disastro.

L'affermazione che RAIDZ-1 non è "abbastanza buono per i fallimenti del mondo reale" è perché è probabile che si verifichi un errore di supporto latente su uno dei dischi sopravvissuti quando arriva il momento della ricostruzione. La stessa logica si applica a RAID5.

ZFS mitiga questo errore in una certa misura. Se un dispositivo RAID5 non può essere ricostruito, sei praticamente sfortunato; copia i tuoi (rimanenti) dati fuori e ricostruisci da zero. Con ZFS, d'altra parte, ricostruirà tutto tranne il pezzo difettoso e permetterà all'amministratore di "cancellare" gli errori. Perderai un file / parte di un file, ma non perderai l'intero array. E, naturalmente, il controllo di parità di ZFS significa che sarai informato in modo affidabile che c'è un errore. Altrimenti, credo che sia possibile (anche se improbabile) che più errori provochino una ricostruzione apparentemente riuscita, ma che ti restituirà dati errati.

Poiché ZFS è una " Violazione del livello dilagante ", sa anche quali aree non contengono dati e può saltarli nella ricostruzione. Quindi, se il tuo array è mezzo vuoto, hai la metà delle probabilità di avere un errore di ricostruzione.

È possibile ridurre la probabilità di questo tipo di errori di ricostruzione su qualsiasi livello RAID eseguendo regolarmente "scrub zpool" o "controlli mdadm" del proprio array. Esistono comandi / processi simili per altri RAID; ad esempio, le carte raid LSI / dell PERC chiamano questa "lettura di pattuglia". Questi vanno a leggere tutto, il che può aiutare le unità disco a trovare settori difettosi e a riassegnarli, prima che diventino permanenti. Se sono permanenti, il sistema RAID (ZFS / md / raid card / qualunque cosa) può ricostruire i dati dalla parità.

Anche se si utilizza RAIDZ2 o RAID6, gli scrub regolari sono importanti.

Un'ultima nota - RAID di qualsiasi tipo non sostituisce i backup - non ti proteggerà da cancellazioni accidentali, ransomware, ecc. Sebbene le normali snapshot ZFS possano far parte di una strategia di backup.


Grazie per questa spiegazione. Questo ha molto senso e si abbina a ciò che ho imparato finora su ZFS. In realtà ho già ricaricato il mio server con FreeNAS e sono andato con la configurazione RAIDZ-1. Ho impostato per scrub una volta al mese. Pensi che sia abbastanza spesso o consiglieresti scrub più frequenti? La dilagante violazione della stratificazione è la mia caratteristica preferita di ZFS :-)
Andrew Ensley,

1
Ho un raidz1 in esecuzione su 7 unità consumer di varie età. Lo scrub ogni 2 settimane. Trova spesso un errore e lo corregge. Recentemente ho perso un'unità e ho perso un file che aveva un errore latente. Fortunatamente, era un file multimediale che posso facilmente sostituire. Per i miei dati importanti, ovviamente, ho ancora dei backup.
Dan Pritts,

Sottolineo che le unità "home" hanno un tasso di errore bit irreversibile di 2 ordini di grandezza peggiore rispetto al grado "enterprise". Sono ancora abbastanza contento che il tasso di guasto composto su RAID-5 sia accettabile su unità FC / SAS decenti. Non lo farei su SATA però.
Sobrique,

1
Solo un ordine di grandezza rispetto a due unità Seagate: Seagate ST2000DM001: 1 in 10E14. ST2000NM0033: 1 in 10E15. Davvero, però, difficile dire con certezza se i meccanismi di azionamento sono diversi. Ho sentito fonti credibili dare risposte opposte.
Dan Pritts,

2
Ho scoperto un cavo SATA difettoso sul mio sistema: da quando è stato sostituito, i miei scrub hanno riscontrato zero errori.
Dan Pritts,

4

C'è un po 'di un'idea sbagliata al lavoro qui. Molti dei consigli che stai vedendo si basano su un presupposto che potrebbe non essere vero. In particolare, il tasso di errore di bit irrecuperabile dell'unità.

Un disco 'home user' economico ha un tasso di errore irreversibile 1 per 10 ^ 14.

http://www.seagate.com/gb/en/internal-hard-drives/desktop-hard-drives/desktop-hdd/#specs

Questo è a un livello in cui stai parlando di una probabilità significativa di un errore irreversibile durante una ricostruzione RAID, e quindi non dovresti farlo. (Un calcolo rapido e sporco suggerisce che il set RAID-5 di dischi 5x 2TB avrà una probabilità di circa il 60% di questo)

Tuttavia, questo non è vero per le unità più costose: http://www.seagate.com/gb/en/internal-hard-drives/enterprise-hard-drives/hdd/enterprise-performance-15k-hdd/#specs

1 per 10 ^ 16 è 100x migliore, il che significa che 5x 2TB hanno una probabilità <1% di ricostruzione non riuscita. (Probabilmente meno, perché per l'uso aziendale, i mandrini da 600 GB sono generalmente più utili).

Quindi personalmente - penso che sia RAID-5 che RAID-4 siano ancora utilizzabili in modo eminente, per tutti i motivi RAID-0 è ancora abbastanza comune. Non dimenticare: il problema con RAID-6 è la pesante penalità di scrittura. Puoi mitigarlo parzialmente con un sacco di memorizzazione nella cache, ma hai ancora un po 'di dolore incorporato, soprattutto quando lavori con unità lente in primo luogo.

E, fondamentalmente, non fidarti MAI MAI del tuo RAID per darti piena resilienza. Perderai i dati più spesso a causa di "guasti" rispetto a guasti di un'unità, quindi AVETE BISOGNO di una strategia di backup decente se vi preoccupate comunque dei vostri dati.


Sto usando 4 unità WD RE4-GP, che hanno <1 in 10 ^ 15 errori di lettura non recuperabili.
Andrew Ensley,

La penalità di scrittura RAID6 è molto reale. Tuttavia, RAID-Z2 non ne soffre; zfs rende tutte le scritture a banda intera. Ciò ha altri effetti negativi, tuttavia: tende a ridurre le prestazioni di lettura per diversi motivi.
Dan Pritts

3

Hmmm, alcune cattive informazioni qui. Per 4 dischi, non c'è davvero niente di sbagliato in XFS. Tendo a evitare ZFS RAIDZ per motivi di prestazioni ed espandibilità (letture / scritture basse, non è possibile espandere). Usa i mirror ZFS se puoi. Tuttavia, con 4 dischi e nessun posto dove posizionare il tuo sistema operativo, perderai molta capacità o dovrai passare attraverso strani giochi di partizionamento per adattare il tuo sistema operativo e i tuoi dati agli stessi quattro dischi.

Probabilmente non consiglierei ZFS per il tuo caso d'uso. Non c'è niente di sbagliato in XFS qui.


2
Hai dimenticato di dire che il sistema operativo vive su un'unità separata. Scusa. Quello che desidero da ZFS che XFS RAID10 non abbia è la verifica dei dati di checksum in grado di rilevare (e correggere in modo trasparente) errori di dati silenziosi (un po 'capovolti sull'unità e l'HDD non ne ha idea). Non credo che XFS sia in grado di farlo.
Andrew Ensley,

Per quattro dischi, utilizzare i mirror ZFS se esiste la possibilità di espandere o se le prestazioni sono importanti. Eviterei anche FreeNAS e utilizzerei semplicemente ZFS su Linux.
ewwhite,

1
Anch'io sono un ragazzo terminale, quindi sicuramente non passerò alla GUI. Principalmente, ho solo bisogno di un file system stabile che (per quanto possibile) garantisca l'integrità dei file memorizzati su di esso. E speravo di guadagnare un po 'di spazio nel processo. Ho visto molti problemi segnalati per ZoL, molti dei quali relativi agli aggiornamenti del sistema operativo Ubuntu. groups.google.com/a/zfsonlinux.org/forum/#!searchin/zfs-discuss/… Non cercare di essere un dolore. Spiegando solo perché penso quello che penso. Sono certamente aperto alla correzione.
Andrew Ensley,

1
Va bene. Ho visto molti più problemi con FreeNAS (non FreeBSD), quindi va in entrambe le direzioni. Ci sono informazioni là fuori. Io non uso Ubuntu, ma io non so ZFS . Il mio ZFS su Linux di solito è con RHEL o CentOS. Ecco un flusso di lavoro di esempio .
ewwhite,

1
Uso ZFS su Linux e Centos 6. Non autorizzo gli aggiornamenti automatici del kernel o di ZFS. Ho avuto problemi con il borking ZFS / SCL, ma non ho mai avuto perdita di dati. Per la cronaca, tra l'altro, FreeBSD ha un insieme simile di routine di compatibilità con Solaris, ma loro e ZFS sono completamente integrati nella distribuzione, il che rende molto più semplice far funzionare tutto insieme. Se avessi voluto solo ZFS e il servizio file, probabilmente avrei eseguito FreeBSD. In effetti, è quello che facevo, ma uso la scatola per altre cose casuali, il che ha reso ZoL più attraente.
Dan Pritts,
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.