我们有一个提供CIFS数据的卷,其数据似乎比其他数据多得多。 我怀疑这是由于更高的变化率,我可以使用snap delta命令来确定。 但我也希望能够查看快照大小,并根据其大小定位特定大小。
在CLI和系统pipe理器中,当在几分钟的时间内重复查看快照时,大小逐渐增加到一个点,然后再次下降。 通过这个我不是说快照的大小正在增加和减less,只是报告的大小。 理想情况下,我想知道是什么原因造成的。
更重要的是,如何确定快照的实际大小?
实际上很难说,因为快照是如何工作的“快照本身不是任何数据,它只是inode表的一个副本。 此inode表引用的块具有增加的引用计数。 只有当参考计数降到零时,块才被释放。
这基本上是重复数据删除的工作原理。 指针被redirect到重复块,并且引用计数被增加。 “老”块的参考计数减less,因此可能成为释放的候选者。 (这将是在任何引用它的快照已过期后)。
这些“释放”块实际上并没有立即被重用 – WAFL的工作方式是传入的写入(通常是!)完全进入新的块,“空闲”块被清除为后台进程。
这就是为什么实际上很难判断快照是多大的 – 因为你基本上需要检查它里面的每个块,看看这个特定的块是否是特定的快照。 snap delta和snap list是相当不错的近似值,但是由于捕捉到的依赖关系,很难给出一个完美的答案。