Was ist ein ZFS-Legacy-Einhängepunkt?

Was ist ein ZFS-Legacy-Einhängepunkt?

Ich versuche zu verstehen, wie ZFS funktioniert, wenn ich beispielsweise einen Snapshot erstelle. Wenn ich die ZFS-Liste auf dem Computer verwende, erhalte ich einige Einhängepunkte und einige Pfade. Zum Beispiel erhalte ich so etwas:

rpool/ROOT/s10x_u10_wos_17b      5.3gb   58.2gb    5.3gb     /

Ich bekomme als Einhängepunkt die Wurzel /.

Mein erster Gedanke war, dass die eigentliche Datei vorhanden ist, aber als ich zum /rpoolVerzeichnis navigierte, gab es kein ROOT-Verzeichnis. Nach einigem Nachdenken sah ich, dass es /rpool/ROOTtatsächlich auf Legacy gemountet ist, also muss es irgendwo anders sein.

Könnte jemand erklären, wo sich die Dateien befinden, wenn es im Legacy-Modus gemountet wird, und vielleicht auch, warum dieser Legacy-Modus verwendet wird?

Antwort1

Ich verstehe den Zweck des alten Einhängepunkts nicht.

ZFS bietet eine hierarchische Struktur von Datensätzen innerhalb eines Pools. In Ihrem Fall haben Sie einen Pool mit dem Namen rpoolund mindestens die folgenden Datensätze:

  • rpool
  • rpool/ROOT
  • rpool/ROOT/s10x_u10_wos_17b

Jeder dieser Datensätze ist häufig ein Dateisystem (es kann aber stattdessen auch ein Volume/Blockgerät sein).

Da es sich bei jedem dieser Datensätze wahrscheinlich um ein vollständiges/unabhängiges Dateisystem handelt, kann jeder auch unabhängig gemountet oder nicht gemountet sein.

Standardmäßig mountet ZFS untergeordnete Datasets an ihrem logischen Speicherort innerhalb des übergeordneten Datasets. Wenn das rpoolDataset bei gemountet ist /rpool(d. h. Standard), würden Sie feststellen, dass das rpool/ROOTDataset bei gemountet ist /rpool/ROOTusw.

Dies wird durch die mountpointEigenschaft gesteuert – führen Sie sie aus, zfs get -rt filesystem mountpointum den aktuellen Wert für jeden Datensatz anzuzeigen.

  • Wenn der Wert ein Pfad ist, wird ZFS den Datensatz automatisch unter diesem Pfad mounten, wenn der Pool importiert wird. Die Standardeinstellung (wie oben erwähnt) besteht darin, das Dateisystem unter dem übergeordneten Pfad zu mounten.
  • Wenn der Wert ist none, wird ZFS das Dateisystem nicht mounten und das Dateisystemkann nichtkann mit beiden montiert werden mount.
  • Wenn der Wert ist legacy, mountet ZFS das Dateisystem nicht, Sie können aber mountund verwenden umount, um den Mountpunkt des Dateisystems manuell zu verwalten. Sie können auch verwenden, /etc/fstabum das automatische Mounten zu steuern.

In Ihrer Situation rpool/ROOT/s10x_u10_wos_17bist der Datensatz hier gemountet /(d. h. es ist Ihr Root-Dateisystem). Um dies zu erreichen, können Sie es entweder festlegen mountpoint=/und ZFS die Dinge erledigen lassen oder mountpoint=legacyes explizit festlegen und mounten.

Da es sich hierbei um Ihr Root-Dateisystem handelt, ist die Verwaltung durch ZFS keine wirkliche Option und Sie müssen den Einhängepunkt explizit angeben.

Daher rpool/ROOT/s10x_u10_wos_17bhat mountpoint=legacy.

Antwort2

Der Legacy-Mountpoint wird normalerweise verwendet, wenn die Dateisysteme mithilfe von gemountet werden fstab.

Aus der FreeBSD-Handbuchseite:

Bei Bedarf können ZFS-Dateisysteme auch mit herkömmlichen Tools (mount(8), umount(8), fstab(5)) verwaltet werden. Wenn der Einhängepunkt eines Dateisystems auf „Legacy“ gesetzt ist, unternimmt ZFS keinen Versuch, das Dateisystem zu verwalten, und der Administrator ist für das Einhängen und Uneinhängen des Dateisystems verantwortlich.

verwandte Informationen