GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So erstellen Sie ein ZFS-Dateisystem mit Dateikomprimierung unter Linux

Das ZFS-Dateisystem erhält unter Linux eine breitere Anerkennung.

In ZFS können Sie die Komprimierung auf Dateisystemebene aktivieren. Dadurch werden die Daten in komprimiertem Format gespeichert, wodurch viel Speicherplatz gespart wird.

In diesem Artikel erklären wir, wie Sie das Dateisystem aus dem ZFS-Speicherpool erstellen und die Komprimierung auf ZFS aktivieren.

Dies ist der zweite Artikel in der ZFS-Dateisystemserie.

Im ersten Teil dieser Serie haben wir die Grundlagen von ZFS und die Installation von ZFS unter Linux erklärt. Wir haben auch einen ZFS-Pool erstellt.

ZFS-Dateisystem erstellen

Zeigen Sie zunächst alle aktuellen ZFS-Dateisysteme mit dem Befehl zfs list an, wie unten gezeigt. In diesem Beispiel haben wir derzeit ein ZFS-Dateisystem.

# zfs list
NAME     USED  AVAIL  REFER  MOUNTPOINT
mypool   296K  5.84G    30K  /mypool

Erstellen Sie nun ein neues ZFS-Dateisystem mit dem Befehl zfs create.

# zfs create mypool/fs1

Wie wir unten sehen, wurde das neue ZFS-Dateisystem nun erfolgreich erstellt.

# zfs list
NAME         USED  AVAIL  REFER  MOUNTPOINT
mypool       170K  5.84G    30K  /mypool
mypool/fs1    30K  5.84G    30K  /mypool/fs1

ZFS-Angebot und -Reservierung festlegen

Wenn Sie ein ZFS-Dateisystem erstellen, verbraucht es standardmäßig den gesamten Speicherplatz im Pool. Sie müssen also ein Kontingent und eine Reservierung für das Dateisystem angeben.

Um ein Zitat festzulegen, verwenden Sie den Befehl zfs set wie unten gezeigt. Hier geben wir das Kontingent für dieses Dateisystem mit 1 GB an.

# zfs set quota=1G mypool/fs1

Legen Sie als Nächstes die Reservierung für das Dateisystem fest. In diesem Beispiel sind fs1 256 MB von 5,59 GB reserviert, sodass niemand diesen Speicherplatz nutzen kann, und er kann auch auf bis zu 1 GB erweitert werden, basierend auf der von uns festgelegten Quote, wenn freier Speicherplatz verfügbar ist.

# 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

Alternativen ZFS-Einhängepunkt erstellen

Anstatt es mit dem Namen „mypool/fs1“ einzuhängen, können Sie auch einen alternativen Einhängepunkt mit einem beliebigen Namen für ein Dateisystem festlegen.

Beispielsweise setzt der folgende Befehl den Einhängepunkt auf „/testmnt“ anstelle von „mypool/fs1“.

# zfs set mountpoint=/testmnt mypool/fs1

Wie wir aus der folgenden Ausgabe sehen, gibt die erste Spalte NAME den echten Namen des ZFS-Dateisystems an. Die letzte Spalte MOUNTPOINT gibt den alternativen Einhängepunkt an, den wir oben erstellt haben.

# zfs list
NAME         USED  AVAIL  REFER  MOUNTPOINT
mypool       256M  5.59G  32.5K  /mypool
mypool/fs1    30K  1024M    30K  /testmnt

Wenn Sie den Befehl df ausführen, sehen Sie den alternativen Einhängepunkt wie unten gezeigt.

# 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

Komprimierung im ZFS-Dateisystem aktivieren

Um die Komprimierung für ein ZFS-Dataset festzulegen, können Sie die Komprimierungseigenschaft wie unten gezeigt festlegen. Sobald diese Eigenschaft gesetzt ist, werden alle großen Dateien, die in diesem ZFS-Dateisystem gespeichert sind, komprimiert.

# zfs set compression=lzjb mypool/fs1

Die folgenden sind die gültigen Komprimierungseigenschaften:

  • an
  • aus
  • lzjb
  • gzip
  • gzip[1-9]
  • zle

Sie können die Komprimierung auch für ein vorhandenes Dateisystem aktivieren. In diesem Fall wird die Komprimierung nur auf die neuen und geänderten Daten angewendet; und alle vorhandenen Daten bleiben unkomprimiert.

ZFS-Komprimierung überprüfen

Im folgenden Beispiel haben wir die 61M-tar-Datei in das unter /testmnt gemountete ZFS-Dateisystem mypool/fs1 kopiert.

# ls -lh /testmnt/test.tar
-rw-r--r--. 1 root root 61M Nov 11 09:44 /testmnt/test.tar

Wenn Sie sich die Gesamtgröße des VERWENDETEN Speicherplatzes aus dem Befehl zfs list ansehen, werden Sie sehen, dass nur 20,9 MB Speicherplatz verbraucht werden, was darauf hinweist, dass die Komprimierung aktiviert ist und funktioniert.

# zfs list
NAME         USED  AVAIL  REFER  MOUNTPOINT
mypool       256M  5.59G  32.5K  /mypool
mypool/fs1  20.9M  1003M  20.9M  /testmnt

Sie können das Komprimierungsverhältnis auch mit dem folgenden Befehl abrufen.

# zfs get compressratio mypool/fs1
NAME        PROPERTY       VALUE  SOURCE
mypool/fs1  compressratio  2.90x  -

Abgesehen von der Komprimierung verfügt das ZFS-Dateisystem über mehrere erweiterte Funktionen. Im nächsten Artikel der ZFS-Reihe besprechen wir, wie ZFS-Klone und -Snapshots erstellt werden.


Linux
  1. So erstellen oder vergrößern Sie Swap Space in Linux

  2. So erstellen Sie einen Swap unter Linux

  3. So erstellen Sie eine Auslagerungsdatei unter Linux

  4. So richten Sie das ZFS-Dateisystem unter Linux mit zpool-Befehlsbeispielen ein

  5. Wie erstelle ich eine Datei mit einer bestimmten Größe in Linux?

So erstellen Sie Verzeichnisse aus einer Textdatei unter Linux

So erstellen Sie eine Volumengruppe in Linux mit LVM

So erstellen Sie eine große 1-GB- oder 10-GB-Datei unter Linux

So erstellen und verwenden Sie eine Auslagerungsdatei unter Linux

So gehen Sie Dateinamen mit Leerzeichen in Linux an

So erstellen Sie ein XFS-Dateisystem