ubuntuusers.de

ZFS mounted nicht vollständig nach boot

Status: Gelöst | Ubuntu-Version: Server 24.04 (Noble Numbat)
Antworten |

frogic

Anmeldungsdatum:
4. März 2025

Beiträge: Zähle...

Hey, ich habe leider ein Problem, was mich seit Wochen verrückt macht, weil ich keine Lösung finden kann. Und zwar habe ich einen ZFS pool, mit geschachtelten Datensätzen. Hier die Ausgabe von zfs list:

NAME                   USED  AVAIL  REFER  MOUNTPOINT
pool0                 15.3G  5.31T   112K  none
pool0/root            15.2G  5.31T  14.0G  /mnt/pool0
pool0/root/apps        144M  5.31T   141M  /mnt/pool0/apps
pool0/root/backups     152K  5.31T    96K  /mnt/pool0/backups

ZFS beinhaltet ja bereits selbst die Funktionalität, dass die pools automatisch gemounted werden. Wenn ich jetzt das System neu starte, dann wird auch etwas unter /mnt/pool0 eingehängt, allerdings existieren dort dann nur noch die ordnerstruktur und nur ganz wenige vereinzelte Dateien, die meisten Dateien sind aber verschwunden.

Wenn ich dann allerdings folgendes ausführe:

1
2
sudo zfs unmount pool0/root
sudo zfs mount pool0/root

dann erscheinen wieder alle Dateien wie erwartet innerhalb der /mnt/pool0 Ordnerstruktur. Ich habe schon geschaut, ob irgendwelche services von zfs nicht laufen, aber hier habe ich auch schon alles enabled, was ich im web so gefunden habe. Permissions scheinen auch nicht das Problem zu sein, da mit sudo die Dateien ebenfalls nicht auftauchen und sie auch nicht in docker container gemounted werden. Zumal der owner auch nach dem manuellen remount immer root:root ist.

Alles, was ich bisher dazu gefunden habe und ich ausprobiert habe, war leider ohne Erfolg. Kommt dieses Problem vielleicht irgendjemandem bekannt vor, oder hat eine Vermutung? Was gibt es noch für Dinge, die ich Prüfen könnte, um der Lösung des Problems näher zu kommen?

Vielen Dank!

frogic

(Themenstarter)

Anmeldungsdatum:
4. März 2025

Beiträge: Zähle...

Ich habe jetzt nach einigen Stunden Suche endlich das Problem gefunden, im Nachhinein erscheint es offensichtlich und wäre aus den Informationen, die ich bisher zur Verfügung gestellt habe, auch gar nicht ersichtlich.

Ich habe ursprünglich nur das Dataset pool0/root erstellt, und das pool0/root/apps Dataset kam erst später. Allerdings hatte ich im pool0/root Dataset schon einen Ordner apps in dem Daten lagen. Heißt aber, dass die 'leeren' Daten aus dem Dataset pool0/root/apps über diese drüber gemounted werden. Mein unmount und mount hat dafür gesorgt, dass nur noch der Datensatz pool0/root gemounted war, und damit waren sie wieder da.

Also mein fix war:

  • Alle Datensätze unmounten

  • Nur noch pool0/root Datensatz mounten

  • Ordner, die mit nested Datasets kollidieren, umbenennen

  • Alle anderen Datensätze wieder mounten

  • Inhalt aus den umbenannten Ordnern in die korrekten Datasets kopieren

Antworten |