第 4 章 使用 CLI 命令管理 LVM

本章总结了可使用 LVM 命令行界面(CLI)创建和维护逻辑卷的独立管理任务。

注意

如果要为集群环境生成或者修改 LVM 卷,则必须确定正在运行 clvmd 守护进程。有关详情请参考 第 3.1 节 “在集群中创建 LVM 卷”
除 LVM 命令行界面(CLI)外,还可以使用系统存储管理器(System Storage Manager,SSM)配置 LVM 逻辑卷。有关将 SSM 与 LVM 合用的详情,请查看《存储管理指南》

4.1. 使用 CLI 命令

LVM CLI 命令有一些常规功能。
命令行参数中需要指定大小时,可以明确指定单位。如果不指定单位,那么就使用默认的 KB 或者 MB。LVM CLI 不接受分数。
LVM 指定单位时要无需区分大小写,比如 M 或者 m 的效果是一样的,例如 2 的乘方(乘 1024)。但是,在某个命令中指定 --units 参数时,小写表示该单位乘 1024,而大写表示该单位乘 1000。
在使用卷组或者逻辑卷名称作为命令参数时,完整路径名称是可选项。可将卷组 vg0 中的逻辑卷 lvol0 指定为 vg0/lvol0。如果要求列出卷组列表,但却为空白,则会使用所有卷组列表替换。如果需要列出逻辑卷列表,但给出的是卷组,则会使用该卷组中的所有逻辑卷列表替换。例如:lvdisplay vg0 命令将显示卷组 vg0 中的所有逻辑卷。
所有 LVM 命令都接受 -v 参数,多输入几次 v 可提高输出的详细程度。例如:以下示例显示的是 lvcreate 命令的默认输出。
# lvcreate -L 50MB new_vg
  Rounding up size to full physical extent 52.00 MB
  Logical volume "lvol0" created
下面是使用 -v 参数的 lvcreate 命令输出结果。
# lvcreate -v -L 50MB new_vg
    Finding volume group "new_vg"
  Rounding up size to full physical extent 52.00 MB
    Archiving volume group "new_vg" metadata (seqno 4).
    Creating logical volume lvol0
    Creating volume group backup "/etc/lvm/backup/new_vg" (seqno 5).
    Found volume group "new_vg"
    Creating new_vg-lvol0
    Loading new_vg-lvol0 table
    Resuming new_vg-lvol0 (253:2)
    Clearing start of logical volume "lvol0"
    Creating volume group backup "/etc/lvm/backup/new_vg" (seqno 5).
  Logical volume "lvol0" created
还可以使用 -vv-vvv 或者 -vvvv 参数提高命令执行的详细程度。-vvvv 参数可以提供最多的信息。以下是 lvcreate 命令使用 -vvvv 参数时输出结果的前几行。
# lvcreate -vvvv -L 50MB new_vg
#lvmcmdline.c:913         Processing: lvcreate -vvvv -L 50MB new_vg
#lvmcmdline.c:916         O_DIRECT will be used
#config/config.c:864       Setting global/locking_type to 1
#locking/locking.c:138       File-based locking selected.
#config/config.c:841       Setting global/locking_dir to /var/lock/lvm
#activate/activate.c:358       Getting target version for linear
#ioctl/libdm-iface.c:1569         dm version   OF   [16384]
#ioctl/libdm-iface.c:1569         dm versions   OF   [16384]
#activate/activate.c:358       Getting target version for striped
#ioctl/libdm-iface.c:1569         dm versions   OF   [16384]
#config/config.c:864       Setting activation/mirror_region_size to 512
...
可以用命令的 --help 参数来显示任意 LVM CLI 命令的帮助信息。
# commandname --help
要显示某个命令的 man page,请执行 man 命令:
# man commandname
man lvm 命令提供有关 LVM 的常规在线信息。
所有 LVM 对象均使用创建该对象时分配的 UUID 作为内部参考。这在删除作为卷组一部分的名为 /dev/sdf 的物理卷时很有用,因为将其插回后,它的名称会变为 /dev/sdk。LVM 仍可以找到该物理卷,因为它是根据其 UUID 而不是其设备名称识别。有关创建物理卷时指定物理卷 UUID 详情的信息,请查看 第 6.4 节 “恢复物理卷元数据”