有没有一种正确的方法可以将 ZFS 数据集(在我的情况下是 ext4 ubuntu 文件系统)写入空白 SSD?数据看起来像这样,这很有帮助
tank/filesystems/ubuntu_1604/(/etc, /boot, /var, and so on)
tank/filesystems/centos_7/(/etc, /boot /var, and so on)
我在想也许我可以用 dd 做一个精确的位复制,但我不知道这与 ZFS 的复制如何配合。
dd if=/filesystems/ubuntu_1604/ of=/dev/sdb bs=1m
有人这样做过吗?
答案1
创建数据集的快照并将zfs send
其内容写入设备。不过,读取实际数据时可能会出现垃圾问题。在这种情况下,您需要记录数据流的大小以将读取限制在有效负载内。
除非您想写入整个池,否则dd
由于以下两个原因是不合适的:
您需要导出池才能使用,
dd
否则输出将无法使用。您无法使用导出的 zpool 访问单个数据集。Zpools 存储在设备(磁盘、分区……)中,但数据集存储在共享 zpools 中。数据集和底层设备之间没有一对一的关系。