ZFS-on-Root bei Ubuntu 20.10 und darüber hinaus

Ubuntu 20.10

Ubuntu-Entwickler Didier Roche, der seit einiger Zeit hauptsächlich an der ZFS-on-Root Integration in den Ubuntu-Desktop arbeitet, hat eine Blog-Reihe begonnen, die in die Pläne für ZFS bei Ubuntu und in die Technik des Dateisystems mit eingebautem Logical Volume Manager (LVM) einführt.

ZFS-on-Root erstmals mit 19.10

Mit Ubuntu 19.10 wurde experimentelle Unterstützung für ZFS on Root eingeführt. Der Installer erlaubte die Installation mit ZFS als Dateisystem, belegte dabei aber die gesamte Festplatte. Es ließen sich Snapshots manuell erstellen und diese auch ebenso wiederherstellen.

Noch experimentell

Mit Ubuntu 20.04 LTS blieb die Implementierung weiterhin experimentell, lernte jedoch einige neue Tricks. Das ZFS-Management-Tool ZSys ist nun standardmäßig installiert, wenn ZFS als Dateisystem gewählt wird. Über einen APT-Hook wird jedes Mal, wenn ein Paket installiert, entfernt oder aktualisiert wird, automatisch ein Snapshot erstellt, auf den bei Bedarf zurückgerollt werden kann. Dabei wird inkrementell nur der Unterschied vom aktuellen zum vorherigen Zustand gespeichert.

GRUB-Integration

Während das Zurückrollen mit 19.10 nur manuell funktionierte, ist das Booten von Snapshots jetzt dank ZSys in den Bootmanager GRUB integriert. In seinem aktuellen Bog-Eintrag geht Roche näher auf die Bedeutung von ZSys beim Administrieren von ZFS bei Ubuntu ein. Der Name steht für ZFS System Helper. Dieser kleine Helfer sorgt unter anderem dafür, dass das GRUB-Menü stets den aktuellen Stand der Snapshots anbietet.

Bei Ubuntu muss man, um das Boot-Menü zu Gesicht zu bekommen, während des Bootens ESC oder Umschalt drücken und dann die History ausklappen, um die verfügbaren Snapshots zu sehen. Lediglich wenn ein normaler Bootvorgang fehlschlägt, wird beim nächsten Neustart die Liste der Snapshots direkt angezeigt.

User-Verwaltung

ZSys hat zudem gelernt, mit verschiedenen Usern umzugehen. Jeder User hat sein eigenes Data-Set an Snapshots. Beim Löschen von Usern ist noch Nacharbeit nötig, denn es ist in diesem Fall nicht sinnvoll, die per userdel angeforderte Entfernung eines Users direkt durchzuführen, da es dann nicht mehr möglich ist, auf einen an diesen User gebundenen Snapshot wiederherzustellen.

Snapshots entfernen

Da durch den APT-Hook unter Umständen eine große Anzahl an Snapshots (intern auch als states, also Zustände bezeichnet) zusammen kommt, arbeiten die Entwickler an einer Garbage Collection, die automatisch ältere Snapshots entfernt und dabei so vorgeht, dass die Anzahl an Snapshots zunehmend mehr ausgedünnt wird, je älter sie sind.

Wer sich für die Techniken hinter ZFS-on-Root und Canonicals Entwicklungsarbeit für ZFS interessiert, dem sei das Blog von Didier Roche ans Herz gelegt.

Teilt den Beitrag, falls ihr mögt

Abonnieren
Benachrichtige mich bei
0 Kommentare
Inline Feedbacks
View all comments