Zfs

ZFS 快照是針對“主”文件系統的差異,還是彼此之間的差異?

  • August 17, 2018

我正在使用 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 大小是否是每個快照與現在之間的差異大小?或者它們是快照之間差異的大小?

我知道我可以通過刪除快照來測試它,但這並不是一個足夠重要的問題來執行此操作或設置測試場景。

從 zfs 手冊頁:

創建快照(請參閱“快照”部分)時,它們的空間最初在快照和文件系統之間共享,並且可能與以前的快照共享。隨著文件系統的變化,以前共享的空間對快照來說變得唯一,併計入快照的已用空間。此外,刪除快照會增加其他快照獨有的(和使用的)空間量。

因此,USEDzfs 列表輸出中的列並不反映該快照與其他一些快照或數據集之間的差異,而是專門針對該快照唯一引用的數據。

這意味著,例如,如果兩個快照引用同一個 100MB 文件,該文件已從主數據集中刪除,則這不會反映在USED任一快照的列中。如果其中一個快照被刪除,它將顯示在USED另一個快照的列中;因為它現在是唯一引用該文件的快照。

一個簡單的考慮方法是,該USED列顯示如果刪除該數據集或快照將釋放多少空間。

引用自:https://serverfault.com/questions/922420