7.4. LVM 選択基準の定義
選択基準は、<field> <operator> <value>
形式の一連のステートメントであり、比較演算子を使用して特定のフィールドの値を定義します。選択基準に一致するオブジェクトが処理または表示されます。オブジェクトは、物理ボリューム (PV)、ボリュームグループ (VG)、または論理ボリューム (LV) です。ステートメントは、論理演算子とグループ化演算子によって結合します。
選択基準を定義するには、-S
または --select
オプションの後に 1 つまたは複数のステートメントを使用します。
-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
コマンドの例では、サイズが 100 m より大きく 200 m 未満の論理ボリュームのみが表示されます。# 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
コマンドの例では、次の 3 つの条件すべてに一致する論理ボリュームのみが表示されます。-
名前に
_tmeta
が含まれている。 -
ロールが
metadata
である。 - サイズが 4m 以下である。
# lvs -a -S 'name=~_tmeta && role=metadata && size <= 4m' LV VG Attr LSize [tp_tmeta] myvg ewi-ao---- 4.00m
-
名前に
関連情報
-
システム上の
lvmreport(7)
man ページ