zfs存储池的块级备份

发布于 2024-11-19 04:49:26 字数 123 浏览 6 评论 0原文

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

Is possible to take a backup of zfs storage pool ?
If the FS is on a raw disk, we can open and read the character device interface to replicate the disk to a file.We can mount the file using the loop device interface. Is it possible to do this in zpool programatically using open, read system calls?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

滥情哥ㄟ 2024-11-26 04:49:26

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

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

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

cat ./stream.zfs | zfs receive tank

I'd recommend looking into the ZFS replication feature, which uses the send and receive subcommands. With those tools, you can generate a block-level data stream of a particular dataset and save that stream to a file. If you generate a stream for the root dataset and include all child datasets, that will capture all data in the pool. Note that zfs send operates on a snapshot, so you will need to take a recursive snapshot beforehand:

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

Then when you want to restore your data:

cat ./stream.zfs | zfs receive tank
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文