Filesystems

從現有目錄創建 zfs 的正確方法?

  • September 19, 2014

假設我有一個 rpool,其中 etc/ 作為正常目錄,現在我想創建一個單獨的 zfs rpool/etc,顯然繼承了我在原始 /etc 中的所有數據。

這樣做最合適和最安全的方法是什麼?

不支持/etc變成自己的 zfs 文件系統。

原因是/etc在引導的早期階段需要它,在 (Open)Solaris 開始掛載 zfs 文件系統之前,所以如果你改變它會是空的。

我的猜測是您想拍攝 的快照/etc,但您可以只拍攝根文件系統的快照:

zfs snapshot rpool/ROOT/opensolaris

您可能必須替換opensolaris為目前引導環境的名稱(執行beadm list找出哪個)

沒有內置或自動化的方式來創建新的 DataSet 並將現有數據遷移到其中。要完成它,您需要創建數據集並手動(例如 rsync)將數據添加到其中。

假設您有一個名為的數據集tank\set,其中有一個名為folder. 您想將文件夾“提升”為名為的子數據集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

然後檢查數據看起來不錯;拍攝父數據集的快照以防萬一,並刪除folder-backup目錄。

引用自:https://serverfault.com/questions/39738