基于 zfs 的系统的备份

基于 zfs 的系统的备份

我最近在家用服务器上设置了一个 ubuntu 22.04 系统。我已选择 ZFS 作为文件系统。我将使用 ubuntu 系统执行一些在 Windows 上无法轻松完成的任务,并且我想运行一个小型 Kubernetes 安装。

因此,我想知道哪种备份策略最好。由于不熟悉 ZFS,我做了一个小教程 (https://ubuntu.com/tutorials/using-zfs-snapshots-clones) 并在 Google 上搜索。我目前最好的猜测是定期运行一个 cron 作业,将我机器文件系统的完整备份发送到我的 NAS。我的 Ubuntu 的 zpool 列表显示 2 个池(bpool 和 rpool)。

我可以想到两种情况:

  • 我的安装搞乱了,我想返回到早期的快照(即上周)
  • 我的服务器磁盘坏了

我认为在这两种情况下我都可以(可能)做类似的事情,如下所述:如何正确保存和恢复 Ubuntu 系统的加密 ZFS 快照?因此我会这样做(定期通过 cron):

  • zfs snapshot -r rpool@snapshotname
  • zfs snapshot -r bpool@snapshotname
  • 将两个快照发送到 naszfs send --replicate --raw rpool@snapshotname > /mnt/nas-mount/ubuntu-snapshots/snapshotname.zstreamzfs send --replicate --raw bpool@snapshotname > /mnt/nas-mount/ubuntu-snapshots/snapshotname2.zstream

那么,我是否也可以通过运行以下命令在全新磁盘的情况下恢复系统

  • zfs receive newrpool < /mnt/nas-mount/ubuntu-snapshots/snapshotname.zstream
  • 并通过以下方式回滚到快照zfs rollback -rR NAME

或者这只在我想要恢复数据但磁盘完好无损的情况下才有效?还有其他需要考虑的或更好的想法吗?不幸的是,我没有 2 个带有 ZFS 的系统。

相关内容