Systemumzug UFS auf ZFS ohne Neuinstallation

Kamikaze

Warrior of Sunlight
Teammitglied
Ich habe mein Laptop System von einer Samsung 840 PRO mit 256 GB mit UFS Partitionen auf zwei Samsung 860 EVO mit 1TB im ZFS Mirror Betrieb umgezogen.

Dabei bin ich über einige Schwierigkeiten gestolpert. Ich habe 2 Pools einen unverschlüsselten in dem /boot liegt und eine verschlüsselten für /.

Für den Anfang hat mich ZFS sehr verwirrt, die ganze Automagie hat mir das Booten schwer gemacht, es hat lange gedauert bis ich es hinbekommen habe, dass /boot gemounted wird bevor /etc/rc.conf:kld_list abgearbeitet wird. Die Hauptprobleme waren, dass der zpool.cache nicht da war und das zfs_enable die Datasets zu spät einbindet.

Probleme, für die es relative einfache Lösungen gibt aber für einen ZFS Neuling wie mich erst mal schwer zu finden waren.

Die Frage ans Forum, was mache ich jetzt mit den Erfahrungen? Yet another ZFS howto? Davon gibt es schon so viele.
 
Ich würde sagen besser kein weiteres howto was ein unverschlüsseltes /boot verwendet, da es nicht mehr nötig ist und nur Nachteile (und sei es nur das Management) gegenüber einem komplett verschlüsseltem / bringt ;)
 
Hallo,

ich würde trotzdem eines machen. Der Use Case ohne Neuinstallation ein Dateisystem zu ersetzen ist generell nicht sonderlich gut abgedeckt.

Solche Howtos sind außerdem immer schnell out of date, deshalb wäre ein Wiki (bsdforen oder FreeBSD) gut und außerdem ist es gerade für Leute die noch nicht so viel Erfahrung mit FreeBSD haben gut wenn es da was gibt.

Im Grunde hat man, wenn man jemanden anderen die Erfahrung teilen will da zwei Möglichkeiten. Einerseits eben ein Howto zu schreiben, aber je nachdem wie das Problem ist und wie du es löst gäbe es auch noch die Möglichkeit das in Code zu gießen und wenn das gut funktioniert einen Port daraus zu machen.

Ich weiß jetzt im konkreten Fall nicht wie gut das geht, aber wenn man ein Howto macht mit Beispielen kann das ja auch in weiterer Folge daraus entstehen.

Oh und Treffer in der Suchmaschine haben macht das Howto sogar zu Advacocy.

Ohne da jetzt zu weit abdriften zu wollen, aber falls sich jemanden mit einer ähnlichen Fragestellung interessiert. Diverse Cloud Anbieter mit BSD-Support (DigitalOcean, Vultr, ...) haben Programme sich für Howtos potentiell vergüten zu lassen. Ich will jetzt nicht sagen, dass man das tun soll, aber nur weil ich mich mal gewundert habe, dass es so viel FreeBSD-Zeug auf so einer Seite gibt. Man muss sich halt bewusst sein, dass man dann Content Marketing für die betreibt.
 
Ich würde sagen besser kein weiteres howto was ein unverschlüsseltes /boot verwendet, da es nicht mehr nötig ist und nur Nachteile (und sei es nur das Management) gegenüber einem komplett verschlüsseltem / bringt ;)
Was meinst Du mit nicht mehr nötig? Hat jemand einen Efi loader geschrieben der geli und zfs kann?
 
Ich bin schon am umbauen. Das schöne am Mirror ist, dass ich das laufende System umpartitionieren kann.

Edit:
Funktioniert ohne Probleme. Jetzt mal die Frage, wo ist das dokumentiert? Warum wusste ich davon nichts?
 
Zuletzt bearbeitet:
Für mich ist ZFS zu komplex.
Also, jetzt nicht falsch verstehen: Ich liebe ZFS, gerade nach meinen letzten Erfahrungen noch mehr, aber, weil es ja nach dem Einrichten erst mal nicht weiter angetastet werden und einfach läuft (was ja auch so sein soll), habe ich nur selten tatsächlich etwas damit zu tun. Wenn dann der Fall eintritt, muss ich jedes Mal durch die man-pages gehen, die zwar gut sind, aber eben auch umfangreich und sehr viele Fälle beschreiben, die für mich dann nicht interessant sind.
Deshalb suche ich dann schon immer nach Anleitungen/Beschreibungen/Hilfen im Netz und bin sehr dankbar, wenn es da was gibt. Weniger dankbar bin ich, wenn nicht angegeben wird, für welche Versionen welcher Systeme diese Lösung gilt. Ich wende deshalb niemals irgendwas an, bevor ich in der aktuellen man nicht auch zumindest grundsätzlich verstanden habe, was da gemacht wird.

Ich bin also der Typ, der für Anleitungen dankbar ist, vor allem, wenn sie etwas erklären und nicht nur cp_n_paste Vorlagen sein wollen.
Nur mal so grundsätzlich gesprochen.
 
So jetzt funktioniert es nicht mehr. Ich hatte ein labelclear gemacht um einen alten pool loszuwerden, den ich durch beseitigen der entsprechenden Partitionen statt durch 'zpool destroy' gelöscht habe.

Jetzt finden weder der efi loader noch gptzfsboot den verschlüsselten Bootpool. Von einem usb system aus kann ich den pool aber problemlos einbinden (nach dem geli attach natürlich).

Versuchsweise habe ich pmbr und gptzfsboot neu geschrieben.

Außerdem habe ich noch mal geli configure -b ausgeführt und kontrolliert, dass der bootfs Parameter des Pools gesetzt ist.
 
Ja hat er, aber das sieht man ja eh erst nachdem der geli Container entschlüsselt ist und der loader fragt gar nicht erst nach einem Schlüssel.
 
Jetzt bin ich einen Schritt weiter. Ich muss die Passphrase seltsamerweise 2 mal eingeben aber immerhin wird der Kernel vom Pool geladen.

Das Mounten scheitert aber mit dieser schicken Meldung:

Solaris: NOTICE: Cannot find the pool label for 'z8pool'
 
Mal anders gefragt: Verstehe ich es richtig, dass du erst eine Platte hattest und auf dieser eine Partition. In dieser Partition war ein Pool. Den Pool hast du gelöscht, indem du einfach die Partitionen gelöscht hast. Anschließend hast du nur partitioniert, in den neuen Partitionen einen neuen Pool erstellt. Dann stelltest du fest, dass dir Reste des alten Pools dazwischenpfuschen und hast nachdem der neue Pool schon erstellt war, nochmal ein zpool labelclear gemacht?
 
Dann hat das zpool labelclear eventuell Label / Metadaten des aktuellen Pools zerstört und er ist nun halb im Nirvana. Aber das ist mehr vermutet als gewusst.
 
Die Frage ist hier, wie schreibe ich die Label neu? In meinem USB-Stick System kann ich den Pool problemlos einbinden. Der Pool ist noch vollkommen in Takt. Ich muss nur die Metadaten, die ZFS wirklich überall zu hinterlassen scheint, rausschreiben.

Da wäre dann auch die Frage, gehören die Labels in adaX, adaXp4 oder adaXp4.eli?
 
ZFS Datenstrukturen sind ... komplex. Ich glaube die Label selbst liegen regelmäßig über alle Platten verteilt. Du könntest mal probieren, ob ein Scrub hilft. Aber wirklich glauben tue ich das nicht, denn Scrub prüft eigentlich nur Daten auf Konsistenz und nicht die Metadaten auf Korrektheit. Denn Metadaten sind bei ZFS per Definition immer korrekt.
 
wenn dein Pool den passenden mountpoint hat, kannst du dann nicht über die UUID importieren? Oder wie diese Nummer bei ZFS-Pools nun gerade heißt.
 
Zurück
Oben