11.5. 扩展快照

第 11.2 节所述,当数据从原始卷复制到快照时,快照的可用空间可能会被填满,导致快照失效。这种情况可能会导致您的数据备份过早结束,因为快照卷在失效后开始返回 I/O 错误。

为了解决这个问题,EVMS 现在具有在快照卷处于活动和挂载状态时扩展快照对象的存储空间的能力。此功能允许您最初创建一个小的快照对象,并在空间开始填满时根据需要扩展该对象。

为了扩展快照对象,底层对象必须是可扩展的。继续前面章节的示例,对象 "snap" 构建在 LVM 区域之上lvm/Sample Container/Sample Region。当我们提到扩展 "snap" 对象时,区域lvm/Sample Container/Sample Region是实际被扩展的对象,而对象 "snap" 只是利用了该区域上的新空间。因此,为了拥有可扩展的快照,您通常希望将快照对象构建在 LVM 区域之上,这些区域在其 LVM 容器中具有额外的可用空间。DriveLink 对象和一些磁盘段在某些情况下也适用。

关于扩展快照的一个值得注意的怪癖是,快照对象和卷在操作完成后实际上并没有显示出扩展。由于快照卷应该作为原始卷的冻结镜像,因此即使快照已扩展,快照卷始终与原始卷具有相同的大小。但是,您可以通过显示快照对象的详细信息,并比较扩展操作前后的 percent-full 字段来验证快照对象是否正在使用额外的空间。

11.5.1. 使用 EVMS GUI 或 Ncurses

要使用 GUI 或 Ncurses 创建快照,请按照以下步骤操作

  1. 选择 操作 (Actions)->扩展 (Expand)->卷 (Volume) 以查看 EVMS 功能对象列表。

  2. 选择卷 /dev/evms/snap

  3. 单击或激活 下一步 (Next)

  4. 选择 lvm/Sample Container/Sample Region。此对象是将实际被扩展的对象。

  5. 单击或激活 下一步 (Next)

  6. 选择扩展 LVM 区域的选项,包括要添加到该区域的额外空间量。

  7. 单击或激活 扩展 (Expand)

或者,您可以使用上下文敏感菜单执行相同的步骤。

  1. 卷 (Volumes) 面板中,右键单击(或按 Enter 键)/dev/evms/snap

  2. 从弹出菜单中选择 扩展 (Expand)

  3. 单击或激活 下一步 (Next)

  4. 选择区域 lvm/Sample Container/Sample Region。这是将实际被扩展的对象。

  5. 单击或激活 下一步 (Next)

  6. 选择扩展 LVM 区域的选项,包括要添加到该区域的额外空间量。

  7. 单击或激活 扩展 (Expand)

11.5.2. 使用 CLI

CLI 通过定位要扩展的对象来扩展卷。CLI 自动处理扩展卷以及卷堆栈中卷上方的其他对象。与常规扩展操作一样,选项由拥有被扩展对象的插件确定。

发出以下命令以确定该区域的扩展选项lvm/Sample Container/Sample Region:

query:region,region="lvm/Sample Container/Sample Region",lo

用于扩展此区域的选项称为 "add_size"。发出以下命令将快照扩展 100 MB

expand:"lvm/Sample Container/Sample Region", add_size=100MB