Ursprünglich habe ich die folgende Methode verwendet, um ein ausgelastetes Dataset zu stoppen, damit ich dieses Dataset für einen Pool-Neuaufbau exportieren kann. Ich verwende ein ZFS-Dataset für mein /home-Verzeichnis und konnte den Prozess nicht finden, der es beschäftigt hielt. Hier ist meine Lösung, die auch für Sie funktionieren sollte, wenn Sie den Prozess anhand Ihres Datensatzes nicht finden können:
- Setzen Sie für alle Datensätze, die Sie exportieren möchten (aber beim Exportieren Probleme hatten):
zfs set canmount=noauto dataset1
zfs set canmount=noauto dataset2 ... und so weiter, wo Sie die Namen Ihrer Datasets durch dataset1, dataset2 usw. ersetzen...
Das Setzen von canmount=noauto stellt sicher, dass das Dataset beim Neustart nicht gemountet wird
-
Erstellen Sie ein Benutzerkonto (oder verwenden Sie das Root-Konto), das den Datensatz für /home usw. nicht verwendet. Geben Sie diesem Konto sudo-Berechtigungen.
-
Starten Sie neu und melden Sie sich bei dem obigen Konto an, d. h. dem Konto, das Sie gerade in Schritt 2 erstellt haben. Dieses Konto sollte booten, ohne die Datensätze zu mounten, die Sie in Schritt 1 geändert haben, und daher diese Datensätze für alle Daemons/Programme verweigern.
-
Da die Datensätze jetzt nicht beschäftigt sind, können Sie sie und/oder ihre Snapshots jetzt zerstören.
-
Achten Sie darauf:
zfs set canmount=on datasetx
(wobei datasetx Ihr fraglicher Datensatz ist) zu allen Datensätzen, die Sie beim Booten mounten möchten. Dies ist die zfs-Standardeinstellung. Best, Phil