多个快照是否会影响性能?

多个快照是否会影响性能?

我的桌面系统(Kubuntu-20.04.4,带有 LVM2 root-fs)需要经常调整配置,但有些配置会出现错误。

每次修改某些配置之前,我都会为根文件系统拍摄一个新的 LVM2 快照。

如果我在以后的使用中发现某些配置有错误,我可以轻松地将我的根文件系统回滚到最后一个快照,以防止重新安装整个系统。

因此,每当我的系统正常运行时,我总是会拥有一系列根文件系统的快照。

如果只有一个快照存在,性能还可以接受,至少我没有感觉到明显的慢。

如果有多个(5)个快照,我的系统是否会比只有一个快照时慢得多?

谢谢!

答案1

LVM 中的快照使用“首次写入时复制”(CoW) 机制来保留可从快照访问的源卷的冻结副本。

写时复制的工作原理是在原始数据第一次被新数据覆盖之前,将源卷上块中的原始数据存储到为快照预留的存储中。

需要对所有处于活动状态的快照进行原始数据的复制,这意味着对源卷上尚未被覆盖的块的任何写入都将导致对所有快照的写入。这显然会减慢对源(活动)卷的写入速度。

请注意,快照存在的时间越长,它保存原始数据副本所需的存储空间就越大,直至达到源卷的大小。如果为快照预留的空间不足以存储源卷中已更改的所有原始数据,则快照将被禁用且无法访问。

此外,复制单个块会增加逻辑卷 (LV) 的碎片,因此连续的块(在 LV 级别)在物理卷 (PV) 级别不再连续。因此,即使删除了不需要的快照,碎片仍会保留。

另请参阅Unix StackExchange 上的这个问题

相关内容