Hallo zusammen,
nachdem ich nun doch beschlossen hatte auf ZFS zu wechseln habe ich mir die Manpages zu zpool(8) und zfs(8) durchgelesen. Dabei sind mir jedoch einige Fragen aufgetreten.
1. jail: Ich kann angeblich ein ZFS dataset an eine Jail binden. Aber war bringt mir das nun genau? Ich habe es so verstanden, dass dies einfach nur dazu führt, dass ich per zfs(8) aus der Jail herraus Einfluss auf das dataset nehmen kann? (aber nicht auf den zpool vermute ich).
2. NFS: So wie ich das verstehe kann ZFS selbst NFS-Funktionalität über mountd bereitstellen. Sprich ich kann einem ZFS dataset sagen, dass (und wie) ich es per NFS zur Verfügung zu stellen. Das finde ich schon sehr interessant, parallel dazu lese ich aber immer, dass NFS auf ZFS sehr langsam wird wenn man keine seperate ZIL anbietet. Ist das nur so wenn ich das "interne" NFS verwende oder auch wenn ich per exports arbeite? Wie ist das mit dem exportieren aller Mutterdatasets?
3. ZIL: Wo wir dabei sind... Eine extra ZIL sollte angeblich angeboten werden wenn man NFS nutzt oder viel mit Datenbanken arbeitet (alles was syncron schreiben will). Dass das ganze als Mirror ausgelegt sein soll ist (als Schreibpuffer) nachvollziehbar, aber wie wirkt sich das "Fehlen" aus? Gerade im Unterschied zu normalem UFS?
4. root aus zpool: Ich gehe hier davon aus, dass ich ein ZFS-only-System verwende. Ich will nun den zpool als / verwenden und darin die entsprechenden Unterverzeichnisse die ich will als dataset anlegen. Andere Tutorials gehen davon aus, dass / als eigenes dataset unter ihrem zpool angelegt werden. Dann biegen die alle mountpoints der anderen datasets entsprechend um. Gibts da einen guten Grund für? Meines erachtens ist es doch völlig legitim das zpool selbst als / zu verwenden.
5. booten: Da ich ohne UFS arbeiten will muss der Spass natürlich booten. Also zum Einen mounten sich die ganzen ZFS-datasets ja selbst (wenn die Optionen richtig gesetzt sind) und brauchen daher keine fstab aber zum Anderen muss ja / gemounted werden. Ich habe das so verstanden, dass die Zeile "vfs.root.mountfrom="zfs:$NAME_MEINES_ROOT-ZFS" in der loader.conf dazu führt. Vorrausgesetzt, dass ich zfs in der loader.conf lade sollte dann alles funktionieren oder brauchts zum Booten nochwas?
Ok, ich muss noch "zpool set bootfs=$MEINPOOL $MEINPOOL" setzen. Wobei ich mich frage warum ich das UND den Eintrag im loader.conf setzen muss? Welche unterschiedliche Bedeutung haben die beiden?
6. swap: Das Swappen auf ZFS wird allgemeinhin nicht empfohlen da das Schreiben in ZFS-Swap selbst wieder Speicher braucht und sich somit die Katze in den Schwanz beisst. gmirror zusätzlich nur für den SWAP zu verwenden finde ich nicht reizvoll daher werde ich einzelne Swaps anlegen. Wie seht ihr das? Wenn er swappt es es ja eh schon "zu spät" für Performance. Wird sich das SWAP-auf-ZFS-Problem irgendwann lösen? Ich vermute nein, da es ja ein intrinsisches Problem von ZFS ist.
7. cache: Beim anlegen des ZFS über eine LiveCD wird ein Cache angelegt den ich später nach /boot/zfs/$MEINPOOL.cache kopiere. Was genau steht denn da drin und warum kann das ZFS nicht ohne den? Kann ich mir das kopieren sparen wenn ich den pool exportiere? (Vermutlich kann ich dann nicht davon booten?).
8. import & export: Was genau macht denn das? OK, wenn ich Platten umbaue soll ich exportieren und im Zielsystem importieren. Aber was genau wird da gemacht? Geht es im den Cache?
9. src.conf: Ich lese dann noch hin und wieder: "'LOADER_ZFS_SUPPORT=YES' > /etc/src.conf". Was macht denn das?!
10. /var/empty: Hat nix direkt damit zu tun aber der wird gerne als eigenes Dataset angelegt und ich frage mich: Was ist denn das für ein Ordner der immer leer sein soll?!
Soweit meine kleine Fragerunde....
Danke für eure Anteilnahme

nachdem ich nun doch beschlossen hatte auf ZFS zu wechseln habe ich mir die Manpages zu zpool(8) und zfs(8) durchgelesen. Dabei sind mir jedoch einige Fragen aufgetreten.
1. jail: Ich kann angeblich ein ZFS dataset an eine Jail binden. Aber war bringt mir das nun genau? Ich habe es so verstanden, dass dies einfach nur dazu führt, dass ich per zfs(8) aus der Jail herraus Einfluss auf das dataset nehmen kann? (aber nicht auf den zpool vermute ich).
2. NFS: So wie ich das verstehe kann ZFS selbst NFS-Funktionalität über mountd bereitstellen. Sprich ich kann einem ZFS dataset sagen, dass (und wie) ich es per NFS zur Verfügung zu stellen. Das finde ich schon sehr interessant, parallel dazu lese ich aber immer, dass NFS auf ZFS sehr langsam wird wenn man keine seperate ZIL anbietet. Ist das nur so wenn ich das "interne" NFS verwende oder auch wenn ich per exports arbeite? Wie ist das mit dem exportieren aller Mutterdatasets?
3. ZIL: Wo wir dabei sind... Eine extra ZIL sollte angeblich angeboten werden wenn man NFS nutzt oder viel mit Datenbanken arbeitet (alles was syncron schreiben will). Dass das ganze als Mirror ausgelegt sein soll ist (als Schreibpuffer) nachvollziehbar, aber wie wirkt sich das "Fehlen" aus? Gerade im Unterschied zu normalem UFS?
4. root aus zpool: Ich gehe hier davon aus, dass ich ein ZFS-only-System verwende. Ich will nun den zpool als / verwenden und darin die entsprechenden Unterverzeichnisse die ich will als dataset anlegen. Andere Tutorials gehen davon aus, dass / als eigenes dataset unter ihrem zpool angelegt werden. Dann biegen die alle mountpoints der anderen datasets entsprechend um. Gibts da einen guten Grund für? Meines erachtens ist es doch völlig legitim das zpool selbst als / zu verwenden.
5. booten: Da ich ohne UFS arbeiten will muss der Spass natürlich booten. Also zum Einen mounten sich die ganzen ZFS-datasets ja selbst (wenn die Optionen richtig gesetzt sind) und brauchen daher keine fstab aber zum Anderen muss ja / gemounted werden. Ich habe das so verstanden, dass die Zeile "vfs.root.mountfrom="zfs:$NAME_MEINES_ROOT-ZFS" in der loader.conf dazu führt. Vorrausgesetzt, dass ich zfs in der loader.conf lade sollte dann alles funktionieren oder brauchts zum Booten nochwas?
Ok, ich muss noch "zpool set bootfs=$MEINPOOL $MEINPOOL" setzen. Wobei ich mich frage warum ich das UND den Eintrag im loader.conf setzen muss? Welche unterschiedliche Bedeutung haben die beiden?
6. swap: Das Swappen auf ZFS wird allgemeinhin nicht empfohlen da das Schreiben in ZFS-Swap selbst wieder Speicher braucht und sich somit die Katze in den Schwanz beisst. gmirror zusätzlich nur für den SWAP zu verwenden finde ich nicht reizvoll daher werde ich einzelne Swaps anlegen. Wie seht ihr das? Wenn er swappt es es ja eh schon "zu spät" für Performance. Wird sich das SWAP-auf-ZFS-Problem irgendwann lösen? Ich vermute nein, da es ja ein intrinsisches Problem von ZFS ist.
7. cache: Beim anlegen des ZFS über eine LiveCD wird ein Cache angelegt den ich später nach /boot/zfs/$MEINPOOL.cache kopiere. Was genau steht denn da drin und warum kann das ZFS nicht ohne den? Kann ich mir das kopieren sparen wenn ich den pool exportiere? (Vermutlich kann ich dann nicht davon booten?).
8. import & export: Was genau macht denn das? OK, wenn ich Platten umbaue soll ich exportieren und im Zielsystem importieren. Aber was genau wird da gemacht? Geht es im den Cache?
9. src.conf: Ich lese dann noch hin und wieder: "'LOADER_ZFS_SUPPORT=YES' > /etc/src.conf". Was macht denn das?!
10. /var/empty: Hat nix direkt damit zu tun aber der wird gerne als eigenes Dataset angelegt und ich frage mich: Was ist denn das für ein Ordner der immer leer sein soll?!
Soweit meine kleine Fragerunde....

