GNU/Linux >> Linux Esercitazione >  >> Linux

Come creare filesystem ZFS con compressione file su Linux

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.


Linux
  1. Come creare un filesystem su una partizione Linux o un volume logico

  2. Come creare un file ZIP protetto da password in Linux

  3. Come creare un file con una determinata dimensione in Linux?

  4. Come scrivere un file con C in Linux?

  5. Come posso creare un file casuale da 1 GB in Linux?

Come creare directory da un file di testo in Linux

Come creare un gruppo di volumi in Linux con LVM

Come creare un file di grandi dimensioni da 1 GB o 10 GB in Linux

Come creare e utilizzare file di scambio su Linux

Come affrontare i nomi dei file con gli spazi in Linux

Come creare un filesystem XFS