7.4. 定义 LVM 选择标准
选择标准是 <field> <operator> <value>
形式的一组语句,它使用比较运算符来定义特定字段的值。然后,处理或显示与选择条件匹配的对象。对象可以是物理卷(PV)、卷组(VG)或逻辑卷(LV)。语句通过逻辑和分组运算符进行组合。
要定义选择标准,请使用 -S
或 --select
选项,后跟一个或多个语句。
-S
选项的工作原理是通过描述要处理的对象,而不是命名每个对象。这在处理许多对象时很有用,当搜索有复杂特征集合的对象时,很难查找和单独命名每个对象。也可以使用 -S
选项作为一种快捷方式,来避免输入许多名称。
要查看字段和可能的运算符的完整集合,请使用 lvs -S help
命令。使用任何报告或处理命令替换 lvs
来查看该命令的详情:
-
报告命令包括
pvs
,vgs
,lvs
,pvdisplay
,vgdisplay
,lvdisplay
和dmsetup info -c
。 处理命令包括
pvchange
,vgchange
,lvchange
,vgimport
,vgexport
,vgremove
和lvremove
。- 使用
pvs
命令的选择条件的示例 以下
pvs
命令示例只显示名称包含字符串nvme
的物理卷:pvs -S name=~nvme
# pvs -S name=~nvme PV Fmt Attr PSize PFree /dev/nvme2n1 lvm2 --- 1.00g 1.00g
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下
pvs
命令示例只显示myvg
卷组中的物理设备:pvs -S vg_name=myvg
# pvs -S vg_name=myvg PV VG Fmt Attr PSize PFree /dev/vdb1 myvg lvm2 a-- 1020.00m 396.00m /dev/vdb2 myvg lvm2 a-- 1020.00m 896.00m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 使用
lvs
命令的选择条件的示例 以下
lvs
命令示例只显示大小大于 100m 但小于 200m 的逻辑卷:lvs -S 'size > 100m && size < 200m'
# lvs -S 'size > 100m && size < 200m' LV VG Attr LSize Cpy%Sync rr myvg rwi-a-r--- 120.00m 100.00
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下
lvs
命令示例只显示名称包含lvol
和 0 到 2 之间任何数字的逻辑卷:lvs -S name=~lvol[02]
# lvs -S name=~lvol[02] LV VG Attr LSize lvol0 myvg -wi-a----- 100.00m lvol2 myvg -wi------- 100.00m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下
lvs
命令示例只显示具有raid1
段类型的逻辑卷:lvs -S segtype=raid1
# lvs -S segtype=raid1 LV VG Attr LSize Cpy%Sync rr myvg rwi-a-r--- 120.00m 100.00
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- 高级示例
您可以将选择条件与其他选项合并。
以下
lvchange
命令示例只将特定的标签mytag
添加给活跃的逻辑卷:lvchange --addtag mytag -S active=1
# lvchange --addtag mytag -S active=1 Logical volume myvg/mylv changed. Logical volume myvg/lvol0 changed. Logical volume myvg/lvol1 changed. Logical volume myvg/rr changed.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下
lvs
命令示例显示所有名称与_pmspare
不匹配的逻辑卷,并将默认标头改为自定义卷:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 下面的
lvchange
命令示例使用role=thinsnapshot
和origin=thin1
标记正常激活命令过程要跳过的逻辑卷:lvchange --setactivationskip n -S 'role=thinsnapshot && origin=thin1'
# lvchange --setactivationskip n -S 'role=thinsnapshot && origin=thin1' Logical volume myvg/thin1s changed.
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下
lvs
命令示例只显示与所有三个条件都匹配的逻辑卷:-
名称包含
_tmeta
。 -
角色是
metadata
。 - 大小小于或等于 4m。
lvs -a -S 'name=~_tmeta && role=metadata && size <= 4m'
# lvs -a -S 'name=~_tmeta && role=metadata && size <= 4m' LV VG Attr LSize [tp_tmeta] myvg ewi-ao---- 4.00m
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
名称包含
- 使用