OpenZFS: Neue Anpassungen verbessern Skalierungs- und Geschwindigkeitsprobleme

OpenZFS, das beliebte Dateisystem für Linux, hat mit Skalierungs- und Geschwindigkeitsproblemen beim Schreiben auf Datenträgern zu kämpfen gehabt. Doch Edmund Nadolski von iXsystems hat nun verschiedene Anpassungen veröffentlicht, um diese Probleme zu verbessern. Und das ist eine gute Nachricht für alle, die auf OpenZFS setzen.

Eine der Verbesserungen betrifft die Möglichkeit, mehr als einen Datensatz oder ein Objekt gleichzeitig zu synchronisieren. Das bedeutet, dass die Daten schneller auf die Festplatte geschrieben werden können. Das ist vor allem dann wichtig, wenn viele Änderungen an den Daten vorgenommen wurden und diese auf die Festplatte übertragen werden müssen.

Ein weiterer Aspekt, den Nadolski angegangen ist, betrifft die Verarbeitung von dnodes. Ein dnode ist eine Datenstruktur in OpenZFS, die ein ZPL-Objekt repräsentiert. Dieses Objekt kann verschiedene Formen annehmen, wie beispielsweise eine Datei, ein Verzeichnis oder ein ZVOL-Volume, oder auch interne Metadaten darstellen. Ein ZFS-dnode kann mit den inodes von UFS und anderen Dateisystemen verglichen werden.

Um Änderungen an einem ZFS-Objekt durchzuführen, wie zum Beispiel einer Datei, werden Puffer im Arbeitsspeicher verwendet. Diese Puffer enthalten die modifizierten Daten, die auf die Festplatte geschrieben werden müssen. Hier kam es bisher zu Engpässen und Sperrkonflikten, da dieser Vorgang nicht parallel ausgeführt werden konnte.

Doch Nadolski hat mit dem Patch #15197 eine Lösung für dieses Problem entwickelt. Durch diesen Patch ist es nun möglich, die Synchronisierung der dnodes parallel auszuführen. Das führt zu einer deutlichen Verbesserung der Leistung beim Schreiben auf die Festplatte.

Um die Auswirkungen des Patches zu testen, führte Nadolski beeindruckende Tests mit dem flexiblen I/O-Tester fio(1) durch. Dabei wurden mehrere Threads/Prozesse verwendet, um parallele I/O-Aktionen auszulösen. Die Tests wurden auf einem 32-kernigen AMD-Epyc-7313-Server mit OpenZFS durchgeführt. Dieser Server verfügte über je 16 Kerne, 256 GByte RAM und NVMe-Storage.

Die Ergebnisse der Tests waren beeindruckend. Durch den Patch von Edmund Nadolski verbesserte sich der Datendurchsatz beim Schreiben von 1328 MByte/s auf 2495 MByte/s. Das ist eine Steigerung um fast das Doppelte! Das zeigt deutlich, dass die Anpassungen von Nadolski eine spürbare Verbesserung der Performance bringen.

Allerdings bleibt abzuwarten, ob der Patch zfs sync parallelism #15197 auch in der Praxis eine merkliche Steigerung der Leistung bringt. Es wird noch unabhängige Tests geben müssen, um dies zu bestätigen. Aber die bisherigen Ergebnisse lassen auf jeden Fall aufhorchen und geben Grund zur Hoffnung, dass OpenZFS noch besser wird.

Schlagwörter: OpenZFS + Skalierungs und Geschwindigkeitsverbesserungen + Edmund Nadolski

Wie bewerten Sie den Schreibstil des Artikels?
1 Star2 Stars3 Stars4 Stars5 Stars
  • 9. November 2023