Ist ZFS als lokaler Speicher sinnvoll?

Ist ZFS als lokaler Speicher sinnvoll?

Ich habe über ZFS gelesen und kurz überlegt, es auf meinem Computer zu verwenden, aber als ich über den Speicherbedarf gelesen habe, habe ich es mir anders überlegt.

Ist es sinnvoll, ZFS als lokalen Speicher zu verwenden, oder ist dies eher für Server sinnvoll, die als Speicher verwendet werden? (Selbst für Server mit anderen Verwendungszwecken scheint es übertrieben).

Antwort1

ZFS hat keinen besonders hohen Speicherbedarf.

Wie in den Kommentaren erwähnt,bestimmte Eigenschaftenvon ZFS (insbesondere Deduplizierung, aber auch L2ARC) erfordern eine bestimmte Menge an Speicher, um nützlich zu sein.

Allerdings werden Sie diese Funktionen wahrscheinlich nicht verwenden, es sei denn, Sie haben einen bestimmten Anwendungsfall, der ihre Verwendung erfordert.

ZFS mit seiner ersten Schicht ARC(Adaptive Replacement Cache) ist nicht wesentlich speicherhungriger als jedes andere Dateisystem und jeder andere Cache. Durch die VerwendungBOGENstatt beispielsweise einemZuletzt benutztCache-Algorithmus, bei manchen Arbeitslasten ist es möglich, den verfügbaren Cache-RAM effizienter zu nutzen.

Was ZFStuterfordernist ECC-RAM. Dies ist auf Servern allgegenwärtig, aber auf privaten Systemen selten zu finden (viele Intel-CPUs der unteren Preisklasse unterstützen nicht einmal ECC-RAM). Diese Anforderung ergibt sich aus den selbstheilenden Eigenschaften von ZFS, dennRAM-Probleme können möglicherweise Ihre Daten zerstörenbeim Ausführen von ZFS. Es gibt keinen Code, um dies in ZFS zu überprüfen, wahrscheinlich teilweise, weilEs scheint keine 100% sichere Möglichkeit zu geben, dies anhand der Software zu erkennenob das System ECC-RAM verwendet.

Ob ZFS sinnvoll ist, hängt davon ab, was Sie tun möchten. Genauso wie die Frage, ob NTFS sinnvoll ist, davon abhängt, was Sie tun möchten. ZFS bietet jedoch einige Funktionen, die nur wenige oder gar keine anderen Dateisysteme bieten und die in bestimmten Szenarien äußerst nützlich sein können.Manchedavon sind:

  • Garantierte End-to-End-Datenintegrität. Sie können sicher sein, dass bei einem erfolgreichen Lesevorgang dieselben Daten zurückgegeben wurden, die ursprünglich an diesen Speicherort geschrieben wurden. Dies bedeutet, dass es keine stille Datenbeschädigung gibt. Entweder Sie erhalten Ihre Daten zurück oder es tritt ein E/A-Fehler auf.
  • Dateisystembewusstes Striping und Redundanz. Normale RAID-Controller behandeln das gesamte Speichergerät als einen großen Haufen Blöcke und kennen keinerlei Datenstrukturen auf der Festplatte. Da ZFS die Datenträgerverwaltung und das Dateisystem kombiniert, kann es bei Fehlern intelligentere Entscheidungen treffen. Es verfügt außerdem über ein „Most Important First“-Resilver-Regime, was bedeutet, dass Daten, die für die Funktion des Dateisystems kritisch sind, nach einem Fehler zuerst resilveredelt werden und weniger kritische Daten warten können, unabhängig davon, wo auf der Festplatte die Daten gespeichert sind.
  • Mehrstufiges Caching. Sie können beispielsweise einen RAM ARC haben, der durch einen schnellen SSD L2ARC ergänzt wird, wobei der Großteil der Daten auf rotierenden Festplatten gespeichert wird. Bei Workloads, bei denen der Arbeitsdatensatz mit einem angemessenen Grad an Genauigkeit geschätzt werden kann, kann dies zu relativ geringen Kosten enorme Verbesserungen der E/A-Leistung bringen, und zwar ohne dass Sie komplett auf SSDs umsteigen müssen.
  • Praktisch freie Dateisysteme. Mit ZFS unterscheidet sich das Erstellen eines „Dateisystems“ kaum vom Erstellen eines Verzeichnisses in den meisten modernen Dateisystemen. Dateisysteme können unterschiedliche Kontingente haben, sowohl maximale als auch garantierte. Aus diesem Grund wird mit ZFS häufig empfohlen, Dateisysteme als Verwaltungsgrenzen zu verwenden. Auf einem großen Server könnte beispielsweise das Home-Verzeichnis jedes Benutzers sein eigenes Dateisystem sein. Dadurch werden Teile des Verzeichnisbaums voneinander isoliert, ohne dass der Mehraufwand entsteht, der durch das Erstellen separater regulärer Partitionen und Dateisysteme entsteht. Ich verwende Dateisysteme, um beispielsweise meine E-Mail-Archive pro Jahr oder Fotos pro Monat zu trennen.
  • Praktisch kostenlose Snapshots. Ich weiß nicht, wie oft mich die Tatsache, dass ich einfach zu dem Zustand zurückkehren konnte, in dem eine Datei ein paar Stunden zuvor aussah, vor einem peinlichen Fehler bewahrt hat. Backups bieten ähnliche Möglichkeiten (und werden immer noch benötigt, weilkein RAID-Betrag ist ein Backup), aber Snapshots sind viel schneller verfügbar. In ZFS benötigt ein Snapshot selbst nur wenige Kilobyte an Metadatenspeicher, unabhängig von der Datenmenge im entsprechenden Dateisystem, und verursacht keine nennenswerten Leistungseinbußen.

Keines davon muss verwendet werden, nur weil Sie ZFS verwenden.Aber sie sind da und im Allgemeinen nur einen einzigen Befehl entfernt, falls Sie sie aktivieren möchten.

Ist das nun „Overkill“?Das hängt wirklich stark davon ab, was Sie versuchen zu tun.Ich verwende ZFS (mit ECC-RAM) auf meinem Heimsystem. Die meiste Zeit läuft es ruhig und macht nicht mehr Lärm als jedes andere Dateisystem (und wahrscheinlich weniger), aber es hat mich zumindest einmal vor Datenbeschädigung bewahrt (ein Scrub hat eine Handvoll Sektoren gefunden, die Probleme aufwiesen, undautomatisch und im Hintergrund die Daten repariertohne dass ich eingreifen muss). Ich persönlich denke, dassIch habe diese Daten aus einem bestimmten Grund gespeichert,und dieser Grund ist höchstwahrscheinlich, dass ich später auf die Daten zurückgreifen möchte. Bedenken Sie nun, dassDas Universum hasst Ihre Daten.

Angesichts der ständig zunehmenden Speichergrößen und der im Wesentlichen konstanten Bitfehlerraten (pro Medienklasse) werden I/O-Fehler nicht seltener. Bei meinem bevorzugten Wiederverkäufer bieten sowohl Seagate als auch HGST 8-TB-Festplatten zu hohen, aber nicht extremen Preisen an, die für Privatpersonen durchaus erschwinglich sind. Das sind etwa 6,4×10^13 Bit. Bei einer Fehlerrate von 10^-14 Bitsogar ein einziger vollständiger MedienlesedurchgangIststatistisch sehr wahrscheinlichein I/O-Problem auftritt, das einen ganzen (4 KiB) Sektor unlesbar macht. (Bis wir 10 TB HDDs erreichen, statistischBei einem einzigen vollständigen Festplatten-Lesevorgang tritt mindestens ein nicht lesbarer Sektor auf..) Es gibt Studien, die zeigen, dassunentdecktLesefehler kommen viel häufiger vor, als wir zugeben möchten, trotz der Bemühungen der Festplattenhersteller, die ECC-Algorithmen auf der Festplatte zu verbessern, obwohl ich keinen Link dazu zur Hand habe. Moderne Dateisysteme wie NTFS, ext4, UFS+, HFS+ usw. sind einfach nicht auf eine solche Situation vorbereitet.

Diese Nische wollen Dateisysteme wie ZFS und Btrfs füllen.

verwandte Informationen