zfs存储池的块级备份

时间:2011-07-11 09:43:02

标签: zfs volumes

是否可以备份zfs存储池? 如果FS在原始磁盘上,我们可以打开并读取字符设备接口以将磁盘复制到文件。我们可以使用循环设备接口挂载文件。是否可以使用open,read系统调用以编程方式在zpool中执行此操作?

1 个答案:

答案 0 :(得分:3)

我建议查看ZFS复制功能,该功能使用sendreceive子命令。使用这些工具,您可以生成特定数据集的块级数据流,并将该流保存到文件中。如果为根数据集生成流并包含所有子数据集,则将捕获池中的所有数据。请注意zfs send对快照进行操作,因此您需要事先获取递归快照:

zfs snapshot -r tank@current
zfs send -R tank@current > ./stream.zfs

然后当您想要恢复数据时:

cat ./stream.zfs | zfs receive tank