【问题标题】:Listing most recent ZFS snapshots列出最近的 ZFS 快照
【发布时间】:2019-01-24 17:49:34
【问题描述】:

我定期为 30 台虚拟机 (VM) 拍摄 ZFS 快照,进行 20 次版本控制。

我的快照列表仅适用于两个虚拟机:

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 的最新拍摄的快照以检查最新拍摄的快照?

【问题讨论】:

    标签: linux list search snapshot zfs


    【解决方案1】:

    这取决于您的具体情况,因为快照可以存在于所有级别的嵌套文件系统中。

    如果您确定每个 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 选项/手册页并使用awkgrep 来实现这一点。

    【讨论】:

      【解决方案2】:

      可以通过以下方式获取最新拍摄的快照:

      zfs list -t snapshot -o name,creation -s creation | tail -n1
      

      如果使用大写 -S 按属性降序排序,则返回第一个拍摄的快照:

      zfs list -t snapshot -o name,creation -S creation | tail -n1
      

      【讨论】:

      • 第一个命令只返回一个快照。但它必须为每个最新拍摄的快照返回 30 行结果(对于 30 个 vm)。
      • tail -n30 ?祝你好运。
      猜你喜欢
      • 2018-10-07
      • 1970-01-01
      • 2016-06-08
      • 1970-01-01
      • 2017-12-08
      • 1970-01-01
      • 1970-01-01
      • 2018-01-28
      • 2020-05-31
      相关资源
      最近更新 更多