是否可以备份zfs存储池? 如果FS在原始磁盘上,我们可以打开并读取字符设备接口以将磁盘复制到文件。我们可以使用循环设备接口挂载文件。是否可以使用open,read系统调用以编程方式在zpool中执行此操作?
答案 0 :(得分:3)
我建议查看ZFS复制功能,该功能使用send
和receive
子命令。使用这些工具,您可以生成特定数据集的块级数据流,并将该流保存到文件中。如果为根数据集生成流并包含所有子数据集,则将捕获池中的所有数据。请注意zfs send
对快照进行操作,因此您需要事先获取递归快照:
zfs snapshot -r tank@current
zfs send -R tank@current > ./stream.zfs
然后当您想要恢复数据时:
cat ./stream.zfs | zfs receive tank