【问题标题】:zfs list -t snaphost to identify if pool was changedzfs list -t snaphost 以识别池是否已更改
【发布时间】:2018-05-15 02:29:21
【问题描述】:

我使用zfs list -t snapshot 来确定池是否已更改。如果最后一个快照显示它使用了一些空间,那么我确定池已更改并且我(实际上是一个脚本)做了另一个快照。

我注意到,如果我将文件从 1 个文件夹移动到池中的另一个文件夹,那么命令 zfs list -t snapshot 仍会返回 0 作为最后一个快照的大小。这对我不利,因为我需要确定我的池是否已更改。我做错了什么?有没有其他更可靠的方法来识别池是否真的被改变了?

【问题讨论】:

    标签: snapshot zfs


    【解决方案1】:

    快照显示您的文件系统在过去某个特定时间点(包括其大小)的情况。如果您之后删除或修改文件,则不同的块(即现在已删除或修改的块)将保留在文件系统上(将它们视为已锁定;或类似于硬链接在 Unix 上的工作方式,只要对文件的引用存在,它不会被删除)。

    相反,如果你只是添加一个新文件,旧块保持不变,因此快照的大小不会有所不同。在同一文件系统中移动文件夹不会添加新数据,因此不会显示大小。

    要查看差异,您可以使用zfs diff pool/dataset@snapshot pool/dataset 将当前状态与上一个快照进行比较。有关在脚本中使用输出的详细信息,请参阅my other answer here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-31
      • 2020-05-31
      • 1970-01-01
      • 1970-01-01
      • 2018-09-30
      • 1970-01-01
      • 2022-12-04
      • 1970-01-01
      相关资源
      最近更新 更多