Red Hat Training

A Red Hat training course is available for RHEL 8

16.6. 选择标准处理示例

下面的示例系列演示了如何在处理 LVM 逻辑卷的命令中使用选择标准。

这个示例显示了一组逻辑卷的初始配置,包括精简快照。默认情况下,精简快照设置了 skip_activation 标志。这个示例还包括逻辑卷 lvol4,它也设置了 skip_activation 标志。

# lvs -o name,skip_activation,layout,role
  LV    SkipAct         Layout      Role
  root                  linear      public
  swap                  linear      public
  lvol1                 thin,sparse public
  lvol2                 thin,sparse public,origin,thinorigin
  lvol3 skip activation thin,sparse public,snapshot,thinsnapshot
  lvol4 skip activation linear      public
  pool                  thin,pool   private

以下命令从所有是精简快照的逻辑卷中删除 skip_activation 标志。

# lvchange --setactivationskip n -S 'role=thinsnapshot'
  Logical volume "lvol3" changed.

以下命令显示了执行 lvchange 命令后逻辑卷的配置。请注意,skip_activation 标志没有从不是精简快照的逻辑卷取消设置。

# lvs -o name,active,skip_activation,layout,role
  LV    Active SkipAct         Layout      Role
  root  active                 linear      public
  swap  active                 linear      public
  lvol1 active                 thin,sparse public
  lvol2 active                 thin,sparse public,origin,thinorigin
  lvol3                        thin,sparse public,snapshot,thinsnapshot
  lvol4 active skip activation linear      public
  pool  active                 thin,pool   private

以下命令显示在创建了额外的精简原始卷/snapshot 卷后逻辑卷的配置。

# lvs -o name,active,skip_activation,origin,layout,role
  LV    Active SkipAct         Origin Layout      Role
  root  active                        linear      public
  swap  active                        linear      public
  lvol1 active                        thin,sparse public
  lvol2 active                        thin,sparse public,origin,thinorigin
  lvol3                        lvol2  thin,sparse public,snapshot,thinsnapshot
  lvol4 active skip activation        linear      public
  lvol5 active                        thin,sparse public,origin,thinorigin
  lvol6                        lvol5  thin,sparse public,snapshot,thinsnapshot
  pool  active                        thin,pool   private

下面的命令激活是精简快照卷且具有 lvol2 原始卷的逻辑卷。

# lvchange -ay -S 'lv_role=thinsnapshot && origin=lvol2'

# lvs -o name,active,skip_activation,origin,layout,role
  LV    Active SkipAct         Origin Layout      Role
  root  active                        linear      public
  swap  active                        linear      public
  lvol1 active                        thin,sparse public
  lvol2 active                        thin,sparse public,origin,thinorigin
  lvol3 active                 lvol2  thin,sparse public,snapshot,thinsnapshot
  lvol4 active skip activation        linear      public
  lvol5 active                        thin,sparse public,origin,thinorigin
  lvol6                        lvol5  thin,sparse public,snapshot,thinsnapshot
  pool  active                        thin,pool   private

如果在指定匹配整个项中的一个的选择标准过程中,您对整个项执行了一条命令,则整个项都会被处理。例如,如果您在从那个卷组中选择一个或多个项时更改了卷组,则整个卷组被选择。这个示例选择逻辑卷 lvol1,它是卷组 vg 的一部分。卷组 vg 中的所有逻辑卷都被处理了。

# lvs -o name,vg_name
  LV    VG
  root  fedora
  swap  fedora
  lvol1 vg
  lvol2 vg
  lvol3 vg
  lvol4 vg
  lvol5 vg
  lvol6 vg
  pool  vg

# vgchange -ay -S 'lv_name=lvol1'
  7 logical volume(s) in volume group "vg" now active

以下示例显示了一条更复杂的选择标准语句。在这个示例中,如果逻辑卷有 origin 角色,且有一个名为 lvol[456] 的逻辑卷,或者逻辑卷大小大于 5GB,则所有逻辑卷都被打上 mytag 标签。

# lvchange --addtag mytag -S '(role=origin && lv_name=~lvol[456]) || lv_size > 5g'
  Logical volume "root" changed.
  Logical volume "lvol5" changed.