ZFS è un file system combinato e un gestore di volumi logici che offre funzionalità simili a raid con integrità dei dati e gestione dello storage semplificata. Ti consente di archiviare e gestire una grande quantità di dati. È stato creato per la prima volta da Sun Microsystems e ora fa parte del progetto OpenZFS. Ora è stato portato su sistemi operativi aggiuntivi tra cui FreeBSD, Linux e Mac OSX. Lo storage pool ZFS può gestire una grande quantità di dati che ti offre l'estensione della tua soluzione cloud in loco.
In questo articolo, ti mostreremo come installare ZFS e come configurare uno storage pool ZFS. Ma prima di passare attraverso la procedura, diamo un'occhiata alle sue caratteristiche:
Caratteristiche di ZFS
Alcune delle caratteristiche di ZFS sono le seguenti:
- Archiviazione in pool
- Open-source
- Copia su scrittura
- crittografia
- Istantanee
- Controllo continuo dell'integrità
- Compressione dati efficiente
- Verifica dell'integrità dei dati e riparazione automatica
Useremo Ubuntu 18.04 LTS per descrivere la procedura menzionata in questo articolo.
Installazione di ZFS su Ubuntu
Per installare ZFS su Ubuntu 18.04 LTS, avvia il Terminale premendo Ctrl+Alt+T e quindi digita il seguente comando al suo interno:
$ sudo apt install zfsutils-linux
Attendi qualche istante fino al completamento dell'installazione.
Per verificare l'installazione, eseguire il seguente comando in Terminale:
$ whereis zfs
Vedrai l'output simile al seguente.
Creazione di uno storage pool ZFS
Dopo l'installazione, creeremo un pool di unità. Il primo passaggio durante la creazione di uno storage pool ZFS è sapere quale tipo di pool si desidera creare. Quindi decidi quali unità inserire nel pool di archiviazione.
1. Seleziona il tipo di pool ZFS
Esistono due tipi di pool che puoi creare:
Piscina a strisce
In un pool con striping, la copia dei dati viene archiviata su tutte le unità. Puoi ottenere uno spazio di archiviazione combinato e una maggiore velocità di lettura/scrittura. Tuttavia, se un'unità si guasta, perderai tutti i tuoi dati.
Piscina a specchio
In un pool con mirroring, una copia singola e completa dei dati viene archiviata su tutte le unità. Se un'unità si guasta, puoi comunque accedere ai tuoi dati.
2. Seleziona le unità per il pool
Ora dobbiamo identificare quali unità sono disponibili sul nostro sistema per il pool. Per scoprire le unità, esegui il seguente comando in Terminale:
$ sudo fdisk –l
Dall'output del comando fdisk, annota i nomi delle unità che dovrebbero essere qualcosa come sda, sdb, sdc.
Nel nostro scenario, abbiamo due unità disponibili che sono sdb e sdc. Userò queste due unità per creare un pool di archiviazione.
3. Creazione del pool
Dopo aver deciso il tipo di pool e le unità che devono essere raggruppate, il passaggio successivo consiste nel creare un pool dal set di unità sopra utilizzando il comando zpool disponibile in Linux che viene utilizzato per configurare i pool di archiviazione in ZFS.
Per creare un pool con striping, esegui il seguente comando in Terminale:
$ sudo zpool create <pool_name> <drive1> <drive2>
Per creare un pool con mirroring, esegui il seguente comando in Terminale:
$ sudo zpool <pool_name> mirror <drive1> <drive2>
È possibile creare qualsiasi pool a seconda dei requisiti di archiviazione. Creeremo un pool con mirroring usando il comando precedente:
Dopo aver creato il pool, puoi verificare lo stato dettagliato di zpool utilizzando il seguente comando:
# zpool status
Per visualizzare lo stato di integrità del pool e l'utilizzo dello spazio, utilizzare il comando seguente in Terminale. Questo comando mostra anche i dischi selezionati per il pool di archiviazione. Puoi aggiungere più unità in un secondo momento per aumentare ulteriormente la ridondanza.
$ zpool list
Ora esegui df –h , noterai che il pool appena creato viene montato automaticamente nel punto di montaggio.
Il pool appena creato ha una dimensione di 1,9 G ed è montato nel punto di montaggio predefinito /new-pool . Se lo desideri, puoi modificare il punto di montaggio utilizzando la seguente sintassi:
$ sudo zfs set mountpoint=<path> <pool_name>
Ad esempio, vogliamo impostare /usr/share/pool come nuovo punto di montaggio. useremo il seguente comando per questo scopo:
$ sudo zfs set mountpoint=/usr/share/pool new-pool
Per verificare se il punto di montaggio è stato modificato correttamente, utilizza df -h comando
Dai risultati precedenti, puoi vedere che il punto di montaggio è cambiato correttamente nel nuovo punto di montaggio /usr/share/pool ..
Ora che lo storage pool è stato creato, creeremo ora set di dati e manterremo tutto all'interno di questi set di dati. Questi set di dati sono come directory e hanno un punto di montaggio.
Per creare set di dati, esegui il seguente comando in Terminale:
$ sudo zfs create <pool_name>/directory_name
Ad esempio, voglio creare un set di dati denominato docs sotto il mio pool di archiviazione. Userò il seguente comando:
$ sudo zfs create new-pool/docs
I set di dati che abbiamo appena creato verranno automaticamente montati con il nome /new-pool/docs nel punto di montaggio /usr/share/pool che possiamo visualizzare usando il df -h comando.
$ df -h
Rimozione di un pool ZFS
Se desideri rimuovere il pool, puoi utilizzare il comando zpool destroy come mostrato di seguito:
# zpool destroy pool_name
Questo è tutto ciò di cui avevamo bisogno per configurare un pool di archiviazione ZFS in Ubuntu 18.04 LTS. Ora puoi iniziare a memorizzare i tuoi file nel pool appena creato. È un file system fantastico e potente che puoi utilizzare quando lavori con un sacco di spazio di archiviazione.