如何制作“整个” zroot (ZFS-on-root) 的快照?

如何制作“整个” zroot (ZFS-on-root) 的快照?

我尝试了 FreeBSD 10 上提供的实验性 ZFS-on-root 分区方案。除了我可以快速克服的启动问题外,它似乎运行良好。

无论如何,这是根据 df 的“分区”布局。

Filesystem            Size    Used   Avail Capacity  Mounted on
zroot/ROOT/default     24G    4.0G     20G    17%    /
devfs                 1.0K    1.0K      0B   100%    /dev
zroot/tmp              20G    192K     20G     0%    /tmp
zroot/usr/home         20G    188K     20G     0%    /usr/home
zroot/usr/ports        20G    144K     20G     0%    /usr/ports
zroot/usr/src          21G    1.1G     20G     5%    /usr/src
zroot/var              20G     38M     20G     0%    /var
zroot/var/crash        20G    148K     20G     0%    /var/crash
zroot/var/log          20G    248K     20G     0%    /var/log
zroot/var/mail         20G    144K     20G     0%    /var/mail
zroot/var/tmp          20G    152K     20G     0%    /var/tmp

我跑了

zfs snapshot zroot@fresh

第一次启动后。但是当我回滚到该快照时,似乎什么都没发生。我对 /etc 中某些文件所做的更改仍然存在。从我在 /usr/src 中执行的 svn checkout 中检索的文件仍然存在。

我想要做的是制作“整个”zroot 的快照,以便我可以将所有内容恢复到该快照。有人可以帮忙吗?谢谢

非常感谢 :)

答案1

您可以通过以下方式递归创建快照:

zfs snapshot -r zroot@fresh

答案2

您无法创建 zpool(在本例中为 zroot)的快照。您只能创建 zpool 上的文件系统的快照。您可以做的是创建所有相关文件系统的快照:

for fs in $(zfs list | grep ^zroot | awk '{print $1;}'
do
  echo "Making snapshot of ${i}"
  zfs snapshot ${fs}@fresh
done

相关内容