Linux 上的 ZFS 快照递归卷和子卷

Linux 上的 ZFS 快照递归卷和子卷

我在 Linux 上使用 ZFS,并且有一些关于快照的问题。我有以下结构

mypool/HOME mounts /home
mypool/HOME/root mounts /root
mypool/ROOT mounts none
mypool/ROOT/rootfs mounts /
mypool/ROOT/rootfs/OPT  mounts /opt
mypool/ROOT/rootfs/USR  mounts /usr
mypool/ROOT/rootfs/VAR mounts /var
mypool/docker mounts /var/lib/docker

我想在运行时通过 cron 任务备份所有这些zfs snapshot -r mypool/HOME@today,它会递归地创建快照。但是当我将一些重内容复制到/home并创建另一个快照后,它显示已使用 0 或几 kb。

我想确定它会备份mypool/HOMEmypool/HOME/root. -r 选项对两者都有效吗?

与码头工人相同。 Docker 在其卷上有自己的快照/克隆/子卷。如果我这样做zfs snapshot -r mypool/docker,它会备份此时的所有数据吗?如果某些子卷出现/消失,我可以恢复与快照相同的状态吗?

答案1

根据man zfs

-r 递归创建所有后代数据集的快照

因此,zfs snapshot -r mypool/HOME@today将快照下的所有内容mypool/HOME

在您的帖子中,您交替使用快照和备份。快照是不是备份,创建时它们应该是 0kb。

特别是这个有关快照的详细概述以及 ZFS man(8) 页面。

答案2

快照不是备份。快照顾名思义:快照时文件系统状态的快照。所以它确实会显示出非常低的使用率。当您删除快照中唯一的大文件或大量文件时,您将看到快照使用量增加。

相关内容