7.4. 定义 LVM 选择标准


选择条件是 <field> <operator> <value> 形式的一组语句,其使用比较运算符来定义具体字段的值。然后,处理或显示与选择条件匹配的对象。对象可以是物理卷(PV)、卷组(VG)或逻辑卷(LV)。通过逻辑和分组运算符对语句进行合并。

要定义选择标准,请使用 -S--select 选项,后跟一个或多个语句。

-S 选项的工作原理是描述要处理的对象,而不是命名每个对象。这在处理许多对象时很有用,很难单独查找和命名每个对象,或者当搜索有复杂特征集的对象时。也可以使用 -S 选项作为快捷方式,以避免输入许多名称。

要查看完整的字段和可能运算符集,请使用 lvs -S help 命令。使用任何报告或处理命令替换 lvs 来查看该命令的详情:

  • 报告命令包括 pvs,vgs,lvs,pvdisplay,vgdisplay,lvdisplaydmsetup info -c
  • 处理命令包括 pvchange,vgchange,lvchange,vgimport,vgexport,vgremovelvremove

使用 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=thinsnapshotorigin=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) 手册页
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.