快照保留如何工作?
适用场景
Data ONTAP 8 7-模式
问题解答
快照保留如何工作?
多个相同快照的磁盘消耗
示例:快照包含 1 MB 文件、该文件自文件管理器创建快照以来未更改。如果从活动文件系统中删除该文件,则快照将占用 1 MB 磁盘空间。
同一版本的 1 MB 文件可能会被几个不同的快照引用: hour.0 、 hour.1 和 hour.2 。如果这些快照均包含 1 MB 文件、但该文件在文件管理器创建这些快照后尚未更改、则即使所有三个快照都包含该文件、但快照仅占用 1 MB 的磁盘空间。
df 命令如何显示快照
要提供有关快照磁盘利用率的信息、df
文件管理器上的命令将快照视为与活动文件系统不同的分区。以下是df
一个命令示例:
toaster> df
Filesystem kbytes used avail capacity
/ 3000000 2000000 1000000 65%
/.snapshot 1000000 500000 500000 50%
注:本示例中的数字已被舍入,以便更容易理解本示例。
文件管理器具有 4 GB 的磁盘空间、为快照保留 1 GB (或 25% )(稍后将详细介绍为快照保留空间的想法)。这将为活动文件系统保留 3 GB 空间、并且正在使用 2 GB 的文件系统。了解/.snapshot
该行仅计算快照中存在的数据非常重要。由于活动文件系统中也存在的数据仍需要存储在磁盘上、因此如果文件管理器将空间充作快照会产生误导。在示例中,为快照保留的 1 GB 中的一半实际使用。
快照保留如何工作
考虑到快照占用磁盘空间的方式、为什么要为其保留空间?为什么不让他们使用他们需要的空间?要了解答案、请考虑如果文件管理器在磁盘已满时创建快照会发生什么情况。从活动文件系统中删除文件不会创建任何可用空间,因为新创建的快照也会引用活动文件系统中的所有内容。文件管理器必须先删除快照、然后才能创建任何新文件。
默认情况下,快照保留空间为磁盘空间的 20% 。有关如何调整 Snapshot 预留量的信息,请参阅 更改 Snapshot 预留。
请考虑当活动文件系统已满并且快照保留区中仍有剩余空间时、文件管理器创建快照会发生什么情况。df 输出可能显示:
Filesystem kbytes used avail capacity
/ 3000000 3000000 0 100%
/.snapshot 1000000 500000 500000 50%
如果删除 100 MB 的文件、属于这些文件的数据将不再是活动文件系统的一部分、因此空间将被计入快照中。新的 df 输出如下所示:
Filesystem kbytes used avail capacity
/ 3000000 2900000 100000 97%
/.snapshot 1000000 600000 400000 60%
请注意,文件管理器将活动文件系统中的 100 MB 空间重新分配给快照保留空间。由于快照有预留空间、因此从活动文件系统中删除文件会释放新文件的空间。
即使使用快照保留,管理快照磁盘空间占用的工作也很重要。无法防止快照占用的磁盘空间超过为其预留的空间量。如果删除了活动文件系统中的所有文件,请考虑在示例文件系统中会发生什么情况。删除前、 df 输出为:
Filesystem kbytes used avail capacity
/ 3000000 3000000 0 100%
/.snapshot 1000000 500000 500000 50%
删除文件系统中的所有数据后、 df 命令将生成以下内容:
Filesystem kbytes used avail capacity
/ 3000000 2500000 500000 83%
/.snapshot 1000000 3500000 0 350%
活动文件系统中的整个 3 GB 移动到快照中、以及之前快照中的 500 MB 、从而使 Snapshot 数据总量达到 3.5 GB 。这比为快照保留的空间多 2.5 GB 。由于活动文件系统不能使用该空间,因此即使实际上没有文件存在,该空间仍会显示为活动文件系统所使用的空间。
每当快照占用的快照保留空间超过 100% 时、系统就有变满的危险。在这种情况下,您只能在删除足够快照后创建文件。例如,如果在上面的示例中将 500 MB 的数据添加到活动文件系统中,df
则命令将生成以下信息:
Filesystem kbytes used avail capacity
/ 3000000 3000000 0 100%
/.snapshot 1000000 3500000 0 350%
文件管理器创建新快照后、系统中的每个块都将被某些快照引用、因此无论从活动文件系统中删除多少个文件、仍然没有空间可以再添加任何文件。从这种情况中恢复的唯一方法是删除足够的快照以释放更多磁盘空间。有关如何使用 snapshot list 命令确定要删除的快照的信息,请参阅显示快照统计信息。
多个相同快照的磁盘消耗
追加信息
不适用