我经常为30个虚拟机(VM)拍摄20个版本的ZFS快照。
我的快照列表仅适用于两个VM:
rpool/data/vm-100-disk-1@rep_100_2018-08-14_20:08:20 218M - 80.6G -
rpool/data/vm-100-disk-1@rep_100_2018-08-15_00:13:27 46.4M - 80.6G -
rpool/data/vm-100-disk-1@rep_100_2018-08-15_04:23:47 20.6M - 80.6G -
rpool/data/vm-100-disk-1@rep_100_2018-08-15_08:11:11 53.3M - 80.6G -
rpool/data/vm-100-disk-1@rep_100_2018-08-15_11:12:03 181M - 80.6G -
rpool/data/vm-100-disk-1@rep_100_2018-08-15_14:12:32 176M - 80.6G -
rpool/data/vm-100-disk-1@rep_100_2018-08-15_17:12:09 126M - 80.5G -
rpool/data/vm-100-disk-1@rep_100_2018-08-15_20:11:06 120M - 80.5G -
rpool/data/vm-100-disk-1@rep_100_2018-08-16_05:29:05 157M - 80.6G -
rpool/data/vm-100-disk-1@rep_100_2018-08-16_11:27:24 6.72M - 80.6G -
rpool/data/vm-100-disk-1@rep_100_2018-08-16_11:28:08 6.75M - 80.6G -
rpool/data/vm-100-disk-1@rep_100_2018-08-16_14:07:33 208M - 80.5G -
rpool/data/vm-100-disk-1@rep_100_2018-08-16_17:08:18 142M - 80.4G -
rpool/data/vm-100-disk-1@rep_100_2018-08-16_20:05:09 55.3M - 80.4G -
rpool/data/vm-100-disk-1@rep_100_2018-08-17_00:08:29 53.7M - 80.4G -
rpool/data/vm-100-disk-1@rep_100_2018-08-17_04:07:15 46.3M - 80.4G -
rpool/data/vm-100-disk-1@rep_100_2018-08-17_08:06:04 53.9M - 80.4G -
rpool/data/vm-100-disk-1@rep_100_2018-08-17_11:05:05 209M - 80.3G -
rpool/data/vm-100-disk-1@rep_100_2018-08-17_14:15:43 202M - 80.3G -
rpool/data/vm-100-disk-1@rep_100_2018-08-17_17:20:43 0B - 80.2G -
rpool/data/vm-102-disk-1@rep_102_2018-08-14_20:06:09 588M - 75.5G -
rpool/data/vm-102-disk-1@rep_102_2018-08-15_00:06:33 106M - 75.6G -
rpool/data/vm-102-disk-1@rep_102_2018-08-15_04:11:10 65.2M - 75.6G -
rpool/data/vm-102-disk-1@rep_102_2018-08-15_08:06:22 60.6M - 75.6G -
rpool/data/vm-102-disk-1@rep_102_2018-08-15_11:07:57 56.8M - 75.6G -
rpool/data/vm-102-disk-1@rep_102_2018-08-15_14:08:06 58.4M - 75.6G -
rpool/data/vm-102-disk-1@rep_102_2018-08-15_17:08:28 61.0M - 75.6G -
rpool/data/vm-102-disk-1@rep_102_2018-08-15_20:07:40 68.4M - 75.6G -
rpool/data/vm-102-disk-1@rep_102_2018-08-16_05:22:16 68.4M - 75.6G -
rpool/data/vm-102-disk-1@rep_102_2018-08-16_11:19:01 1.46M - 75.6G -
rpool/data/vm-102-disk-1@rep_102_2018-08-16_11:19:21 1.39M - 75.6G -
rpool/data/vm-102-disk-1@rep_102_2018-08-16_14:04:35 44.4M - 75.6G -
rpool/data/vm-102-disk-1@rep_102_2018-08-16_17:03:48 43.5M - 75.6G -
rpool/data/vm-102-disk-1@rep_102_2018-08-16_20:02:45 52.8M - 75.6G -
rpool/data/vm-102-disk-1@rep_102_2018-08-17_00:03:51 63.9M - 75.6G -
rpool/data/vm-102-disk-1@rep_102_2018-08-17_04:04:03 61.9M - 75.6G -
rpool/data/vm-102-disk-1@rep_102_2018-08-17_08:03:45 48.1M - 75.6G -
rpool/data/vm-102-disk-1@rep_102_2018-08-17_11:02:28 51.9M - 75.6G -
rpool/data/vm-102-disk-1@rep_102_2018-08-17_14:11:25 72.1M - 75.6G -
rpool/data/vm-102-disk-1@rep_102_2018-08-17_17:16:03 0B - 75.6G -
如何仅列出所有VM的最新拍摄快照以检查拍摄的最新快照?
最新拍摄的快照可以通过以下方式获得:
zfs list -t snapshot -o name,creation -s creation | tail -n1
如果使用资本-S
按属性降序排序,则在这种情况下返回第一个拍摄的快照:
zfs list -t snapshot -o name,creation -S creation | tail -n1
这取决于您的具体情况,因为快照可以存在于所有级别的嵌套文件系统中。
如果您确定每个VM的所有后代文件系统都在同一时间快照(使用zfs snapshot -r <root_filesystem>
而不是单独),那么您只需要查看根级别(您可以使用所有根文件系统或放置你自己的名单中的名字):
#!/bin/bash
for i in $(zfs list -H -o name -d 0); do
zfs list -H -r -d 1 -t snap -o name -S creation "${i}" | head -n1
done
如果您有与根不同的后代的快照,则不能使用-d 1
来限制深度,但需要显示所有快照。其余类似:
#!/bin/bash
for i in $(zfs list -H -o name -d 0); do
zfs list -H -r -t snap -o name -S creation "${i}" | head -n1
done
您可能还想检查所有后代快照是否符合与根快照相同的格式,或者所有后代都有快照。但两种情况都有点复杂。我建议看看zfs list
选项/手册页,并使用awk
或grep
来实现这一目标。