Cos'è Raid-Z?

Cos'è Raid-Z?
I file system sono più vecchi di UNIX stesso. E da quando abbiamo iniziato a digitalizzare le nostre vite su nastri, dischi e SSD una minaccia è stata eminente. Questo è di errore hardware. I dati archiviati sui dischi sono spesso più costosi dei dischi stessi e questi dati necessitano di tutta la ridondanza che possiamo raccogliere.

Raid-Z è uno degli strumenti più belli che garantirebbe che i tuoi dati vivino il più possibile errori anche sulla raccolta più economica di dischi. Fa parte di OpenZFS. Puoi capire le basi di OpenZFS in questo breve articolo se non ne hai mai sentito parlare prima. È un file system open source, di grado aziendale disponibile su Linux, FreeBSD, Mac OS X, Smartos, Illumos e altri principali operazioni.

Ma prima ... cosa è raid?

RAID sta per una serie ridondante di dischi indipendenti (economici). Ciò si riferisce alla pratica del settore dell'archiviazione di dati non solo su un disco ma attraverso più dischi in modo che anche quando c'è un fallimento del disco i dati possono essere ricostruiti da altri dischi. Il modo in cui i dati vengono distribuiti nei dischi è diverso per diversi tipi di licenziamenti di conseguenza, sono nominati raid 0, raid 1, ecc. Non ci occuperemo di loro qui. Ci concentreremmo su un raidz specifico per OpenZFS.

RAID (e anche RAID-Z) non è lo stesso della scrittura di copie di dati su un disco di backup. Quando si dispone di due o più dischi impostati in raid, i dati vengono scritti contemporaneamente e tutti i dischi sono attivi e online. Questo è il motivo per cui RAID è diverso dai backup e, soprattutto, perché Il raid non è un sostituto dei backup. Se l'intero server si esaurisce, tutti i dischi online potrebbero andare con il server, ma i backup salveranno la giornata. Allo stesso modo, se c'è un fallimento del disco singolo e qualcosa non è stato eseguito il backup, perché non puoi farlo ogni giorno, allora RAID può aiutarti a recuperare tali informazioni.

I backup sono periodicamente presi copie di dati pertinenti e RAID è una ridondanza in tempo reale. Esistono diversi modi in cui i dati sono archiviati nei sistemi RAID tradizionali, ma non ci entreremo qui. Qui ci tuffiamo in profondità in Raidz che è una delle caratteristiche più belle di OpenZFS.

Un'ultima cosa prima di iniziare, il raid tradizionale a volte incoraggia l'uso di dispositivi hardware dedicati a fare il raid. Questo lascia il sistema operativo e il file system inconsapevoli dei meccanismi RAID in atto. Ma spesso la scheda raid (l'hardware dedicato) incontra un fallimento lasciando l'intero array di disco essenzialmente inutile.

Per evitare questo, Devi sempre provare a utilizzare OpenZFS senza alcun controller RAID hardware.

RAID-Z1, RAID-Z2, RAID-Z3

ZFS combina le attività di Volume Manager e File System. Ciò significa che è possibile specificare i nodi del dispositivo per i tuoi dischi durante la creazione di un nuovo pool e ZFS li combinerà in un pool logico e quindi puoi creare set di dati per usi diversi come /home, /usr, ecc.

L'impostazione di RAID-Z richiederebbe almeno 3 o più dischi. Non puoi usare meno di tre dischi. Il provider di archiviazione può essere qualcos'altro troppo collegato in rete, dispositivo a blocchi virtuali, ecc.

I tre dischi possono essere combinati in un dispositivo virtuale (VDEV). Questo è il blocco di costruzione di uno Zpool. Se stai iniziando con solo 3 dischi, hai 1 VDEV nel tuo ZPool. Puoi avere 2 VDEV con 6 dischi e così via.

Supponiamo di avere un file da 1 GB che vuoi archiviare su questo pool. Raid-Z lo divide in due pezzi pezzi di 512 MB e quindi esegue un'operazione matematica tra loro che genera un terzo pezzo di 512 MB (chiamato Blocco di parità). I tre blocchi vengono quindi scritti in tre VDEV separati. Quindi il file finisce per prendere 1.5 GB di spazio in totale.

Il vantaggio è tuttavia che, se uno dei discorsi fallisce, dice che il primo pezzo è perso, quindi il secondo pezzo e il blocco di parità possono essere usati ricreare il primo. Allo stesso modo, se il secondo pezzo è perso, il primo e il terzo possono essere usati per ricreare il secondo.

I tuoi file utilizzano il 50% in più di spazio del necessario, ma puoi resistere al fallimento di un disco per VDEV. Questo è Raid-Z1.

Ma una piscina ZFS può crescere e alla fine avrai bisogno di più spazio. Bene, non puoi aggiungere più dischi direttamente a un VDEV (quella funzionalità è proposta e potrebbe benissimo essere in fase di sviluppo in questo momento). Tuttavia, puoi aggiungere un VDEV. Ciò significa che è possibile aggiungere dischi in set di tre e trattare ogni nuovo set come un singolo VDEV logico.

Ora puoi tollerare un singolo fallimento del disco in questo nuovo VDEV e un singolo fallimento del disco in quello più vecchio. Ma se più di un disco fallisce all'interno di un singolo VDEV, non è recuperabile. L'intera piscina è resa inutile anche i VDEV più sani.

Questo è un modello davvero troppo semplificato. I file non sono mai divisi esattamente a metà ma i dati vengono trattati come blocchi di lunghezze fisse. Inoltre, è possibile utilizzare più di 3 dischi (ma 3 è il minimo) per VDEV e RAID-Z1 assicurerà che ogni blocco unico di dati sia scritto in modo tale da poter recuperare dal fallimento di ogni singolo disco in per VDEV. Per fortuna, non devi preoccuparti di questi dettagli interni. Questa è la responsabilità di ZFS. Una volta configurato il pool, i dati vengono automaticamente diffusi su di esso nel modo più ottimale.

La tolleranza al fallimento è ancora limitata a un fallimento del disco per VDEV. Per andare oltre questo dobbiamo andare a Raid-Z2. RAID-Z2 funziona in modo simile ma crea due blocchi di parità e due blocchi di dati da un singolo pezzo di informazione. Ciò gli consente di resistere a 2 guasti del disco per VDEV. Anche un VDEV deve avere almeno 4 dischi se sta per implementare una configurazione RAID-Z2.

Allo stesso modo, RAID-Z3 richiede almeno 5 dischi per VDEV e può resistere al fallimento di 3 di essi. RAID-Z3 non è così efficiente dello spazio come RAID-Z2, il che non è così efficiente in termini di spazio come RAID-Z1.

Conclusione

Con RAID-Z vediamo un compromesso tra lo spazio utilizzabile offerto dai singoli dischi e l'affidabilità che la raccolta di tali dischi può offrire. Con un numero maggiore di dischi, la probabilità di più dischi che fallisce simultaneamente aumenta anche.

Il modo migliore per contrastarlo è l'utilizzo di un'efficace strategia RAID-Z che offre affidabilità e il miglior divieto per il tuo dollaro. Facci sapere se hai trovato utile questo tutorial o se hai domande per quanto riguarda Raid-Z!