可以说我有一个带有etc /的rpool作为其中的常规目录,现在我想创建一个单独的zfs rpool / etc,显然继承了原始/ etc中的所有数据。
这样做最合适,最安全的方法是什么?
可以说我有一个带有etc /的rpool作为其中的常规目录,现在我想创建一个单独的zfs rpool / etc,显然继承了原始/ etc中的所有数据。
这样做最合适,最安全的方法是什么?
Answers:
不支持将/etc
其转换为自己的zfs文件系统。
原因是/etc
在启动(Solaris)开始挂载zfs文件系统之前的引导的早期阶段就需要这样做,因此如果更改它,它将为空。
我的猜测是,您想拍摄的快照/etc
,但可以只拍摄根文件系统的快照:
zfs snapshot rpool/ROOT/opensolaris
您可能必须替换opensolaris
为当前引导环境的名称(运行beadm list
以找出哪个)
没有内置或自动的方式来创建新的数据集并将现有数据迁移到该数据集。为了完成它,您需要创建数据集并手动(例如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
目录。