Manuelle Partitionierung zfs on Root bei der FreeBSD-Installation

H

holgerw

Guest
Hallo,

ich möchte nun gerne auf mein Notebook FreeBSD 11 Beta1 installieren.

Vom Boot mit USB-Stick FreeBSD 11 Beta1 memstick bis zur Partitionierung sind die Schritte klar. Dann wähle ich nicht den Installer, sondern die Shell.

Zur Partitionierung, die ich manuell ohne Schwierigkeiten bewerkstelligen kann:
ada0 256g GPT
ada0p1 freebsd-boot 512k
ada0p2 freebsd-swap 8g (möchte Testes mit Suspend machen, daher Ram-Swap-Verhältnis 1 zu 2)
ada0p3 freebsd-zfs Rest

Ich weiß, dass ich den Installer bei zfs automatisch machen lassen kann, das habe ich testweise mal für eine Basisinstallation gemacht, Resultat ist ein Pool mit einer unübersichtlichen Anzahl an Datasets für diverse Ordner des Systems, das mag ja ausgeklügelt sein, aber ich möchte das überschaubarer.

Das Handling mit zpool und zfs create ist gut an verschieden Stellen dokumentiert. Aber wie das bewerkstelligen direkt bei der Installation, dazu finde ich leider kaum etwas.

Frage1: Wenn ich nun manuell weiter machen möchte, ohne den Installer, also in der Partition freebsd-zfs einen Pool anlegen, muss ich dann das Kernelmodul zfs laden? Muss da schon irgendwas in irgendwelche Config-Dateien, bevor ich weiter machen kann?

Frage2: Ich möchte zunächst eine überschaubare Anzahl an Datasets für das System anlegen, also so wenig Partitionen, wie nötig. Was brauche ich und welche Dataset-Optionen sind sinnvoll?

Frage3: Wenn die systemrelevanten Datasets angelegt sind, wie steige ich dann wieder über den Installer in die Installation ein? Kann ich dann den Partitionierungsteil einfach überspringen?

Nach der Installation komme ich dann klar, wenn das System erstmal läuft, kann ich ja für home, poudriere u.s.f. weitere Dadasets mit entsprechenden Optionen anlegen.

Sorry, es soll kein Rant sein, aber da finde ich das FreeBSD Handbuch etwas komisch: Einfache Sachen, die fast selbsterklärend im Installer sind, wie simple automatische Partitionierung und Instsllation auf ufs2 werden haarklein erklärt, möchte man manuell zfs nehmen ohne Automatismen, steht man da leider im Regen.

Alle diese Sachen kommen übrigens in meine Dokumentation, mit einer Neufassung habe ich vor drei Tagen angefangen.

Viele Grüße,
Holger
 
Wenn ich nun manuell weiter machen möchte, ohne den Installer, also in der Partition freebsd-zfs einen Pool anlegen, muss ich dann das Kernelmodul zfs laden?
Probier es doch einfach...

Was brauche ich und welche Dataset-Optionen sind sinnvoll?
Ich würde zumindest für /home (bzw. /usr/home, je nachdem wie du verfährst) gleich ein dataset anlegen. Weiter würde ich für einen Desktop nicht mehr aufteilen.

Rob
 
Aus dem Bauch heraus würde ich denken, das natürlich das ZFS Modul geladen werden muß. Woher soll denn sonst die Funktionalität kommen, die Du auch für das Anlegen von datasets benötigst?
 
Eigentlich laden die 'zfs' und 'zpool' Kommandos von sich aus das Kernelmodul, wenn sie es benötigen.
 
Ich würde mir die Arbeit gar nicht machen. So viel Datasets sind es ja nicht und die, die angelegt wurden, haben unterschiedliche Einstellungen, die sinnvoll gewählt sind. Z.B. "noatime" für alle Datasets außer /var/mail.
/usr/src und /usr/ports, sowie /home sollten praktischerweise ein eigenes Dataset sein, /var/log ebenfalls, damit dir ein durchdrehender Daemon, oder so etwas, nicht den ganzen Zpool vollaufen lassen kann.
Der Installer legt die Datasets auch direkt so ein, dass du sysutils/beadm benutzen kannst. Mehr als /tmp und /var/{tmp,crash,audit} wird auch nicht angelegt, daran hat man sich schnell gewöhnt. :)
 
bei meiner letzten Installation hatte ich den Installer erst mal alles machen lassen, weil ich auch sehen wollte, was er überhaupt so anlegt und wie.
Später waren mir das auch zu viele Datasets und weil ich eh nicht logge, sobald das System mal läuft (Desktop) und auch viel mit tmpfs für einige Verzeichnisse arbeite, habe ich dann irgendwann Datasets einfach gelöscht, die mir nicht gefielen. Falls Daten vorhanden sind, können die einfach vorher in das passende Dataset verschoben werden.
Es ist die Frage, was nun weniger Aufwand bedeutet.
Jedenfalls ist man ja in keiner Richtung endgültig festgelegt mit der Entscheidung bei der Installation.
 
Hallo,

danke für alle hilfreichen Hinweise. Ich habe die FreeBSD 11 Beta1 genommen, und den Installer machen lassen bei der Installation auf zfs. Für /usr/home habe ich das Dataset des Installers zerstört und mit anderen Optionern neu angelegt, das hat gut geklappt. Dann habe ich weitere Datasets angelegt für poudriere und meine Konzertaudios.Ich teste mit dieser Installation (kde4, LibreOffice, claws-mail, Audioanwendungen ...) verschiedene zfs Sachen, um mich damit weiter vertraut zu machen, falls was dabei kaputt geht, ist es nicht schlimm.

Achso: zfs macht meines Erachtens richtig Spaß.

Viele Grüße,
Holger
 
Man kann die Eigenschaften auch einfach ändern.

Rob

Hallo Rob,

danke für den Hinweis, dass ich mit
Code:
zfs set ...
Optionern nachträglich ändern kann, weiß ich, aber wie schon geschrieben, ich möchte anhand dieser Installation mit zfs herum experimentieren, um mich mit dem Konzept vertraut zu machen. Das nutze ich nicht als Installation für produktives Arbeiten.

Viele Grüße,
Holger
 
Dazu sollte man auch wissen, dass das ändern bestimmter Optionen sich nicht auf bereits bestehende Daten sondern nur auf neu geschriebene bezieht. Aktivierst du zB die Komprimierung werden nur neu geschriebene Dateien komprimiert abgelegt, die bereits bestehenden werden erst beim nächsten schreiben komprimiert. Sprich zunächst gewinnst du keinen Platz und keine Performance.
 
Dazu sollte man auch wissen, dass das ändern bestimmter Optionen sich nicht auf bereits bestehende Daten sondern nur auf neu geschriebene bezieht. Aktivierst du zB die Komprimierung werden nur neu geschriebene Dateien komprimiert abgelegt, die bereits bestehenden werden erst beim nächsten schreiben komprimiert. Sprich zunächst gewinnst du keinen Platz und keine Performance.

Hallo @Rakor,

danke, das wusste ich nicht. Das heißt also, dass bei einem schon befüllten Dataset, welches ich nachträglich auf copies=2 setze, nur die danach geschriebenen Dateien dupliziert abgelegt werden.

Mal eine Frage: Gibt es da eine Art refresh nach dem Ändern von Optionen, damit die neuen Einstellungen auch für ältere Dateien dann greifen?

Viele Grüße,
Holger
 
danke, das wusste ich nicht. Das heißt also, dass bei einem schon befüllten Dataset, welches ich nachträglich auf copies=2 setze, nur die danach geschriebenen Dateien dupliziert abgelegt werden.
So ist es.

Mal eine Frage: Gibt es da eine Art refresh nach dem Ändern von Optionen, damit die neuen Einstellungen auch für ältere Dateien dann greifen?
Gute Frage, nicht das ich wüsste.

edit: Ich kann übrigens für den Einstieg in ZFS das Buch "FreeBSD Mastery: ZFS" von Michael W Lucas und Allan Jude sehr empfehlen. Dort werden solche Punkte auch mit Beispielen erklärt.
 
Danke für den Buchtipp, ich habe mal per Mail einen anderen zfs-Experten wegen refresh um Rat gefragt, und werde, falls er Zeit und Interesse hat, zu antworten, die Antwort hier sofort posten.
 
Refresh gibt es nicht. In dem Fall ist es auch nicht relevant, da /usr/home während der Installation leer ist.

Rob
Hallo Rob,

bezogen auf #7 ist das klar, aber meine Frage ist ja in #11:
Das heißt also, dass bei einem schon befüllten Dataset, welches ich nachträglich auf copies=2 setze, nur die danach geschriebenen Dateien dupliziert abgelegt werden.

Schade, dass es refresh oder ähnliches da nicht gibt, aber per Workarround (mit zfs Optionen eines Datasets ändern -> Dateien des Datasets umkopieren und dann wieder zurück kopieren) sollte man dann ja weiter kommen.

Viele Grüße,
Holger
 
Du könntest einen Snapshot machen, den mit send / receive auf ein anderes Dataset kopieren, das alte löschen und das neue dann mit "rename" wieder umbenennen. Dabei müssten die neuen Eigenschaften greifen.
 
Hallo,

danke für Eure Antworten, alle hier inzwischen geposteten Vorschläge kamen auch in einer sehr ausführlichen Antwort von Benedict Reuschling, den ich vor zwei Tagen per Mail gefragt hatte.

Viele Grüße,
Holger
 
Zurück
Oben