Welche ZFS-Pool-, Vdev- und Dataset-Eigenschaften sollten die meisten Benutzer verwenden?

Welche ZFS-Pool-, Vdev- und Dataset-Eigenschaften sollten die meisten Benutzer verwenden?

ZFS hat viele verschiedene konfigurierbare Eigenschaftenfür Pools,für vdevsUndfür Datensätze. Viele davon können jederzeit geändert werden, aber einige können nur bei der Erstellung festgelegt werden (oder wirken sich nur auf Daten aus, die danach geschrieben werden, sodasssollenmuss zum Erstellungszeitpunkt wirklich festgelegt sein).

Als Neuling habe ich nach vielen verschiedenen Fragen gesucht und mehrere Eigenschaften gefunden, deren Einstellung häufig vorgeschlagen wurde.

Natürlich gibt es in jedem Anwendungsfall kleine Unterschiede hinsichtlich der sinnvollen Eigenschaften, aber es scheint einen gemeinsamen Satz von Eigenschaften zu geben, den die meisten ZFS-Benutzer verwenden sollten. Ich denke an die Eigenschaften, für die man einen aktiven Grund haben sollte.nichtum sie zu verwenden. Was sind sie und warum?

Antwort1

(Haftungsausschluss: Als ZFS-Anfänger stellt dies nur mein bisheriges Verständnis dar und soll als Anstoß für umfassendere und zuverlässigere Informationen von anderen dienen.)

Pooleigenschaften

Dataset-Eigenschaften

Diese können mit zfs create -ooder über den -OSchalter zpool createfür das Root-Dateisystem angegeben werden (das standardmäßig an andere vererbt wird).

  • xattr=sa

    Dadurch wird die Leistung von xattr erheblich gesteigert, ohne dass es zu wirklichen Nachteilen kommt. (Nur unter Linux verfügbarzur Zeit).

  • dnodesize=auto

    Diese Eigenschaft sollte bei der Verwendung von verwendet werden xattr=sa. Der Hauptgrund, diese nicht zu verwenden, istInteraktion mit Systemen, die die erforderliche ZFS-Funktion nicht unterstützen.

  • relatime=on

    Das Verfolgen der Zugriffszeit von Dateien kann selbst bei schreibgeschützter Interaktion sehr aufwändig sein. relatimereduziert die Granularität/Häufigkeit dieser Aktualisierungen erheblich auf Kosten weniger präziser Informationen in der atimeEigenschaft (unter Beibehaltung einiger häufig erforderlicher Invarianten). Beachten Sie, dass dies seit langem die Standardeinstellung für fast alle Dateisysteme unter Linux ist. Wenn Sie genaue atimeInformationen benötigen, sollten Sie dies nicht aktivieren. Wenn Sie wissen, dass dies atimenie erforderlich ist, atime=offbietet es eine noch bessere Leistung.

  • normalization=formD

    Dadurch wird sichergestellt, dass Dateinamen immer auf die gleiche Weise normalisiert werden. Als wichtiger Nebeneffekt bedeutet dies auch, dass das Dateisystem Dateinamen als UTF-8-kodiert behandelt und Dateinamen mit bestimmten „defekten“ Namen, die andere Dateisysteme akzeptieren, nicht mehr speichern kann. Wenn dies nicht gewünscht ist, lassen Sie dies weg.

  • compression=lz4

    Es herrscht offenbar Konsens darüber, dass die Kosten der Komprimierung auf moderner Hardware so gering sind, dass dies tatsächlich nur Vorteile bringt. Bei Datensätzen, die überwiegend bereits stark komprimierte Daten speichern, kann es sinnvoll sein, diese Funktion zu deaktivieren.

  • NEINrecordsize

    Die Standard-Datensatzgröße scheint für viele Anwendungsfälle ein guter Mittelweg zu sein, einige Anwendungsfälle wie Datenbanken können jedoch von bestimmten Werten profitieren.

Quellen

verwandte Informationen