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 PV Fmt Attr PSize PFree /dev/nvme2n1 lvm2 --- 1.00g 1.00g
以下
pvs
命令示例只显示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
使用 lvs
命令的选择条件示例
以下
lvs
命令示例只显示大小大于 100m 但小于 200m 的逻辑卷:# lvs -S 'size > 100m && size < 200m' LV VG Attr LSize Cpy%Sync rr myvg rwi-a-r--- 120.00m 100.00
以下
lvs
命令示例只显示名为lvol
的逻辑卷,以及 0 到 2 之间的任何数字:# lvs -S name=~lvol[02] LV VG Attr LSize lvol0 myvg -wi-a----- 100.00m lvol2 myvg -wi------- 100.00m
以下
lvs
命令示例只显示带有raid1
segment 类型的逻辑卷:# lvs -S segtype=raid1 LV VG Attr LSize Cpy%Sync rr myvg rwi-a-r--- 120.00m 100.00
高级示例
您可以将选择条件与其他选项合并。
以下
lvchange
命令示例将特定的标签mytag
添加到活跃的逻辑卷中:# 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.
以下
lvs
命令示例显示所有名称不匹配_pmspare
的逻辑卷,并将默认标头改为自定义卷:# lvs -a -o lv_name,vg_name,attr,size,pool_lv,origin,role -S 'name!~_pmspare' LV VG Attr LSize Pool Origin Role thin1 example Vwi-a-tz-- 2.00g tp public,origin,thinorigin thin1s example Vwi---tz-- 2.00g tp thin1 public,snapshot,thinsnapshot thin2 example Vwi-a-tz-- 3.00g tp public tp example twi-aotz-- 1.00g private [tp_tdata] example Twi-ao---- 1.00g private,thin,pool,data [tp_tmeta] example ewi-ao---- 4.00m private,thin,pool,metadata
下面的
lvchange
命令示例标记了在正常激活命令中跳过role=thinsnapshot
和origin=thin1
的逻辑卷:# lvchange --setactivationskip n -S 'role=thinsnapshot && origin=thin1' Logical volume myvg/thin1s changed.
以下
lvs
命令示例只显示与所有这三个条件匹配的逻辑卷:-
名称包含
_tmeta
。 -
角色是
元数据
。 - 大小小于或等于 4m。
# lvs -a -S 'name=~_tmeta && role=metadata && size <= 4m' LV VG Attr LSize [tp_tmeta] myvg ewi-ao---- 4.00m
-
名称包含
其他资源
-
系统中
lvmreport (7)
手册页