是否可以备份 zfs 存储池? 如果FS位于原始磁盘上,我们可以打开并读取字符设备接口(interface),以将磁盘复制到文件。我们可以使用循环设备接口(interface)挂载文件。是否可以使用 open、read 系统调用以编程方式在 zpool 中执行此操作?
最佳答案
我建议您研究一下 ZFS 复制功能,它使用 send
和 receive
子命令。使用这些工具,您可以生成特定数据集的 block 级数据流并将该流保存到文件中。如果您为根数据集生成流并包含所有子数据集,则这将捕获池中的所有数据。请注意,zfs send
对快照进行操作,因此您需要事先拍摄递归快照:
zfs snapshot -r tank@current
zfs send -R tank@current > ./stream.zfs
然后当您想要恢复数据时:
cat ./stream.zfs | zfs receive tank
关于zfs - zfs存储池的 block 级备份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6648325/