Pertanyaan serupa ada tetapi solusinya (menggunakan mv
) mengerikan karena dalam hal ini berfungsi sebagai "salin, lalu hapus" daripada murni "bergerak".
Jadi, saya membuat kolam:
zpool create tank /dev/loop0
dan rsynced data saya dari penyimpanan lain di sana langsung sehingga data saya sekarang di /tank
.
zfs list
NAME USED AVAIL REFER MOUNTPOINT
tank 591G 2.10T 591G /tank
Sekarang saya menyadari bahwa saya perlu data saya berada di sistem file anak, bukan di /tank
sistem file secara langsung.
Jadi bagaimana cara saya memindahkan atau mengganti nama sistem file root yang ada sehingga menjadi anak di dalam kumpulan?
Ganti nama sederhana tidak akan berfungsi:
zfs rename tank tank/mydata
cannot rename to 'tank/mydata': datasets must be within same pool
(Btw, mengapa itu mengeluh bahwa dataset tidak berada dalam kelompok yang sama padahal jika sebenarnya saya hanya memiliki satu kelompok?)
Saya tahu ada solusi yang melibatkan menyalin semua data ( mv
, atau mengirim seluruh dataset ke perangkat lain dan kembali), tetapi tidakkah seharusnya ada cara elegan yang sederhana?
Hanya mencatat bahwa saya tidak peduli dengan snapshot pada tahap ini (belum ada yang peduli).
sumber
Mengingat masalah yang didokumentasikan oleh @USDMatt, ZFS kirim / terima mungkin adalah cara terbaik untuk pergi.
Hati-hati saat menjalankan rm -rf jika Anda tidak mengubah titik mount jika Anda memiliki sistem file lain di zpool tangki Anda. Anda tidak ingin menghapus konten filesystem baru (/ tank / newname) secara rekursif atau / lainnya (/ tank / *) lainnya secara tidak sengaja.
sumber
Saya tidak berpikir ada cara elegan yang sederhana ... meskipun Anda hanya bisa mengubah mountpoint Anda ...
Atau mungkin ganti nama tangki dan kemudian pasang di tempat yang Anda butuhkan ...
Entah itu, atau membuat sistem file di tempat yang tepat dan cp, mv, atau zfs mengirim / menerima ...
sumber