编写zfs数据集以阻止存储

有没有一种适当的方式来写一个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 

有没有人做过这个?

创build数据集的快照,并使用zfs send将其内容写入您的设备。 可能会有一个问题,即使在阅读时仍然会遵循实际数据的垃圾。 在这种情况下,您需要logging数据stream的大小以将读取限制为有效负载。

除非你想写整个池, dd是不合适的,原因有两个:

  • 您需要将池导出为使用dd否则输出将无法使用。 您无法使用导出的zpool访问单个数据集。

  • Zpools存储在设备(磁盘,分区…)中,但数据集存储在共享的zpools中。 数据集与底层设备之间没有一对一的关系。