Wo/wie mounte ich alle Datasets eines funktionierenden System-Zpools nach dem Hochfahren von einem USB-Recovery-Memstick

obsigna

Well-Known Member
Der Zpool (namens zroot) ist 100 % i.o, denn das System (13.1-RELEASE) startet damit einwandfrei.

Um den Krisenfall zu simulieren, fahre ich das System nun von einem USB-Memstick hoch (ebenfalls 13.1-RELEASE, das Dateisystem des Sticks ist UFS2 aber das darf hier keine Rolle spielen).

# zpool status
Code:
  pool: zroot
 state: ONLINE
  scan: scrub repaired 0B in 00:00:19 with 0 errors on Sat Mar  4 23:55:46 2023
config:

    NAME        STATE     READ WRITE CKSUM
    zroot       ONLINE       0     0     0
      mirror-0  ONLINE       0     0     0
        ada0p3  ONLINE       0     0     0
        ada1p3  ONLINE       0     0     0

errors: No known data errors

Ein Dataset des Pools wird beim Hochfahren (eigentlich ungewollt) schon gemounted, nämlich /zroot. Der Mount ist aber so oder so immer komplett sinnlos, der ist ja immer leer.

Wie mounte ich die anderen Datesets, um ggf. Reparaturen vornehmen zu können, und vor allem wo, denn ich will ja nicht, daß z.B. /usr vom USB-Stick durch zroot/usr overmounted wird.

Eigentlich suche ich ein Kommando wie # zfs mount mirror-0 /mnt. So habe ich das ja mit UFS immer gemacht, um alle 2-3 Jahre mal ein Problem mit der System-Konfiguration zu beheben - also # mount /dev/gpt/system /mnt, nur z.B. # nano /mnt/etc/rc.conf -> Fehler behoben, Reboot, Stick raus, fertig.

Geht das mit ZFS so überhaupt?
 
Ich weiß jetzt nicht auswendig wie die zroot Datasets heißen, aber du kannst einfach einen neuen Mountpoint setzten:

zfs set mountpoint=/mnt/usr zroot/usr

(Angenommen das Dataset für /usr wäre zroot/usr). Natürlich danach wieder zurücksetzten nicht vergessen!

Falls du mehrere hast und vielleicht allgemein schöner: Den Pool wieder exportieren (zpool export) und danach beim import einen alternativen Root setzen, zpool import -R /oldsystem zpool

Dann solltest du alles unter /oldsystem haben.
 
Danke!

„set mountpoint“ hat funktioniert, genauer gesagt nach dem Hochfahren vom Recovery-Memstick kann ich jetzt folgendes machen:

# zfs set mountpoint=/mnt zroot/ROOT/default
# zfs mount zroot/ROOT/default
...
Arbeiten in der ZFS-System-Dateihierarchie unter /mnt.
...
# umount /mnt
# zfs set mountpoint=/ zroot/ROOT/default
 
Zurück
Oben