Inizialmente, ho utilizzato il metodo seguente per interrompere un set di dati occupato per consentirmi di esportare questo set di dati per una ricostruzione del pool. Uso un set di dati ZFS per la mia directory /home e non sono riuscito a trovare il processo che lo ha tenuto occupato. Ecco la mia soluzione che dovrebbe funzionare anche per te, quando non riesci a trovare il processo utilizzando il tuo set di dati:
- Su tutti i set di dati che desideri esportare (ma hai avuto problemi con l'esportazione) imposta:
zfs set canmount=noauto dataset1
zfs set canmount=noauto dataset2 ... e così via dove sostituisci i nomi dei tuoi set di dati con dataset1, dataset2, ecc....
L'impostazione canmount=noauto garantisce che il set di dati non venga montato al riavvio
-
Crea un account utente (o utilizza l'account root) che non utilizza il set di dati per /home ecc... Assegna a questo account i privilegi sudo.
-
Riavvia e accedi all'account precedente, ovvero l'account che hai appena creato nel passaggio 2. Questo account dovrebbe avviarsi senza montare i set di dati modificati nel passaggio 1 e, pertanto, negare tali set di dati a qualsiasi demone/programma.
-
Poiché i set di dati ora non sono occupati, ora puoi distruggerli e/o le loro istantanee.
-
Assicurati di:
zfs set canmount=on datasetx
(dove datasetx è il set di dati in questione) a tutti i set di dati che si desidera montare all'avvio. Questa è l'impostazione predefinita di zfs. Migliore, Phil