Homepage » come » Introduzione al Z File System (ZFS) per Linux

    Introduzione al Z File System (ZFS) per Linux

    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 sui tuoi dischi - quando hai bisogno di un "pool" di storage più grande, basta 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 http://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 http://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.

    Configurazione di ZFS

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

    $ sudo fdisk -l | errore grep 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:

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

    creare zpool è 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 pool di archiviazione 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 lista sudo zfs:

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

    Se vuoi vedere quali tre dischi hai selezionato per la tua piscina, puoi eseguire stato sudo zpool:

    Quello che abbiamo fatto fino ad ora è creare un pool di stripe dinamico da 9 TB (efficacemente, RAID 0). Nel caso non si abbia familiarità con ciò che 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 unico 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 distrugge 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, puoi usare RAID 6 (RAID-Z2 nel caso di ZFS) e avere una doppia parità.

    Per realizzare questo, possiamo usare lo stesso creare zpool comando come prima ma specificare raidz dopo il nome della piscina:

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

    Come potete vedere, df -h mostra che il nostro pool di 9 TB è stato ridotto a 6 TB, dal momento che 3 TB vengono utilizzati per conservare le informazioni di parità. Con il stato zpool 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 storage pool geek1 come un'altra configurazione RAID-Z:

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

    Finiamo con:

    La saga continua ...

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