Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

A.2. dmsetup 命令

dmsetup 命令是与设备映射器通信的命令行打包程序。有关 LVM 设备的常规系统信息,您可以找到 dmsetup 命令的信息、lsstatusdeps 选项,如以下部分所述。
有关 dmsetup 命令的额外选项和功能的详情,请参考 dmsetup(8)手册页。

A.2.1. dmsetup info 命令

dmsetup info device 命令提供有关设备映射器设备的摘要信息。如果没有指定设备名称,输出会是所有当前配置的设备映射程序设备的信息。如果您指定了一个设备,这个命令只为该设备生成信息。
dmsetup info 命令提供以下类别的信息:
名称
设备的名称。LVM 设备表示为卷组名称,逻辑卷名称用连字符隔开。原始名称中的连字符转换为两个连字符。在标准的 LVM 操作期间,您不应该使用以下格式的 LVM 设备名称直接指定 LVM 设备,而是应使用 vg/lv 替代方案。
状态
可能的设备状态有 SUSPENDEDACTIVEREAD-ONLYdmsetup suspend 命令将设备状态设置为 SUSPENDED。当设备被挂起时,该设备的所有 I/O 操作都会停止。dmsetup resume 命令将设备状态恢复到 ACTIVE
Read Ahead
系统在持续读取操作的打开文件前读取的数据块数。默认情况下,内核会自动选择合适的值。您可以使用 dmsetup 命令的 --readahead 选项更改这个值。
存在的表
此类别的可能状态为 LIVE 和 INACTIVEINACTIVE 状态表示已加载了一个表,当 dmsetup resume 命令恢复设备状态变为 ACTIVE 时,该表的状态将变为 LIVE。如需更多信息,请参阅 dmsetup 手册页。
开放计数
open reference count 表示设备打开了多少次。mount 命令打开设备。
事件号
当前接收的事件数量。通过发出 dmsetup wait n 命令,您可以等待第 n 个事件,在收到前阻止调用。
主,次版本
主设备号码和副设备号码。
目标数
组成一个设备的片段数量。例如:跨越 3 个磁盘的线性设备将有 3 个目标。线性设备由磁盘开头和结尾组成,但中间没有 2 个目标。
UUID
设备的 UUID。
以下示例显示了 dmsetup info 命令的部分输出。
# dmsetup info
Name:              testgfsvg-testgfslv1
State:             ACTIVE
Read Ahead:        256
Tables present:    LIVE
Open count:        0
Event number:      0
Major, minor:      253, 2
Number of targets: 2
UUID: LVM-K528WUGQgPadNXYcFrrf9LnPlUMswgkCkpgPIgYzSvigM7SfeWCypddNSWtNzc2N
...
Name:              VolGroup00-LogVol00
State:             ACTIVE
Read Ahead:        256
Tables present:    LIVE
Open count:        1
Event number:      0
Major, minor:      253, 0
Number of targets: 1
UUID: LVM-tOcS1kqFV9drb0X1Vr8sxeYP0tqcrpdegyqj5lZxe45JMGlmvtqLmbLpBcenh2L3

A.2.2. dmsetup ls 命令

您可以使用 dmsetup ls 命令列出映射设备的设备名称。您可以使用 dmsetup ls --target target_type 命令列出至少一个指定类型目标的设备。有关 dmsetup ls 命令的其他选项,请查看 dmsetup 手册页。
以下示例显示了列出当前配置映射设备的设备名称。
# dmsetup ls
testgfsvg-testgfslv3    (253:4)
testgfsvg-testgfslv2    (253:3)
testgfsvg-testgfslv1    (253:2)
VolGroup00-LogVol01     (253:1)
VolGroup00-LogVol00     (253:0)
以下示例显示了列出当前配置的镜像映射的设备名称。
# dmsetup ls --target mirror
lock_stress-grant--02.1722      (253, 34)
lock_stress-grant--01.1720      (253, 18)
lock_stress-grant--03.1718      (253, 52)
lock_stress-grant--02.1716      (253, 40)
lock_stress-grant--03.1713      (253, 47)
lock_stress-grant--02.1709      (253, 23)
lock_stress-grant--01.1707      (253, 8)
lock_stress-grant--01.1724      (253, 14)
lock_stress-grant--03.1711      (253, 27)
在多路径或其他设备映射器设备上堆栈的 LVM 配置可能比较复杂。dmsetup ls 命令提供了一个 --tree 选项,它将设备之间的依赖项显示为树,如下例所示。
# dmsetup ls --tree
vgtest-lvmir (253:13)
 ├─vgtest-lvmir_mimage_1 (253:12)
 │  └─mpathep1 (253:8)
 │     └─mpathe (253:5)
 │        ├─ (8:112)
 │        └─ (8:64)
 ├─vgtest-lvmir_mimage_0 (253:11)
 │  └─mpathcp1 (253:3)
 │     └─mpathc (253:2)
 │        ├─ (8:32)
 │        └─ (8:16)
 └─vgtest-lvmir_mlog (253:4)
    └─mpathfp1 (253:10)
       └─mpathf (253:6)
          ├─ (8:128)
          └─ (8:80)

A.2.3. dmsetup status 命令

dmsetup status device 命令提供指定设备中每个目标的状态信息。如果没有指定设备名称,输出会是所有当前配置的设备映射程序设备的信息。您只能使用 dmsetup status --target target_type 命令列出至少一个指定类型目标的设备状态。
以下示例显示了 命令,列出所有当前配置的已映射设备中目标的状态。
# dmsetup status
testgfsvg-testgfslv3: 0 312352768 linear 
testgfsvg-testgfslv2: 0 312352768 linear 
testgfsvg-testgfslv1: 0 312352768 linear 
testgfsvg-testgfslv1: 312352768 50331648 linear 
VolGroup00-LogVol01: 0 4063232 linear 
VolGroup00-LogVol00: 0 151912448 linear

A.2.4. dmsetup deps 命令

dmsetup deps device 命令为指定设备的映射表引用的设备提供(major, minor)对列表。如果没有指定设备名称,输出会是所有当前配置的设备映射程序设备的信息。
以下示例显示,列出所有当前配置映射的设备的依赖项。
# dmsetup deps
testgfsvg-testgfslv3: 1 dependencies    : (8, 16)
testgfsvg-testgfslv2: 1 dependencies    : (8, 16)
testgfsvg-testgfslv1: 1 dependencies    : (8, 16)
VolGroup00-LogVol01: 1 dependencies     : (8, 2)
VolGroup00-LogVol00: 1 dependencies     : (8, 2)
以下示例显示了仅列出设备 lock_stress-grant--02.1722 的依赖项:
# dmsetup deps lock_stress-grant--02.1722
3 dependencies  : (253, 33) (253, 32) (253, 31)