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段类型的逻辑卷:# 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。 -
角色是
metadata。 - 大小小于或等于 4m。
# lvs -a -S 'name=~_tmeta && role=metadata && size <= 4m' LV VG Attr LSize [tp_tmeta] myvg ewi-ao---- 4.00m-
名称包含
- 使用