ZFS 快照与“主”文件系统有差异吗,或者彼此之间有差异吗?

ZFS 快照与“主”文件系统有差异吗,或者彼此之间有差异吗?

我正在使用 ZFS 快照来维护对备份文件系统的历史版本的访问。

fadedbee@backup:/backups$ sudo zfs list -t snapshot
NAME                       USED  AVAIL  REFER  MOUNTPOINT
bpool/backups@2018-06-01  96.8M      -  18.3G  -
bpool/backups@2018-06-18  96.8M      -  18.3G  -
bpool/backups@2018-06-19  96.8M      -  18.3G  -
bpool/backups@2018-06-20  96.4M      -  18.3G  -
bpool/backups@2018-06-21  96.2M      -  18.3G  -
bpool/backups@2018-06-22  63.3M      -  18.3G  -
bpool/backups@2018-06-23  62.1M      -  18.3G  -
bpool/backups@2018-06-24  62.1M      -  18.3G  -
bpool/backups@2018-06-25  96.1M      -  18.3G  -
bpool/backups@2018-06-26  96.0M      -  18.3G  -
bpool/backups@2018-06-27  97.1M      -  18.3G  -
bpool/backups@2018-06-28  96.2M      -  18.3G  -
bpool/backups@2018-06-29  62.7M      -  18.3G  -
bpool/backups@2018-06-30  63.4M      -  18.3G  -
bpool/backups@2018-07-01  63.0M      -  18.3G  -
bpool/backups@2018-07-02  96.5M      -  18.3G  -
bpool/backups@2018-07-03  96.6M      -  18.3G  -
bpool/backups@2018-07-04  96.2M      -  18.3G  -
bpool/backups@2018-07-05  96.7M      -  18.3G  -
bpool/backups@2018-07-06  62.5M      -  18.3G  -
bpool/backups@2018-07-07  62.8M      -  18.3G  -
bpool/backups@2018-07-08  63.9M      -  18.3G  -
bpool/backups@2018-07-09  97.3M      -  18.3G  -
bpool/backups@2018-07-10  96.3M      -  18.3G  -
bpool/backups@2018-07-11  97.6M      -  18.3G  -
bpool/backups@2018-07-12  98.3M      -  18.3G  -
bpool/backups@2018-07-13  63.1M      -  18.3G  -
bpool/backups@2018-07-14  62.6M      -  18.3G  -
bpool/backups@2018-07-15  63.3M      -  18.3G  -
bpool/backups@2018-07-16  97.5M      -  18.3G  -
bpool/backups@2018-07-17      0      -  18.3G  -
fadedbee@backup:/backups$ sudo zfs list
NAME            USED  AVAIL  REFER  MOUNTPOINT
bpool          21.0G  3.49T    96K  /bpool
bpool/backups  21.0G  3.49T  18.3G  /backups

这些快照的 USED 大小是每次快照与现在的差异大小吗?还是快照之间的差异大小?

我知道我可以通过删除快照来测试这一点,但这个问题不够重要,不值得这样做或设置测试场景。

答案1

来自 zfs 手册页:

创建快照(请参阅“快照”部分)时,其空间最初在快照和文件系统之间共享,并且可能与以前的快照共享。随着文件系统的变化,以前共享的空间变为快照独有的,并计入快照的使用空间中。此外,删除快照可以增加其他快照独有的(并被其他快照使用)空间量。

因此,USEDzfs list 输出中的列并不反映该快照与某些其他快照或数据集之间的差异,而是具体反映该快照唯一引用的数据。

这意味着,例如,如果两个快照引用同一个 100MB 文件,而该文件已从主数据集中删除,则这不会反映在USED任一快照的列中。如果其中一个快照被删除,它将显示在USED另一个快照的列中;因为它现在是唯一引用该文件的快照。

一个简单的思考方法是,该USED列显示如果删除该数据集或快照,将释放多少空间。

相关内容