Di bawah ini adalah daftar volume dan snapshot ZFS saya, serta asal dan klon untuk masing-masing.
Saya ingin menghapus semua snapshot, tetapi simpan semua sistem file. Bagaimana saya bisa melakukan ini?
Saya telah mencoba zfs promote
diikuti dengan mencoba menghapus setiap filesystem untuk berbagai kombinasi filesystem yang berbeda. Ini bergeser di sekitar tempat foto "hidup"; misalnya, zfs promote tank/containers/six
memindahkan snapshot F
dari tank/containers/three@F
ke tank/containers/six@F
. Data langsung di sistem file tidak dimodifikasi (yang saya inginkan!), Tapi saya masih tidak bisa menghapus snapshot (yang bukan yang saya inginkan).
Suatu zfs destroy
upaya yang khas memberi tahu saya bahwa itu memiliki klon tergantung, beberapa di antaranya (snapshot) yang ingin saya hancurkan, tetapi yang lain (sistem file) yang saya tidak ingin hancurkan.
Sebagai contoh.
# zfs destroy tank/containers/six@A
cannot destroy 'tank/containers/six@A': snapshot has dependent clones
use '-R' to destroy the following datasets:
tank/containers/five
tank/containers/two@B
tank/containers/two
Dalam contoh di atas, saya tidak ingin menghancurkan tank/containers/five
atau tank/containers/two
, tetapi jika saya zfs promote
lima dan dua, saya masih tidak dapat menghancurkan snapshot. Apakah ada solusinya?
# zfs list -t all -o name,origin,clones
NAME ORIGIN CLONES
tank - -
tank/containers - -
tank/containers/five tank/containers/two@B -
tank/containers/four tank/containers/six@C -
tank/containers/one - -
tank/containers/one@E - tank/containers/three
tank/containers/two tank/containers/six@A -
tank/containers/two@B - tank/containers/five
tank/containers/six tank/containers/three@F -
tank/containers/six@A - tank/containers/two
tank/containers/six@C - tank/containers/four
tank/containers/three tank/containers/one@E -
tank/containers/three@F - tank/containers/six