Come configurare uno storage pool ZFS su Ubuntu
ZFS è un file system combinato nonché un gestore di volumi logici che offre funzionalità simili a raid con integrità dei dati e gestione dello storage semplificata. Consente di archiviare e gestire una grande quantità di dati. È stato creato per la prima volta presso Sun Microsystems e ora fa parte del progetto OpenZFS. Ora è stato portato su altri sistemi operativi tra cui FreeBSD, Linux e Mac OSX. Il pool di archiviazione ZFS può gestire una grande quantità di dati che ti consente di estendere la tua soluzione cloud in loco.
In questo articolo ti mostreremo come installare ZFS e come configurare uno storage pool ZFS. Ma prima di passare alla procedura, diamo un’occhiata alle sue caratteristiche:
Caratteristiche di ZFS
Alcune delle funzionalità di ZFS sono le seguenti:
- Archiviazione in pool
- Open source
- Copia su scrittura
- crittografia
- Istantanee
- Controllo continuo dell'integrità
- Compressione efficiente dei dati
- Verifica dell'integrità dei dati e riparazione automatica
Utilizzeremo 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:
sudo apt install zfsutils-linux
Attendere qualche istante fino al completamento dell'installazione.
Per verificare l'installazione, eseguire il comando seguente nel Terminale:
whereis zfs
Vedrai l'output simile al seguente.
Creazione di un pool di archiviazione ZFS
Dopo l'installazione, creeremo un pool di unità. Il primo passo durante la creazione di un pool di archiviazione ZFS è sapere quale tipo di pool si desidera creare. Quindi decidere quali unità inserire nello storage pool.
1. Seleziona il tipo di pool ZFS
È possibile creare due tipi di pool:
Piscina a strisce
In un pool con striping, la copia dei dati viene archiviata su tutte le unità. Puoi ottenere spazio di archiviazione combinato e velocità di lettura/scrittura più elevate. Tuttavia, se un'unità si guasta, perderai tutti i tuoi dati.
Piscina con mirroring
In un pool con mirroring, su tutte le unità viene archiviata una copia singola e completa dei dati. Se un'unità si guasta, puoi comunque accedere ai tuoi dati.
2. Selezionare 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 nel 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 sono disponibili due unità: sdb e sdc. Utilizzerò queste due unità per creare un pool di archiviazione.
3. Creazione del pool
Una volta deciso il tipo di pool e le unità da raggruppare, il passaggio successivo consiste nel creare un pool dal set di unità sopra indicato utilizzando il comando zpool disponibile in Linux utilizzato per configurare i pool di archiviazione in ZFS.
Per creare un pool con striping, esegui il comando seguente nel Terminale:
sudo zpool create <pool_name> <drive1> <drive2>
Per creare un pool con mirroring, esegui il comando seguente nel Terminale:
sudo zpool <pool_name> mirror <drive1> <drive2>
Puoi creare qualsiasi pool in base ai tuoi requisiti di archiviazione. Creeremo un pool con mirroring utilizzando 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 nel Terminale. Questo comando mostra anche i dischi selezionati per il pool di archiviazione. È possibile 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 automaticamente montato nel punto di montaggio.
Il pool che hai 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. utilizzeremo 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, utilizzare il comando df -h
Dai risultati sopra, puoi vedere che il punto di montaggio è stato modificato correttamente nel nuovo punto di montaggio /usr/share/pool.
Ora che il pool di archiviazione è 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 comando seguente nel Terminale:
sudo zfs create <pool_name>/directory_name
Ad esempio, voglio creare un set di dati denominato docs nel mio pool di archiviazione. Utilizzerò il seguente comando:
sudo zfs create new-pool/docs
I set di dati che abbiamo appena creato verranno montati automaticamente con il nome /new-pool/docs nel punto di montaggio /usr/share/pool che possiamo visualizzare utilizzando il comando df -h.
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 uno storage pool ZFS in Ubuntu 18.04 LTS. Ora puoi iniziare a archiviare 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.