Configurare ZFS su Ubuntu 20.04
Una volta che avete finito di installare ZFS su Ubuntu 20.04, il prossimo passo è quello di fare qualche configurazione con i vostri dischi rigidi. Ci sono molte possibilità con ZFS, e quello che deciderete di fare dipenderà da quanti dischi avete a disposizione e quali sono i vostri obiettivi di archiviazione. Per esempio, preferite che il vostro array di archiviazione si concentri sulla velocità o sulla ridondanza? Avete 3 dischi o 20? E la crittografia?
Qualunque sia il tipo di configurazione che sceglierete, vi mostreremo come iniziare in questa guida. Continuate a leggere mentre copriamo i comandi di utilizzo di base in ZFS e l’impostazione di zpool, RAID-Z, crittografia e altro ancora.
In questo tutorial imparerete:
- Come installare ZFS su Ubuntu 20.04
- Come creare e distruggere zpools
- Configurare diversi livelli di RAID e RAID-Z
- Come usare la crittografia con ZFS
Categoria | Requisiti, convenzioni o versione software usata |
---|---|
Sistema | Installato o aggiornato Ubuntu 20.04 Focal Fossa |
Software | ZFS Utilities |
Altro | Accesso privilegiato al tuo sistema Linux come root o tramite il comando sudo . |
Convenzioni | # – richiede che determinati comandi linux siano eseguiti con privilegi di root o direttamente come utente root o tramite il comando sudo $ – richiede che i comandi linux dati siano eseguiti come un normale utente non privilegiato
|
Prequisiti
L’unica cosa di cui avete bisogno per iniziare con ZFS e seguire la nostra guida è Ubuntu 20.04 Focal Fossa, alcuni dischi rigidi che vorresti usare nel tuo array di archiviazione e le utility ZFS installate sul tuo sistema. Se non avete già installato ZFS, potete aprire un terminale e installare il pacchetto zfsutils-linux
con questi due comandi:
$ sudo apt update$ sudo apt install zfsutils-linux
Si può verificare che ZFS sia installato con il seguente comando nel terminale:
$ zfs --version
Uso e comandi di base di ZFS
Abbiamo alcuni hard disk nel nostro sistema di test che abbiamo intenzione di usare con ZFS. Ti mostreremo varie cose che puoi fare con loro in questa sezione.
Quando inserisci nuovi dischi rigidi nel tuo sistema, ZFS li indirizza con il loro nome di dispositivo – normalmente qualcosa sulla falsariga di /dev/sda
o simile. Puoi usare il comando fdisk
per vedere quali dischi rigidi hai a disposizione.
$ sudo fdisk -l
Crea e distruggi pool di archiviazione ZFS
ZFS funziona “mettendo insieme” dischi. Questi pool (comunemente chiamati “zpool”) possono essere configurati per vari livelli RAID.
Il primo zpool che vedremo è un RAID 0. Questo funziona facendo lo striping dei dati su più dischi. Quando un file viene letto o scritto nel pool di archiviazione, tutti i dischi lavoreranno insieme per presentare una parte dei dati. Questo vi offre un aumento della velocità di lettura e scrittura, ma non fa nulla per la ridondanza. Infatti, qualsiasi guasto al disco nel pool risulterà in una perdita completa dei dati.
$ sudo zpool create mypool /dev/sdb /dev/sdc
Questo comando ha creato uno storage pool ZFS chiamato “mypool” con due dischi rigidi, /dev/sdb
e /dev/sdc
. Puoi vedere i dettagli sui tuoi pool di archiviazione in qualsiasi momento eseguendo questo comando:
$ zpool status
E puoi vedere un rapporto più conciso dei tuoi pool di archiviazione ZFS eseguendo:
$ zpool list
Il vostro pool appena creato verrà montato automaticamente, e potrete iniziare ad usarlo subito. Una bella caratteristica di ZFS è che non è necessario passare attraverso un lungo processo di partizionamento (quando si usano dischi interi) o di formattazione. L’archiviazione è semplicemente accessibile da subito.
$ df -hT | grep zfs
Se vuoi aggiungere un altro disco fisso al pool, dai un’occhiata a questo comando dove aggiungiamo il disco fisso /dev/sdd
al nostro storage pool mypool
precedentemente creato:
$ sudo zpool add mypool /dev/sdd
Puoi vedere che il disco è stato aggiunto allo zpool con il comando zpool status
.
Possiamo distruggere il nostro zpool in qualsiasi momento con il seguente comando:
$ sudo zpool destroy mypool
Nel caso degli zpool RAID 0, non è possibile rimuovere alcun disco dal pool senza distruggere interamente il pool e perdere tutti i dati. ZFS ha molte opzioni diverse, alcune delle quali permettono la rimozione o il fallimento dei dischi mantenendo comunque l’integrità del pool.
Altri tipi di pool di archiviazione ZFS sono creati nello stesso modo che vi abbiamo mostrato sopra, ma è necessario fornire un argomento extra nel comando zpool
quando si crea il pool. Vediamo alcuni esempi.
Un pool di archiviazione speculare è l’equivalente di ZFS al RAID 1. Questo vi dà ridondanza perché tutti i vostri dati sono in mirroring da un disco rigido a uno o più altri. Per creare un pool di archiviazione con mirroring, usa la seguente sintassi di comando:
$ sudo zpool create mypool mirror /dev/sdb /dev/sdc
Naturalmente, più dischi possono essere aggiunti al pool per creare ulteriore ridondanza.
Ora diamo un’occhiata ai pool RAID-Z. RAID-Z è molto simile a RAID 5, ma lo migliora con una migliore velocità ed evitando alcuni degli errori comuni associati a RAID 5.
RAID-Z vi darà velocità più ridondanza usando lo striping a livello di blocco e la parità distribuita. Ci sono tre tipi di RAID-Z disponibili, a seconda di quanta parità vuoi.
- raidz1 (o solo raidz) – parità singola
- raidz2 – parità doppia
- raidz3 – parità tripla
Ecco come puoi creare un pool RAID-Z. Usa raidz2
o raidz3
al posto di raidz
in questo comando se vuoi più parità (tieni presente che in questo caso avrai anche bisogno di dischi aggiuntivi):
$ sudo zpool create mypool raidz /dev/sdb /dev/sdc /dev/sdd
Crittografia su ZFS
Dopo aver creato il tuo storage pool ZFS, puoi configurare la crittografia con i seguenti comandi. Per questo esempio, stiamo ancora usando il nostro pool RAID-Z a tre dischi chiamato mypool.
$ sudo zfs create -o encryption=on -o keylocation=prompt -o keyformat=passphrase mypool/encrypted
Ti verrà chiesto di inserire una passphrase due volte per la crittografia.
Una nuova directory viene creata sotto /mypool/encrypted
, e qualsiasi cosa in questa directory viene crittografata. Ogni volta che si riavvia, sarà necessario montare manualmente il set di dati criptati. Assicurati di usare il flag -l
quando monti set di dati criptati. Ti verrà richiesto di inserire la passphrase che hai scelto in precedenza.
$ sudo zfs mount -l mypool/encrypted
Conclusione
ZFS è un file system focalizzato su alta disponibilità e integrità dei dati. È perfetto per i server storage/NAS e qualsiasi ambiente in cui le velocità di lettura e scrittura sono cruciali insieme alla ridondanza del disco rigido.
In questa guida, abbiamo imparato alcuni comandi di utilizzo di base per ZFS in Ubuntu 20.04 Focal Fossa. Abbiamo mostrato come iniziare a configurare ZFS sul proprio sistema con zpools, ma la configurazione per ZFS può diventare molto più ampia.
.