Wie ich LVM durch ZFS-Dateisystem für meinen Heim-NAS-Server ersetzt habe

Ing. Jan Jileček
May 7, 2020 – 3 min read

Im letzten Artikel habe ich das Problem der Verwendung mehrerer Festplatten in meinem Heim-NAS mit LVM nicht sehr gut gelöst, daher werde ich die Lösung jetzt mit ZFS erweitern.

ZFS ist ein fortschrittliches Dateisystem mit großartigen Funktionen wie gepooltem Speicher, Snapshots, automatischer Reparatur und Datenintegritätsprüfung, RAID-Z und einer Dateigrößenbeschränkung von 16 Exabyte.

Gepoolter Speicher

ZFS kombiniert die Funktionen eines Volume Managers (wie LVM, das ich letztes Mal verwendet habe) und eines Dateisystems. Das bedeutet, dass sich das Dateisystem über mehrere Laufwerke oder einen Pool erstrecken kann.

Vorherige Lösung mit LVM

In der vorherigen Lösung hatte ich folgendes Setup mit Logical Volume Manager:

Ein paar Festplatten in einem großen (2,3 TB) logischen Volume. Das bringt ein großes Problem mit sich – wenn eines der Laufwerke ausfällt, wird das gesamte logische Volumen beschädigt.

Hier kommt ZFS ins Spiel.

Ersetzen von LVM durch ZFS

Zuerst musste ich meine Daten auf einem anderen (externen) Laufwerk sichern. Dann habe ich das logische Volume ausgehängt und gelöscht.

Bei der ersten Lösung habe ich den Zustand der Festplatten nicht überprüft, das habe ich jetzt nachgeholt. Ich habe SMART (Self-Monitoring, Analysis and Reporting Technology) verwendet.

Ich habe festgestellt, dass 3 der Festplatten voller Fehler und Störungen waren, also habe ich nur die sdd- (WD 1TB) und sde-Laufwerke (WD 320GB) ausgewählt, die auch die schnellsten Lesegeschwindigkeiten haben (die Schreibgeschwindigkeit habe ich nicht getestet, die Lesegeschwindigkeiten reichten mir als Benchmark). Ich habe die Lesegeschwindigkeiten mit hdparm getestet.

(sdb ist die System-SSD und sdd ist die SATA3-HDD)

Installation und Verwendung von ZFS

Zunächst habe ich die Festplatten mit einem Solaris-Dateisystem formatiert („be“-Code in fdisk, Anleitung im vorherigen Artikel).

Dann benutzte ich die zfstools (apt install zfsutils-linux), um den Pool zu erstellen, ihn in einen Mount-Punkt einzuhängen und ZFS zu benutzen.

Pool-Liste

Mountpunkt – freier Platz

Der Mount-Punkt war bereits in der Samba-Konfiguration aus dem letzten Artikel eingetragen, so dass ich das Netzlaufwerk sofort nutzen konnte.
Erledigt.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.