2011-07-11 41 views
2

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

回答

3

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

zfs snapshot -r [email protected] 
zfs send -R [email protected] > ./stream.zfs 

然后,当你想恢复你的数据:

cat ./stream.zfs | zfs receive tank