Kapitel 9. ZFS

9.1. Wieviel RAM wird mindestens benötigt, wenn ich ZFS einsetzen möchte?
9.2. Was ist das ZIL und für was wird es benutzt?
9.3. Benötige ich für den Einsatz von ZIL eine SSD?
9.4. Was ist der L2ARC?
9.5. Ist es ratsam, Deduplizierung zu aktivieren?
9.6. Ich kann in meinem ZFS Pool keine Dateien erstellen oder löschen. Wie kann ich das ändern?
9.7. Enthält ZFS TRIM-Unterstützung für Solid State Drives?

9.1.

Wieviel RAM wird mindestens benötigt, wenn ich ZFS einsetzen möchte?

Für eine komfortable Nutzung werden mindestens 4 GB RAM empfohlen. Dies ist jedoch auch von der individuellen Auslastung abhängig.

9.2.

Was ist das ZIL und für was wird es benutzt?

Das ZIL (ZFS intent log) ist ein Schreib-Cache, der verwendet wird, um posix verpflichtende Schreib-Semantiken über Abstürze hinweg zu implementieren. Normalerweise werden Schreiboperationen in Transaktionsgruppen zusammengefasst und auf den Datenträger geschrieben (Transaction Group Commit). Systemaufrufe wie fsync(2) benötigen jedoch eine Bestätigung, dass die Daten auf den Datenträger geschrieben wurden, bevor sie weitermachen. Das ZIL wird für Schreibvorgänge verwendet, welche zwar als gespeichert bestätigt, jedoch noch nicht als Teil einer Transaktion auf die Festplatte geschrieben wurden. Im Fall eines Systemabsturzes wird der letzte gültige Zeitstempel ermittelt und die fehlenden Daten werden aus dem ZIL zusammengesetzt.

9.3.

Benötige ich für den Einsatz von ZIL eine SSD?

In der Voreinstellung speichert ZFS das ZIL zusammen mit den anderen Daten innerhalb des Pools. Wenn eine Anwendung viele Schreiboperationen erzeugt, kann es die Gesamtleistung verbessern, wenn das ZIL auf einem separaten Gerät gespeichert wird, welches eine hohe Leistung bei synchronen, sequentiellen Schreibvorgängen erzielt. Bei geringerer Last bieten SSDs kaum eine Verbesserung.

9.4.

Was ist der L2ARC?

Der L2ARC ist ein Lese-Cache, der auf einem schnellen Gerät, bspw. einer SSD, gespeichert wird. Die Daten in diesem Cache gehen bei einem Neustart verloren. Beachten Sie, dass primär RAM als Cache verwendet wird, und dass der L2ARC nur dann benötigt wird, wenn nicht genügend RAM verfügbar ist.

L2ARC benötigt Platz im ARC, um es zu indizieren. Ein Arbeitsbereich, der perfekt in den ARC passt, passt nicht mehr, wenn ein L2ARC verwendet wird, da ein Teil des ARC den L2ARC-Index beinhaltet und einen Teil des Arbeitsbereichs in den L2ARC schreibt, der langsamer als der RAM ist.

9.5.

Ist es ratsam, Deduplizierung zu aktivieren?

Im Allgemeinen nicht.

Deduplizierung benötigt sehr viel RAM und kann die Lese- und Schreibzugriffe auf die Festplatte verringern. Wenn Sie keine Daten speichern, die sehr stark dupliziert sind, bspw. Abbilder von virtuellen Maschinen oder Backups von Benutzern, dann ist es eher wahrscheinlich, dass Deplizierung mehr Schaden als Nutzen bringt. Zudem ist es nicht möglich, den Status der Deduplizierung umzukehren. Wenn Daten bei aktivierter Deduplizierung geschrieben werden, werden diese nach einer Deaktivierung der Deduplizierung erst wieder repliziert, nachdem die nächste Änderung stattfindet.

Deduplizierung kann auch zu einigen unerwarteten Situationen führen. Insbesondere kann das Löschen von Dateien viel langsamer sein.

9.6.

Ich kann in meinem ZFS Pool keine Dateien erstellen oder löschen. Wie kann ich das ändern?

Die könnte passieren, wenn der Pool zu 100% belegt ist. ZFS benötigt Platz auf der Festplatte, um Transaktionsmetadaten zu speichern. Um den Pool wieder benutzbar zu machen, kürzen Sie einfach die zu löschende Datei:

% truncate -s 0 unimportant-file

Dies funktioniert, weil keine neue Transaktion gestartet wird, stattdessen werden neue Ersatzblöcke erzeugt.

Anmerkung:

Auf Systemen mit zusätzlichen ZFS Optimierungen, wie Deduplizierung, steht der Speicherplatz vielleicht nicht sofort zur Verfügung.

9.7.

Enthält ZFS TRIM-Unterstützung für Solid State Drives?

ZFS TRIM-Unterstützung wurde in FreeBSD 10-CURRENT mit Revision r240868 hinzugefügt. In die FreeBSD-STABLE Zweige wurde die Unterstützung mit r252162 und 251419 hinzugefügt.

ZFS TRIM ist in der Voreinstellung aktiviert, kann aber mit dem folgenden Eintrag in /etc/sysctl.conf deaktiviert werden:

vfs.zfs.trim_disable=1

Anmerkung:

ZFS TRIM funktioniert möglicherweise nicht in allen Konfigurationen, beispielsweise mit einem ZFS-Dateisystem auf einer mit GELI verschlüsselten Festplatte.

Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an <de-bsd-questions@de.FreeBSD.org>.

Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an <de-bsd-translators@de.FreeBSD.org>.