Il filesystem ZFS sta ottenendo un riconoscimento più ampio su Linux.
In ZFS, puoi abilitare la compressione a livello di filesystem. Questo memorizzerà i dati in formato compresso, risparmiando molto spazio su disco.
In questo articolo spiegheremo come creare il filesystem dal pool di archiviazione ZFS e abilitare la compressione su ZFS.
Questo è il secondo articolo della serie di filesystem ZFS.
Nella prima parte di questa serie, abbiamo spiegato i fondamenti di ZFS e come installare ZFS su Linux. Abbiamo anche creato un pool ZFS.
Crea filesystem ZFS
Innanzitutto, visualizza tutti i filesystem ZFS correnti usando il comando zfs list come mostrato di seguito. In questo esempio, abbiamo attualmente un filesystem ZFS.
# zfs list NAME USED AVAIL REFER MOUNTPOINT mypool 296K 5.84G 30K /mypool
Ora, crea un nuovo filesystem ZFS usando il comando zfs create.
# zfs create mypool/fs1
Come vediamo di seguito, il nuovo filesystem ZFS è ora creato correttamente.
# zfs list NAME USED AVAIL REFER MOUNTPOINT mypool 170K 5.84G 30K /mypool mypool/fs1 30K 5.84G 30K /mypool/fs1
Imposta preventivo e prenotazione ZFS
Quando crei un filesystem ZFS, per impostazione predefinita consuma tutto lo spazio nel pool. Quindi, devi specificare una quota e una prenotazione per il filesystem.
Per impostare un preventivo, utilizzare il comando zfs set come mostrato di seguito. Qui stiamo specificando la quota come 1 GB per questo filesystem.
# zfs set quota=1G mypool/fs1
Quindi, imposta la prenotazione per il filesystem. In questo esempio, fs1 è riservato a 256 milioni su 5,59 G in modo che nessuno possa utilizzare questo spazio e può anche estendersi fino a 1 G in base alla quota che abbiamo impostato se è disponibile spazio libero.
# zfs set reservation=256M mypool/fs1 # zfs list NAME USED AVAIL REFER MOUNTPOINT mypool 256M 5.59G 32.5K /mypool mypool/fs1 30K 1024M 30K /mypool/fs1
Crea un punto di montaggio alternativo ZFS
Invece di montarlo usando il nome "mypool/fs1", puoi anche impostare un punto di montaggio alternativo con qualsiasi nome desideri per un filesystem.
Ad esempio, il comando seguente imposterà il punto di montaggio come "/testmnt", invece di "mypool/fs1".
# zfs set mountpoint=/testmnt mypool/fs1
Come vediamo dal seguente output, la prima colonna NAME indica il vero nome del filesystem ZFS. L'ultima colonna MOUNTPOINT indica il punto di montaggio alternativo che abbiamo creato sopra.
# zfs list NAME USED AVAIL REFER MOUNTPOINT mypool 256M 5.59G 32.5K /mypool mypool/fs1 30K 1024M 30K /testmnt
Quando esegui il comando df, vedrai il punto di montaggio alternativo come mostrato di seguito.
# df -h Filesystem Size Used Avail Use% Mounted on .. mypool 5.6G 128K 5.6G 1% /mypool mypool/fs1 1.0G 128K 1.0G 1% /testmnt
Abilita compressione su filesystem ZFS
Per impostare la compressione su un set di dati ZFS, puoi impostare la proprietà di compressione come mostrato di seguito. Una volta impostata questa proprietà, tutti i file di grandi dimensioni archiviati su questo filesystem ZFS verranno compressi.
# zfs set compression=lzjb mypool/fs1
Di seguito sono riportate le proprietà di compressione valide:
- acceso
- spento
- lzjb
- zip
- gzip[1-9]
- zle
Puoi anche abilitare la compressione su un filesystem esistente. In tal caso, la compressione verrà applicata solo ai dati nuovi e modificati; e tutti i dati esistenti rimarranno non compressi.
Verifica compressione ZFS
Nell'esempio seguente, abbiamo copiato il file tar 61M nel filesystem ZFS mypool/fs1 montato in /testmnt.
# ls -lh /testmnt/test.tar -rw-r--r--. 1 root root 61M Nov 11 09:44 /testmnt/test.tar
Se osservi la dimensione totale dello spazio USED dal comando zfs list, vedrai che sono stati consumati solo 20,9 milioni di spazio, il che indica che la compressione è attiva e funzionante.
# zfs list NAME USED AVAIL REFER MOUNTPOINT mypool 256M 5.59G 32.5K /mypool mypool/fs1 20.9M 1003M 20.9M /testmnt
Puoi anche ottenere il rapporto di compressione usando il seguente comando.
# zfs get compressratio mypool/fs1 NAME PROPERTY VALUE SOURCE mypool/fs1 compressratio 2.90x -
Oltre alla compressione, il filesystem ZFS ha diverse funzionalità avanzate. Nel prossimo articolo della serie ZFS, parleremo di come acquisire cloni e snapshot ZFS.