7.4. LVM 選択基準の定義
選択基準は、<field> <operator> <value>
形式の一連のステートメントであり、比較演算子を使用して特定のフィールドの値を定義します。選択基準に一致するオブジェクトが処理または表示されます。ステートメントは、論理演算子とグループ化演算子によって結合します。選択基準を定義するには、-S
または --select
オプションの後に 1 つまたは複数のステートメントを使用します。
一部の LVM コマンドは、特定の属性に基づいて処理するオブジェクトを選択する -S
オプションをサポートしています。これらのオブジェクトは、物理ボリューム (PV)、ボリュームグループ (VG)、または論理ボリューム (LV) です。
-S
オプションは、各オブジェクトに名前を付けるのではなく、処理するオブジェクトを記述することによって機能します。これは、多くのオブジェクトを処理する場合や、各オブジェクトを個別に検索して名前を付けることが難しい場合や、複雑な特性セットを持つオブジェクトを検索する場合に役立ちます。選択オプションは、多くの名前を入力することを回避するためのショートカットとしても使用できます。
lvs -S help
コマンドを使用して、フィールドの完全なセットと使用可能な演算子を表示します。lvs
をレポートまたは処理コマンドに置き換えると、そのコマンドの詳細が表示されます。
LVM レポートおよび処理コマンドで選択基準を使用して、選択した基準を満たすオブジェクトのみを表示または処理します。
-
レポートコマンドには、
pvs
、vgs
、lvs
、pvdisplay
、vgdisplay
、lvdisplay
、およびdmsetup info -c
が含まれます。 -
処理コマンドには、
pvchange
、vgchange
、lvchange
、vgimport
、vgexport
、vgremove
、およびlvremove
が含まれます。
手順
pvs
コマンドを使用した選択基準の例:# pvs PV VG Fmt Attr PSize PFree /dev/nvme2n1 lvm2 --- 1.00g 1.00g /dev/vdb1 myvg lvm2 a-- 1020.00m 396.00m /dev/vdb2 myvg lvm2 a-- 1020.00m 896.00m
# pvs -S name=~nvme PV Fmt Attr PSize PFree /dev/nvme2n1 lvm2 --- 1.00g 1.00g
# 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 LV VG Attr LSize Cpy%Sync mylv myvg -wi-a----- 200.00m lvol0 myvg -wi-a----- 100.00m lvol1 myvg -wi-a----- 100.00m lvol2 myvg -wi------- 100.00m rr myvg rwi-a-r--- 120.00m 100.00
# lvs -S 'size > 100m && size < 200m' LV VG Attr LSize Cpy%Sync rr myvg rwi-a-r--- 120.00m 100.00
# lvs -S name=~lvol[02] LV VG Attr LSize lvol0 myvg -wi-a----- 100.00m lvol2 myvg -wi------- 100.00m
# lvs -S segtype=raid1 LV VG Attr LSize Cpy%Sync rr myvg rwi-a-r--- 120.00m 100.00
より高度な例:
# 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 -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 --setactivationskip n -S 'role=thinsnapshot && origin=thin1' Logical volume myvg/thin1s changed.
# lvs -a -S 'name=~_tmeta && role=metadata && size <= 4m' LV VG Attr LSize [tp_tmeta] myvg ewi-ao---- 4.00m
関連情報
-
lvmreport(7)
man ページ