Introduzione al Z File System (ZFS) per Linux

Sommario:

Introduzione al Z File System (ZFS) per Linux
Introduzione al Z File System (ZFS) per Linux

Video: Introduzione al Z File System (ZFS) per Linux

Video: Introduzione al Z File System (ZFS) per Linux
Video: Come avere Microsoft OFFICE 365 GRATIS per SEMPRE Legalmente | Senza Crack o Licenze 2023 - YouTube 2024, Aprile
Anonim
ZFS è comunemente usato dagli accaparratori di dati, dagli amanti del NAS e da altri geek che preferiscono affidarsi a un sistema di storage ridondante, piuttosto che al cloud. È un ottimo file system da utilizzare per la gestione di più dischi di dati e rivaleggia con alcune delle migliori configurazioni RAID.
ZFS è comunemente usato dagli accaparratori di dati, dagli amanti del NAS e da altri geek che preferiscono affidarsi a un sistema di storage ridondante, piuttosto che al cloud. È un ottimo file system da utilizzare per la gestione di più dischi di dati e rivaleggia con alcune delle migliori configurazioni RAID.

Foto di Kenny Louie.

Che cos'è ZFS e perché dovrei usarlo?

Il file system Z è un gestore di volumi logici libero e open source creato da Sun Microsystems per l'utilizzo nel sistema operativo Solaris. Alcune delle sue caratteristiche più interessanti includono:

Scalabilità infinita

Bene, non lo è tecnicamente infinito, ma è un file system a 128 bit in grado di gestire zettabyte (un miliardo di terabyte) di dati. ZFS sarà adatto per la gestione di qualsiasi spazio su disco.

Massima integrità

Tutto ciò che fai all'interno di ZFS utilizza un checksum per garantire l'integrità dei file. Puoi essere certo che i tuoi file e le loro copie ridondanti non incontreranno corruzione silenziosa dei dati. Inoltre, mentre ZFS è occupato a controllare in silenzio i dati per l'integrità, eseguirà riparazioni automatiche in qualsiasi momento.

Drive pooling

I creatori di ZFS vogliono che tu pensi che sia simile al modo in cui il tuo computer usa la RAM. Quando hai bisogno di più memoria nel tuo computer, metti un altro stick e il gioco è fatto. Analogamente a ZFS, quando hai bisogno di più spazio su disco, inserisci un altro disco rigido e il gioco è fatto. Non è necessario dedicare tempo al partizionamento, alla formattazione, all'inizializzazione o a qualsiasi altra cosa per i propri dischi: quando è necessario un "pool" di archiviazione più grande, è sufficiente aggiungere dischi.

RAID

ZFS è capace di molti diversi livelli RAID, il tutto garantendo prestazioni paragonabili a quelle dei controller RAID hardware. Ciò consente di risparmiare denaro, semplificare la configurazione e accedere a livelli RAID superiori su cui ZFS è migliorato.

Installare ZFS

Dato che stiamo trattando solo le basi di questa guida, non installeremo ZFS come un file system di root. Questa sezione presuppone che si stia utilizzando ext4 o qualche altro file system e si desideri utilizzare ZFS per alcuni dischi rigidi secondari. Ecco i comandi per installare ZFS su alcune delle più popolari distribuzioni Linux.

Solaris e FreeBSD dovrebbero già essere installati con ZFS e pronti per l'uso.

Ubuntu:

$ sudo add-apt-repository ppa:zfs-native/stable $ sudo apt-get update $ sudo apt-get install ubuntu-zfs

Debian:

$ su - # wget https://archive.zfsonlinux.org/debian/pool/main/z/zfsonlinux/zfsonlinux_2%7Ewheezy_all.deb # dpkg -i zfsonlinux_2~wheezy_all.deb # apt-get update # apt-get install debian-zfs

RHEL / CentOS:

$ sudo yum localinstall --nogpgcheck https://archive.zfsonlinux.org/epel/zfs-release-1-3.el6.noarch.rpm $ sudo yum install zfs

Se hai qualche altra distribuzione, controlla zfsonlinux.org e fai clic sulla tua distribuzione sotto l'elenco "Pacchetti" per le istruzioni su come installare ZFS.

Continuando con questa guida, useremo Ubuntu perché sembra essere la scelta n. 1 per i geek di Linux. Dovresti comunque essere in grado di seguirti indipendentemente da cosa, dato che i comandi ZFS non cambieranno tra diverse distribuzioni.

L'installazione richiede un po 'di tempo, ma una volta finita, corri

$ sudo zfs list

per assicurarsi che sia installato correttamente. Dovresti ottenere un risultato come questo:

Al momento stiamo utilizzando una nuova installazione di server Ubuntu, con un solo disco fisso.
Al momento stiamo utilizzando una nuova installazione di server Ubuntu, con un solo disco fisso.
Image
Image

Configurazione di ZFS

Ora, diciamo che mettiamo altri sei dischi rigidi nel nostro computer.

$ sudo fdisk -l | grep Error

ci mostrerà i sei dischi rigidi che abbiamo appena installato. Attualmente sono inutilizzabili poiché non contengono alcun tipo di tabella delle partizioni.

Come accennato in precedenza, una delle cose carine di ZFS è che non dobbiamo preoccuparci delle partizioni (anche se è possibile se lo si desidera). Iniziamo prendendo tre dei nostri dischi rigidi e inserendoli in un pool di archiviazione eseguendo il seguente comando:
Come accennato in precedenza, una delle cose carine di ZFS è che non dobbiamo preoccuparci delle partizioni (anche se è possibile se lo si desidera). Iniziamo prendendo tre dei nostri dischi rigidi e inserendoli in un pool di archiviazione eseguendo il seguente comando:

$ sudo zpool create -f geek1 /dev/sdb /dev/sdc /dev/sdd

zpool create

è il comando utilizzato per creare un nuovo pool di archiviazione,

-f

sovrascrive eventuali errori che si verificano (ad esempio se il / i disco / i ha già informazioni su di essi),

geek1

è il nome del lotto di memoria e

/dev/sdb /dev/sdc /dev/sdd

sono i dischi rigidi che mettiamo in piscina.

Dopo aver creato il tuo pool, dovresti essere in grado di vederlo con il

df

comando o

sudo zfs list

:

Come puoi vedere, / geek1 è già stato montato ed è pronto per l'uso.
Come puoi vedere, / geek1 è già stato montato ed è pronto per l'uso.

Se vuoi vedere quali tre dischi hai selezionato per il tuo pool, puoi eseguire

sudo zpool status

:

Quello che abbiamo fatto finora è creare un pool di striping dinamico da 9 TB (efficacemente, RAID 0). Se non hai familiarità con ciò significa, immagina di aver creato un file di 3 KB su / geek1. 1 KB passerebbe automaticamente a sdb, 1 KB a sdc e 1 KB a sdd. Quindi, quando andiamo a leggere il file di 3 KB, ogni disco rigido presenterà 1 KB, combinando la velocità delle tre unità. Questo rende veloce la scrittura e la lettura dei dati, ma significa anche che abbiamo un singolo punto di errore. Se un solo disco rigido non funziona, perderemo il nostro file di 3 KB.
Quello che abbiamo fatto finora è creare un pool di striping dinamico da 9 TB (efficacemente, RAID 0). Se non hai familiarità con ciò significa, immagina di aver creato un file di 3 KB su / geek1. 1 KB passerebbe automaticamente a sdb, 1 KB a sdc e 1 KB a sdd. Quindi, quando andiamo a leggere il file di 3 KB, ogni disco rigido presenterà 1 KB, combinando la velocità delle tre unità. Questo rende veloce la scrittura e la lettura dei dati, ma significa anche che abbiamo un singolo punto di errore. Se un solo disco rigido non funziona, perderemo il nostro file di 3 KB.

Supponendo che proteggere i tuoi dati sia più importante dell'accesso rapido, diamo un'occhiata ad altre impostazioni popolari. Per prima cosa elimineremo lo zpool che abbiamo creato in modo da poter utilizzare questi dischi in una configurazione più ridondante:

$ sudo zpool destroy geek1

Bam, il nostro zpool è sparito. Questa volta, usiamo i nostri tre dischi per creare un pool RAID-Z. RAID-Z è fondamentalmente una versione migliorata di RAID 5, perché evita il "buco di scrittura" utilizzando la funzione copy-on-write. RAID-Z richiede un minimo di tre dischi rigidi ed è una specie di compromesso tra RAID 0 e RAID 1. In un pool RAID-Z, si otterrà comunque la velocità dello striping a livello di blocco, ma avrà anche parità distribuita. Se un singolo disco nel pool muore, è sufficiente sostituirlo e ZFS ricostruirà automaticamente i dati in base alle informazioni di parità degli altri dischi. Per perdere tutte le informazioni nel pool di archiviazione, due dischi dovrebbero morire. Per rendere le cose ancora più ridondanti, è possibile utilizzare RAID 6 (RAID-Z2 nel caso di ZFS) e avere una doppia parità.

Per realizzare questo, possiamo usare lo stesso

zpool create

comando come prima ma specificare

raidz

dopo il nome della piscina:

$ sudo zpool create -f geek1 raidz /dev/sdb /dev/sdc /dev/sdd

Come potete vedere,
Come potete vedere,

df -h

mostra che il nostro pool di 9 TB è stato ridotto a 6 TB, poiché 3 TB viene utilizzato per conservare le informazioni sulla parità. Con il

zpool status

comando, vediamo che il nostro pool è per lo più lo stesso di prima, ma ora utilizza RAID-Z.

Per mostrare quanto sia facile aggiungere più dischi al nostro pool di archiviazione, aggiungiamo gli altri tre dischi (altri 9 TB) al nostro pool di archiviazione geek1 come un'altra configurazione RAID-Z:

$ sudo zpool add -f geek1 raidz /dev/sde /dev/sdf /dev/sdg

Finiamo con:

Image
Image

La Saga continua …

Abbiamo appena raschiato la superficie di ZFS e le sue funzionalità, ma usando ciò che hai imparato in questo articolo dovresti essere in grado di creare pool di archiviazione ridondanti dei tuoi dati. Tornate con noi per i futuri articoli su ZFS, consultate le pagine man e cercate le infinite guide di nicchia e i video di YouTube che coprono le funzioni di ZFS.

Consigliato: