Cara yang tepat untuk membuat zfs dari direktori yang ada?

9

Katakanlah saya punya rpool dengan etc / sebagai direktori reguler di dalamnya dan sekarang saya ingin membuat zfs rpool / etc terpisah, jelas mewarisi semua data yang saya miliki di asli / etc.

Apa cara yang paling tepat dan aman untuk melakukannya?

Yurii Rashkovskii
sumber

Jawaban:

4

Itu tidak didukung untuk berubah /etcmenjadi sistem file zfs sendiri.

Alasannya adalah bahwa /etcdiperlukan selama tahap awal boot, sebelum (Buka) Solaris mulai me-mount sistem file zfs, jadi itu akan kosong jika Anda mengubahnya.

Dugaan saya adalah bahwa Anda ingin mengambil snapshot dari /etc, tetapi Anda dapat mengambil snapshot dari sistem file root sebagai gantinya:

zfs snapshot rpool/ROOT/opensolaris

Anda mungkin harus mengganti opensolarisdengan nama lingkungan boot saat ini (jalankan beadm listuntuk mencari tahu mana)

Martin
sumber
2
ok, bagaimana dengan direktori lain, lalu? katakanlah, rpool / zona / myzone / ekspor / home / git? :)
Yurii Rashkovskii
1
Jika Anda ingin mengubah direktori git Anda menjadi sistem file zfs, Anda hanya perlu membuat arsip tar dari konten saat ini, kemudian "rm -rf" direktori git, setelah itu jalankan "zfs create -o mountpoint = / path / to / git rpool / path / ke / apa pun / git "dan akhirnya untar file yang disimpan.
Martin
2
oh, ok, itulah yang saya pikir ... tapi diam-diam berharap ada cara transparan untuk ZFS perpecahan :)
Yurii Rashkovskii
8

Tidak ada cara bawaan atau otomatis untuk membuat DataSet baru dan memigrasikan data yang ada ke sana. Untuk menyelesaikannya, Anda harus membuat dataset dan secara manual (mis. Rsync) datanya.

Katakanlah Anda memiliki dataset yang diberi nama tank\setdirektori folder. Anda ingin 'mempromosikan' folder tersebut menjadi dataset anak bernama tank\set\folder:

mv /mnt/tank/set/folder /mnt/tank/set/folder-backup # move this out of the way so the new dataset doesn't mount on top of it
zfs create tank/set/folder
rsync -aAX /mnt/tank/set/folder-backup/ /mnt/tank/set/folder # bring over all the old data including acls and attributes

Kemudian tinjau bahwa datanya terlihat bagus; ambil snapshot dari dataset induk untuk jaga-jaga, dan hapus folder-backupdirektori.

STW
sumber