Red Hat Training

A Red Hat training course is available for RHEL 8

10.2. 创建原始卷的快照

使用 lvcreate 命令创建原始卷(源)的快照。卷快照是可写的。默认情况下,与精简配置的快照相比,快照卷在正常激活命令过程中是使用原始卷激活的。LVM 不支持创建大于原始卷大小和卷所需的元数据大小的总和。如果您指定了大于这个总和的快照卷,则 LVM 会创建一个原始卷的大小所需的快照卷。

注意

集群中的节点不支持 LVM 快照。您不能在共享卷组中创建快照卷。然而,如果您需要在共享逻辑卷中创建一致的数据备份,您可以单独激活该卷,然后创建快照。

以下流程创建了一个名为 origin 的原始逻辑卷和一个名为 snap 的原始卷的快照卷。

先决条件

流程

  1. 从卷组 vg001 创建一个名为 origin 的逻辑卷:

    # lvcreate -L 1G -n origin vg001
    Logical volume "origin" created.
  2. 创建 /dev/vg001/origin 的一个名为 snap 的快照逻辑卷,大小为 100 MB

    # lvcreate --size 100M --name snap --snapshot /dev/vg001/origin
      Logical volume "snap" created.

    您还可以使用 -L 参数,而不是使用 --size,使用 -n 而不是使用 --name,使用-s 而不是使用 --snapshot 来创建快照。

    如果原始逻辑卷包含一个文件系统,您可以在任意目录中挂载快照逻辑卷,来访问文件系统的内容,以便在继续原始文件系统更新时运行备份。

  3. 显示原始卷以及当前使用的快照卷的百分比:

    # lvs -a -o +devices
      LV      VG    Attr       LSize  Pool Origin Data% Meta% Move Log Cpy%Sync Convert Devices
     origin vg001  owi-a-s---  1.00g                                                  /dev/sde1(0)
      snap vg001  swi-a-s--- 100.00m     origin 0.00                                 /dev/sde1(256)

    您还可以使用 lvdisplay /dev/vg001/origin 命令显示逻辑卷 /dev/vg001/origin 以及所有快照逻辑卷及其状态,如 active 或 inactive。

    警告

    在原始 LV 写入后,快照 LV 中的空间会被消耗。lvs 命令在 Data% data_percent 字段值中报告当前快照空间的使用率。如果快照空间达到 100%,则快照变为无效且不可用。

    Attr 列的第五个位置或 lvs 中的 lv_snapshot_invalid 报告字段,会使用 I 报告一个无效的快照。您可以使用 lvremove 命令删除无效的快照。

  4. 可选:在空间变成 100% 满及无效前,请使用以下选项之一扩展快照:

    • /etc/lvm.conf 文件中使用以下参数将 LVM 配置为自动扩展快照:

      snapshot_autoextend_threshold
      在其使用率超过此参数设置的值后扩展快照。默认情况下,它被设置为 100,这会禁用自动扩展。此参数的最小值为 50。
      snapshot_autoextend_percent
      为快照添加额外的空间,这是其当前大小的百分比。默认情况下,它被设置为 20。

      在以下示例中,设置以下参数后,当其使用量超过 700M 时,创建的 1G 快照扩展到 1.2G:

      例 10.1. 自动扩展快照

      # vi /etc/lvm.conf
      snapshot_autoextend_threshold = 70
      snapshot_autoextend_percent = 20
      注意

      这个功能需要卷组中有未分配的空间。快照的自动扩展不会将快照卷的大小增加到超出快照所需的最大计算值。一旦快照增长到足够大来覆盖原始数据后,便不会再监控它是否发生了自动扩展。

    • 使用 lvextend 命令手动扩展此快照:

      # lvextend -L+100M /dev/vg001/snap

其他资源

  • lvcreate(8)lvextend(8)lvs(8) 手册页
  • /etc/lvm/lvm.conf 文件