正确的方法来创建一个ZFS现有目录?


Answers:


4

不支持将/etc其转换为自己的zfs文件系统。

原因是/etc在启动(Solaris)开始挂载zfs文件系统之前的引导的早期阶段就需要这样做,因此如果更改它,它将为空。

我的猜测是,您想拍摄的快照/etc,但可以只拍摄根文件系统的快照:

zfs snapshot rpool/ROOT/opensolaris

您可能必须替换opensolaris为当前引导环境的名称(运行beadm list以找出哪个)


2
好的,那其他目录呢?例如,rpool / zones / myzone / export / home / git?:)
Yurii Rashkovskii 09年

1
如果要将git目录转换为zfs文件系统,只需对当前内容进行tar归档,然后对git dir进行“ rm -rf”,然后运行“ zfs create -o mountpoint = / path / to / git rpool / path / to / whatever / git”,然后解压缩已保存的文件。
马丁

2
哦,好吧,这就是我的想法...但我暗中希望有一种透明的拆分zfs的方法:)
Yurii Rashkovskii 09年

8

没有内置或自动的方式来创建新的数据集并将现有数据迁移到该数据集。为了完成它,您需要创建数据集并手动(例如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目录。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.