激活 ZFS 快照

Mis*_*gri 14 zfs

我不小心从我的 zfs 池中删除了一些文件并尝试安装最新的快照,但我发现我没有快照。如何激活快照,如何配置?

我使用的是 Ubuntu 12.04.1 服务器和 zfs 0.6.1,池版本是 28。

小智 26

从 Ubuntu 17.04 开始,您可以像这样安装 zfs-auto-snapshot:

sudo apt install zfs-auto-snapshot
Run Code Online (Sandbox Code Playgroud)

对于 17.04 之前的 Ubuntu 版本,您可以设置zfs-auto-snapshot以使用来自存储库的自动快照

sudo add-apt-repository ppa:zfs-native/stable; sudo apt-get install zfs-auto-snapshot
Run Code Online (Sandbox Code Playgroud)

或者直接从github

curl -L https://github.com/zfsonlinux/zfs-auto-snapshot/archive/master.tar.gz | tar xz -C /tmp/
pushd /tmp/zfs-auto-snapshot-master && sudo make install && popd && rm -rf /tmp/zfs-auto-snapshot-master
Run Code Online (Sandbox Code Playgroud)

默认情况下,它每 15 分钟为每个数据集创建快照,并将快照保存长达 1 年。但是,您可以通过将com.sun:auto-snapshotdataset 属性设置为 false来禁用特定数据集的快照

sudo zfs set com.sun:auto-snapshot=false tank/tmp
Run Code Online (Sandbox Code Playgroud)

您还可以使用com.sun:auto-snapshot:...属性来调整自动快照行为。例如,每天为 tank/backup 数据集保存快照 31 天:

sudo zfs set com.sun:auto-snapshot=true tank/backup
sudo zfs set com.sun:auto-snapshot:monthly=false tank/backup
sudo zfs set com.sun:auto-snapshot:weekly=false tank/backup
sudo zfs set com.sun:auto-snapshot:daily=true tank/backup
sudo zfs set com.sun:auto-snapshot:hourly=false tank/backup
sudo zfs set com.sun:auto-snapshot:frequent=false tank/backup
Run Code Online (Sandbox Code Playgroud)

默认脚本保存:

  • 每 15 分钟频繁快照,保留 4 个快照
  • 每小时快照每小时,保留 24 个快照
  • 每日快照每天,保留31个快照
  • 每周快照每周,保留7张快照
  • 每月快照每月保存12张快照

  • 您还可以使用预先打包的 ZFS 存储库进行安装:`sudo add-apt-repository ppa:zfs-native/stable; sudo apt-get install zfs-auto-snapshot` (2认同)

Pas*_*nen 4

如果您没有拍摄任何快照,您就会丢失数据。

要拍摄快照,请使用zfs snapshot命令

http://docs.oracle.com/cd/E19253-01/819-5461/gbcya/index.html