Red Hat Training

A Red Hat training course is available for RHEL 8

68.6. LVM 用のカスタム報告

LVM では、カスタマイズされたレポートを生成したり、レポートの出力をフィルタリングしたりするための様々な設定およびコマンドラインオプションが提供されます。LVM レポート機能の完全な説明は、man ページの lvmreport(7) を参照してください。

pvslvs、および vgs コマンドを使用して、LVM オブジェクトについての簡潔でカスタマイズ可能なレポートを作成することができます。このコマンドが生成するレポートには、オブジェクトごとに 1 行の出力が含まれます。各行には、オブジェクトに関連するプロパティーのフィールドについて、順序付けられたリストが含まれます。レポートするオブジェクトを選択する方法には、物理ボリューム別、ボリュームグループ別、論理ボリューム別、物理ボリュームセグメント別、および論理ボリュームセグメント別の 5 つの方法があります。

lvm fullreport コマンドを使用して、物理ボリューム、ボリュームグループ、論理ボリューム、物理ボリュームセグメント、および論理ボリュームセグメントに関する情報を一度に報告できます。このコマンドとその機能については、lvm-fullreport(8) の man ページを参照してください。

LVM は、LVM コマンドの実行中に収集された操作、メッセージ、および各オブジェクトのステータス (完全なオブジェクト ID 付き) のログが含まれるログレポートをサポートします。LVM ログレポートの詳細は、man ページの lvmreport(7) を参照してください。

68.6.1. LVM 表示の形式の制御

コマンドの pvslvs、または vgs のどれを使用するかによって、表示されるデフォルトのフィールドセットとソート順序が決定します。このコマンドの出力は、以下の引数を使用して制御できます。

  • -o 引数を使用すると、表示するフィールドをデフォルト以外に変更できます。たとえば、以下のコマンドは、物理ボリュームの名前とサイズのみを表示します。

    # pvs -o pv_name,pv_size
    PV PSize
    /dev/sdb1 17.14G
    /dev/sdc1 17.14G
    /dev/sdd1 17.14G
  • -o 引数との組み合わせで使用するプラス記号 (+) を使用して、出力にフィールドを追加できます。

    以下の例は、デフォルトフィールドに加えて、物理ボリュームの UUID を表示しています。

    # pvs -o +pv_uuid
    PV VG Fmt Attr PSize PFree PV UUID
    /dev/sdb1 new_vg lvm2 a- 17.14G 17.14G onFF2w-1fLC-ughJ-D9eB-M7iv-6XqA-dqGeXY
    /dev/sdc1 new_vg lvm2 a- 17.14G 17.09G Joqlch-yWSj-kuEn-IdwM-01S9-X08M-mcpsVe
    /dev/sdd1 new_vg lvm2 a- 17.14G 17.14G yvfvZK-Cf31-j75k-dECm-0RZ3-0dGW-UqkCS
  • コマンドに -v 引数を追加すると、追加のフィールドが含まれます。たとえば、pvs -v コマンドは、デフォルトフィールドに加えて、DevSizePV UUID のフィールドも表示します。

    # pvs -v
    Scanning for physical volume names
    PV VG Fmt Attr PSize PFree DevSize PV UUID
    /dev/sdb1 new_vg lvm2 a- 17.14G 17.14G 17.14G onFF2w-1fLC-ughJ-D9eB-M7iv-6XqA-dqGeXY
    /dev/sdc1 new_vg lvm2 a- 17.14G 17.09G 17.14G Joqlch-yWSj-kuEn-IdwM-01S9-XO8M-mcpsVe
    /dev/sdd1 new_vg lvm2 a- 17.14G 17.14G 17.14G yvfvZK-Cf31-j75k-dECm-0RZ3-0dGW-tUqkCS
  • --noheadings 引数は、見出し行を表示しません。これはスクリプトを作成する際に便利です。

    以下の例は、pv_name 引数と共に --noheadings 引数を使用して、すべての物理ボリュームのリストを生成しています。

    # pvs --noheadings -o pv_name
    /dev/sdb1
    /dev/sdc1
    /dev/sdd1
  • --separator separator 引数は、区切り文字 を使用して、各フィールドを区切ります。

    次の例は、pvs コマンドのデフォルト出力フィールドを等号 (=) で分割しています。

    # pvs --separator =
    PV=VG=Fmt=Attr=PSize=PFree
    /dev/sdb1=new_vg=lvm2=a-=17.14G=17.14G
    /dev/sdc1=new_vg=lvm2=a-=17.14G=17.09G
    /dev/sdd1=new_vg=lvm2=a-=17.14G=17.14G

    separator 引数の使用時にフィールドを配置するには、--aligned 引数とともに separator 引数を使用します。

    # pvs --separator = --aligned
    PV =VG =Fmt =Attr=PSize =PFree
    /dev/sdb1 =new_vg=lvm2=a- =17.14G=17.14G
    /dev/sdc1 =new_vg=lvm2=a- =17.14G=17.09G
    /dev/sdd1 =new_vg=lvm2=a- =17.14G=17.14G

lvs コマンドまたは vgs コマンドの -P 引数を使用して、通常の出力では表示されない、障害が発生したボリュームの情報を表示します

表示引数のリストは、man ページの pvs(8)、vgs(8)、および lvs(8) を参照してください。

ボリュームグループフィールドは、物理ボリューム (および物理ボリュームセグメント) フィールド、または論理ボリューム (および論理ボリュームセグメント) フィールドと混在させることができますが、物理ボリュームフィールドと論理ボリュームフィールドは混在させることができません。たとえば、以下のコマンドは、1 つの物理ボリュームつき 1 行の出力を表示します。

# vgs -o +pv_name
  VG     #PV #LV #SN Attr   VSize  VFree  PV
  new_vg   3   1   0 wz--n- 51.42G 51.37G /dev/sdc1
  new_vg   3   1   0 wz--n- 51.42G 51.37G /dev/sdd1
  new_vg   3   1   0 wz--n- 51.42G 51.37G /dev/sdb1

68.6.2. LVM オブジェクト表示フィールド

pvsvgs、および lvs コマンドを使用して、LVM オブジェクトに関する追加情報を表示できます。

フィールド名の接頭辞は、コマンドのデフォルトと一致する場合は省略できます。たとえば、pvs コマンドでは、namepv_namevgs コマンドでは、namevg_name と解釈されます。

以下のコマンドの実行は、pvs -o pv_free の実行に相当します。

# pvs -o free
  PFree
  17.14G
  17.09G
  17.14G
注記

pvsvgs、および lvs 出力の属性フィールドにある文字数は、以降のリリースで増える可能性があります。既存の文字フィールドの位置は変更しませんが、新しいフィールドが末尾に追加される可能性があります。相対的な位置を使用して特定の属性文字を検索するスクリプトを作成する場合は、このことを考慮して、フィールドの終点ではなく、フィールドの始点を基点として文字検索を行います。たとえば、lv_attr フィールドの 9 番目のビットの文字 p を検索する場合は、文字列^/…​…​..p/で指定できます。/*p$/は使用しないでください。

表68.1「pvs コマンド表示フィールド」 は、pvs コマンドの表示引数、ヘッダーに表示されるフィールド名、フィールドの説明を一覧にまとめています。

表68.1 pvs コマンド表示フィールド

引数ヘッダー説明

dev_size

DevSize

物理ボリュームを作成する基となるデバイスのサイズ

pe_start

1st PE

基となるデバイス内の最初の物理エクステントの開始点までのオフセット

pv_attr

Attr

物理ボリュームのステータス - (a)llocatable または e(x)ported

pv_fmt

Fmt

物理ボリュームのメタデータ形式 (lvm2 または lvm1)

pv_free

PFree

物理ボリュームにある残りの空き領域

pv_name

PV

物理ボリュームの名前

pv_pe_alloc_count

Alloc

使用される物理エクステントの数

pv_pe_count

PE

物理エクステントの数

pvseg_size

SSize

物理ボリュームのセグメントサイズ

pvseg_start

Start

物理ボリュームセグメントの最初の物理エクステント

pv_size

PSize

物理ボリュームのサイズ

pv_tags

PV Tags

物理ボリュームに割り当てられた LVM タグ

pv_used

Used

物理ボリュームで現在使用中の領域の量

pv_uuid

PV UUID

物理ボリュームの UUID

デフォルトでは、pvs コマンドは pv_namevg_namepv_fmtpv_attrpv_size、および pv_free フィールドを表示します。この表示は、pv_name でソートされています。

# pvs
  PV         VG     Fmt  Attr PSize  PFree
  /dev/sdb1  new_vg lvm2 a-   17.14G 17.14G
  /dev/sdc1  new_vg lvm2 a-   17.14G 17.09G
  /dev/sdd1  new_vg lvm2 a-   17.14G 17.13G

pvs コマンドに -v 引数を使用すると、デフォルトの表示に、dev_size フィールドおよび pv_uuid フィールドが追加されます。

# pvs -v
    Scanning for physical volume names
  PV         VG     Fmt  Attr PSize  PFree  DevSize PV UUID
  /dev/sdb1  new_vg lvm2 a-   17.14G 17.14G  17.14G onFF2w-1fLC-ughJ-D9eB-M7iv-6XqA-dqGeXY
  /dev/sdc1  new_vg lvm2 a-   17.14G 17.09G  17.14G Joqlch-yWSj-kuEn-IdwM-01S9-XO8M-mcpsVe
  /dev/sdd1  new_vg lvm2 a-   17.14G 17.13G  17.14G yvfvZK-Cf31-j75k-dECm-0RZ3-0dGW-tUqkCS

pvs コマンドに --segments 引数を使用すると、各物理ボリュームセグメントの情報を表示します。セグメントはエクステントの集合です。セグメントの表示は、論理ボリュームがフラグメント化 (断片化) しているかどうかを確認するのに役立ちます。

デフォルトで pvs --segments コマンドが表示するフィールドは、pv_namevg_namepv_fmtpv_attrpv_sizepv_freepvseg_start、および pvseg_size です。この表示は、物理ボリューム内では pv_name および pvseg_size でソートされています。

# pvs --segments
  PV         VG         Fmt  Attr PSize  PFree  Start SSize
  /dev/hda2  VolGroup00 lvm2 a-   37.16G 32.00M     0  1172
  /dev/hda2  VolGroup00 lvm2 a-   37.16G 32.00M  1172    16
  /dev/hda2  VolGroup00 lvm2 a-   37.16G 32.00M  1188     1
  /dev/sda1  vg         lvm2 a-   17.14G 16.75G     0    26
  /dev/sda1  vg         lvm2 a-   17.14G 16.75G    26    24
  /dev/sda1  vg         lvm2 a-   17.14G 16.75G    50    26
  /dev/sda1  vg         lvm2 a-   17.14G 16.75G    76    24
  /dev/sda1  vg         lvm2 a-   17.14G 16.75G   100    26
  /dev/sda1  vg         lvm2 a-   17.14G 16.75G   126    24
  /dev/sda1  vg         lvm2 a-   17.14G 16.75G   150    22
  /dev/sda1  vg         lvm2 a-   17.14G 16.75G   172  4217
  /dev/sdb1  vg         lvm2 a-   17.14G 17.14G     0  4389
  /dev/sdc1  vg         lvm2 a-   17.14G 17.14G     0  4389
  /dev/sdd1  vg         lvm2 a-   17.14G 17.14G     0  4389
  /dev/sde1  vg         lvm2 a-   17.14G 17.14G     0  4389
  /dev/sdf1  vg         lvm2 a-   17.14G 17.14G     0  4389
  /dev/sdg1  vg         lvm2 a-   17.14G 17.14G     0  4389

pvs -a コマンドを使用して、LVM が検出した、LVM 物理ボリュームとして初期化していないデバイスを確認できます。

# pvs -a
  PV                             VG     Fmt  Attr PSize  PFree
  /dev/VolGroup00/LogVol01                   --       0      0
  /dev/new_vg/lvol0                          --       0      0
  /dev/ram                                   --       0      0
  /dev/ram0                                  --       0      0
  /dev/ram2                                  --       0      0
  /dev/ram3                                  --       0      0
  /dev/ram4                                  --       0      0
  /dev/ram5                                  --       0      0
  /dev/ram6                                  --       0      0
  /dev/root                                  --       0      0
  /dev/sda                                   --       0      0
  /dev/sdb                                   --       0      0
  /dev/sdb1                      new_vg lvm2 a-   17.14G 17.14G
  /dev/sdc                                   --       0      0
  /dev/sdc1                      new_vg lvm2 a-   17.14G 17.09G
  /dev/sdd                                   --       0      0
  /dev/sdd1                      new_vg lvm2 a-   17.14G 17.14G

表68.2「vgs 表示フィールド」 は、vgs コマンドの表示引数、ヘッダーに表示されるフィールド名、およびフィールドの説明を一覧にまとめています。

表68.2 vgs 表示フィールド

引数ヘッダー説明

lv_count

#LV

ボリュームグループに含まれる論理ボリュームの数

max_lv

MaxLV

ボリュームグループで許容される論理ボリュームの最大数 (無制限の場合は 0)

max_pv

MaxPV

ボリュームグループで許容される物理ボリュームの最大数 (無制限の場合は 0)

pv_count

#PV

ボリュームグループを定義する物理ボリューム数

snap_count

#SN

ボリュームグループに含まれるスナップショット数

vg_attr

Attr

ボリュームグループのステータス - (w)riteable (書き込み可能)、(r)eadonly (読み取りのみ)、resi(z)eable (サイズ変更可能)、e(x)ported (エクスポート済)、(p)artial (部分的)、および (c)lustered (クラスター化)

vg_extent_count

#Ext

ボリュームグループの物理エクステントの数

vg_extent_size

Ext

ボリュームグループの物理エクステントのサイズ

vg_fmt

Fmt

ボリュームグループのメタデータ形式 (lvm2 または lvm1)

vg_free

VFree

ボリュームグループの残りの空き領域のサイズ

vg_free_count

Free

ボリュームグループの空き物理エクステントの数

vg_name

VG

ボリュームグループ名

vg_seqno

Seq

ボリュームグループの改訂を示す番号

vg_size

VSize

ボリュームグループのサイズ

vg_sysid

SYS ID

LVM1 システム ID

vg_tags

VG Tags

ボリュームグループに割り当てられた LVM タグ

vg_uuid

VG UUID

ボリュームグループの UUID

デフォルトで vgs コマンドが表示するフィールドは、vg_namepv_countlv_countsnap_countvg_attrvg_size、および vg_free です。この表示は、vg_name でソートされています。

# vgs
  VG     #PV #LV #SN Attr   VSize  VFree
  new_vg   3   1   1 wz--n- 51.42G 51.36G

vgs コマンドに -v 引数を使用すると、デフォルトの表示に vg_extent_size および vg_uuid フィールドが追加されます。

# vgs -v
    Finding all volume groups
    Finding volume group "new_vg"
  VG     Attr   Ext   #PV #LV #SN VSize  VFree  VG UUID
  new_vg wz--n- 4.00M   3   1   1 51.42G 51.36G jxQJ0a-ZKk0-OpMO-0118-nlwO-wwqd-fD5D32

表68.3「lvs 表示フィールド」 は、lvs コマンドの表示引数、ヘッダーに表示されるフィールド名、およびフィールドの説明を一覧にまとめています。

注記

Red Hat Enterprise Linux の最近のリリースでは、lvs コマンドの出力にフィールドが追加されている場合があります。ただし、フィールドの順序は同じで、追加のフィールドは出力の最後に表示されます。

表68.3 lvs 表示フィールド

引数ヘッダー説明

* chunksize

* chunk_size

Chunk

スナップショットボリュームのユニットサイズ

copy_percent

Copy%

ミラー化論理ボリュームの同期のパーセンテージ。さらに pv_move コマンドで物理エクステントを移動する時にも使用されます。

devices

Devices

論理ボリュームを設定するデバイス - 物理ボリューム、論理ボリューム、および物理エクステントと論理エクステントの開始点

lv_ancestors

Ancestors

シンプールスナップショットにおける、論理ボリュームの先祖 (ancestor)

lv_descendants

Descendants

シンプールスナップショットにおける、論理ボリュームの子孫 (descendant)

lv_attr

Attr

論理ボリュームのステータス。論理ボリュームの属性ビットは以下のようになります。

* ビット 1:ボリュームタイプ - (m)irrored (ミラー化)、(M)irrored without initial sync (初期同期なしのミラー化)、(o)rigin (作成元)、(O)rigin with merging snapshot (マージするスナップショットがある作成元)、(r)aid (RAID)、(R)aid without initial sync (初期同期なしの RAID)、(s)napshot (スナップショット)、merging (S)napshot (マージするスナップショット)、(p)vmove (物理ボリュームの移動)、(v)irtual (仮想)、mirror or raid (i)mage (ミラーまたは RAID イメージ)、mirror or raid (I)mage out-of-sync (ミラーまたは RAID イメージの非同期)、mirror (l)og device (ミラーログデバイス)、under (c)onversion (変換中)、thin (V)olume (シンボリューム)、(t)hin pool (シンプール)、(T)hin pool data (シンプールデータ)、raid or thin pool m(e)tadata or pool metadata spare (RAID またはシンプールメタデータもしくはプールメタデータのスペア)

* ビット 2:パーミッション - (w)riteable (書き込み可能)、(r)ead-only (読み取り専用)、(R)ead-only activation of non-read-only volume (読み取り専用でないボリュームを読み取り専用にアクティブ化)

* ビット 3:割り当てポリシー - (a)nywhere (どこでも)、(c)ontiguous (連続的)、(i)nherited (継承)、c(l)ing (膠着)、(n)ormal (通常)。これは、たとえば pvmove コマンドの実行時など、割り当ての変更に対してボリュームが現在ロックされている場合に大文字になります。

* ビット 4 - 固定されたマイナー番号

* ビット 5:ステータス - (a)ctive (アクティブ)、(s)uspended (サスペンド)、(I)nvalid snapshot (無効なスナップショット)、invalid (S)uspended snapshot (無効なサスペンドされたスナップショット)、snapshot (m)erge failed (スナップショットのマージが失敗)、suspended snapshot (M)erge failed (サスペンドされたスナップショットのマージが失敗)、mapped (d)evice present without tables (テーブルのないマッピングされたデバイス)、mapped device present with (i)nactive table (非アクティブのテーブルを持つマッピングされたデバイス)

* ビット 6 - デバイス開放 (o)

* ビット 7:ターゲットタイプ - (m)irror (ミラー)、(r)aid (RAID)、(s)napshot (スナップショット)、(t)hin (シン)、(u)nknown (不明)、(v)irtual (仮想)。これは、同じカーネルターゲットに関連する論理ボリュームをまとめます。たとえば、ミラーイメージ、ミラーログ、ミラー自体が、元のデバイスマッパーのミラーカーネルドライバーを使用する場合は、(m) と表示されます。md raid カーネルドライバーを使用する同等の RAID はすべて (r) と表示されます。元のデバイスマッパードライバーを使用するスナップショットは (s) と表示され、シンプロビジョニングドライバーを使用するシンボリュームのスナップショットは (t) と表示されます。

* ビット 8:新しく割り当てられたデータブロックは使用前に、ゼロ (z) のブロックで上書きされます。

* ビット 9:ボリュームの正常性 - (p)artial (部分的)、(r)efresh needed (更新が必要)、(m)ismatches exist (不一致が存在)、(w)ritemostly (書き込み多発)。部分的 (p) は、この論理ボリュームが使用する 1 つ以上の物理ボリュームがシステムから欠落していることを表します。更新 (r) は、この RAID 論理ボリュームが使用する 1 つ以上の物理ボリュームで書き込みエラーが発生したことを表します。書き込みエラーは、その物理ボリュームの一時的な障害により引き起こされたか、物理ボリュームに障害があることを示すかのいずれかの可能性があります。デバイスは更新するか、置き換える必要があります。不一致 (m) は、RAID 論理ボリュームのアレイに一貫していない部分があることを表します。不整合は、RAID 論理ボリュームで check 操作を開始すると検出されます。(スクラビング操作 check および repair は、lvchange コマンドにより RAID 論理ボリューム上で実行できます。) 書き込み多発 (w) は、write-mostly とマークが付けられた RAID 1 論理ボリュームのデバイスを表します。

* ビット 10 - s(k)ip activation (アクティブ化のスキップ - このボリュームには、アクティブ化の実行時にスキップされるようにフラグが設定されます。

lv_kernel_major

KMaj

論理ボリュームの実際のメジャーデバイス番号 (非アクティブの場合は -1)

lv_kernel_minor

KMIN

論理ボリュームの実際のマイナーデバイス番号 (非アクティブの場合は -1)

lv_major

Maj

論理ボリュームの永続的なメジャーデバイス番号 (未指定の場合は -1)

lv_minor

Min

論理ボリュームの永続的なマイナーデバイス番号 (未指定の場合は -1)

lv_name

LV

論理ボリュームの名前

lv_size

LSize

論理ボリュームのサイズ

lv_tags

LV Tags

論理ボリュームに割り当てられた LVM タグ

lv_uuid

LV UUID

論理ボリュームの UUID

mirror_log

Log

ミラーログが存在するデバイス

modules

Modules

この論理ボリュームを使用するのに必要な、対応するカーネルデバイスマッパーターゲット

move_pv

Move

pvmove コマンドで作成された一時的な論理ボリュームの元となる物理ボリューム

origin

Origin

スナップショットボリュームの作成元のデバイス

* regionsize

* region_size

Region

ミラー化論理ボリュームのユニットサイズ

seg_count

#Seg

論理ボリュームのセグメント数

seg_size

SSize

論理ボリュームのセグメントサイズ

seg_start

Start

論理ボリュームのセグメントのオフセット

seg_tags

Seg Tags

論理ボリュームのセグメントに割り当てられた LVM タグ

segtype

タイプ

論理ボリュームのセグメントタイプ (例: ミラー、ストライプ、リニア)

snap_percent

Snap%

使用中スナップショットボリュームの現在のパーセンテージ

stripes

#Str

論理ボリュームのストライプ、またはミラーの数

* stripesize

* stripe_size

Stripe

ストライプ化論理ボリュームのストライプのユニットサイズ

デフォルトで lvs コマンドが表示するのは以下になります。デフォルトの表示は、ボリュームグループ内では vg_name および lv_name でソートされます。

# lvs
  LV     VG              Attr       LSize    Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  origin VG              owi-a-s---    1.00g
  snap   VG              swi-a-s---  100.00m      origin 0.00

lvs コマンドの一般的な用途は、論理ボリュームを設定するデバイスを表示するコマンドに、devices を追加することです。また、この例では、-a オプションを指定して、RAID ミラーなどの論理ボリュームのコンポーネントである内部ボリュームを、括弧で囲んで表示します。この例には、RAID ボリューム、ストライプのボリューム、シンプールのボリュームが含まれます。

# lvs -a -o +devices
  LV               VG            Attr       LSize   Pool   Origin Data%  Meta%  Move Log Cpy%Sync Convert Devices
  raid1            VG            rwi-a-r---   1.00g                                      100.00           raid1_rimage_0(0),raid1_rimage_1(0)
  [raid1_rimage_0] VG            iwi-aor---   1.00g                                                       /dev/sde1(7041)
  [raid1_rimage_1] VG            iwi-aor---   1.00g                                                       /dev/sdf1(7041)
  [raid1_rmeta_0]  VG            ewi-aor---   4.00m                                                       /dev/sde1(7040)
  [raid1_rmeta_1]  VG            ewi-aor---   4.00m                                                       /dev/sdf1(7040)
  stripe1          VG            -wi-a-----  99.95g                                                       /dev/sde1(0),/dev/sdf1(0)
  stripe1          VG            -wi-a-----  99.95g                                                       /dev/sdd1(0)
  stripe1          VG            -wi-a-----  99.95g                                                       /dev/sdc1(0)
  [lvol0_pmspare]  rhel_host-083 ewi-------   4.00m                                                       /dev/vda2(0)
  pool00           rhel_host-083 twi-aotz--  <4.79g               72.90  54.69                            pool00_tdata(0)
  [pool00_tdata]   rhel_host-083 Twi-ao----  <4.79g                                                       /dev/vda2(1)
  [pool00_tmeta]   rhel_host-083 ewi-ao----   4.00m                                                       /dev/vda2(1226)
  root             rhel_host-083 Vwi-aotz--  <4.79g pool00        72.90
  swap             rhel_host-083 -wi-ao---- 820.00m                                                       /dev/vda2(1227)

lvs コマンドで -v 引数を使用して、デフォルトの表示に、seg_countlv_majorlv_minorlv_kernel_majorlv_kernel_minorlv_uuid のフィールドを追加します。

# lvs -v
    Finding all logical volumes
  LV         VG     #Seg Attr   LSize  Maj Min KMaj KMin Origin Snap%  Move Copy%  Log Convert LV UUID
  lvol0      new_vg    1 owi-a- 52.00M  -1  -1 253  3                                          LBy1Tz-sr23-OjsI-LT03-nHLC-y8XW-EhCl78
  newvgsnap1 new_vg    1 swi-a-  8.00M  -1  -1 253  5    lvol0    0.20                         1ye1OU-1cIu-o79k-20h2-ZGF0-qCJm-CfbsIx

lvs コマンドの --segments 引数を使用して、セグメント情報を強調するデフォルトの列で情報を表示できます。segments 引数を使用する場合、seg 接頭辞は必要に応じて使用します。デフォルトで lvs --segments コマンドが表示するフィールドは、lv_namevg_namelv_attrstripessegtypeseg_size です。デフォルトの表示は、ボリュームグループ内では vg_namelv_name でソートされ、論理ボリュームでは seg_start でソートされます。論理ボリュームが断片化されると、このコマンドの出力が表示されます。

# lvs --segments
  LV       VG         Attr   #Str Type   SSize
  LogVol00 VolGroup00 -wi-ao    1 linear  36.62G
  LogVol01 VolGroup00 -wi-ao    1 linear 512.00M
  lv       vg         -wi-a-    1 linear 104.00M
  lv       vg         -wi-a-    1 linear 104.00M
  lv       vg         -wi-a-    1 linear 104.00M
  lv       vg         -wi-a-    1 linear  88.00M

lvs --segments コマンドで -v 引数を使用すると、デフォルトの表示に seg_startstripsize、および chunksize フィールドが追加されます。

# lvs -v --segments
    Finding all logical volumes
  LV         VG     Attr   Start SSize  #Str Type   Stripe Chunk
  lvol0      new_vg owi-a-    0  52.00M    1 linear     0     0
  newvgsnap1 new_vg swi-a-    0   8.00M    1 linear     0  8.00K

以下の 1 つ目の例は、設定された論理ボリュームが 1 つあるシステムで実行した lvs コマンドのデフォルト出力を示しています。その次の例は、segments 引数を指定した lvs コマンドのデフォルト出力を表示しています。

# lvs
  LV    VG     Attr   LSize  Origin Snap%  Move Log Copy%
  lvol0 new_vg -wi-a- 52.00M
# lvs --segments
  LV    VG     Attr   #Str Type   SSize
  lvol0 new_vg -wi-a-    1 linear 52.00M

68.6.3. LVM 報告のソート

通常、lvs コマンド、vgs コマンド、または pvs コマンドの出力全体をソートして、コラムを正しく配置する場合は、出力を生成して内部に保管する必要があります。--unbuffered 引数を指定すると、生成直後にソートされていないままの出力で表示できます。

別の順列のコラムリストのソートを指定するには、報告コマンドのいずれかと一緒に -O 引数を使用します。出力自体に、このフィールドを含める必要はありません。

以下の例は、物理ボリュームの名前、サイズ、および空き領域を表示する pvs コマンドの出力を示しています。

# pvs -o pv_name,pv_size,pv_free
  PV         PSize  PFree
  /dev/sdb1  17.14G 17.14G
  /dev/sdc1  17.14G 17.09G
  /dev/sdd1  17.14G 17.14G

以下の例では、空き領域のフィールドでソートされた同じ出力を示しています。

# pvs -o pv_name,pv_size,pv_free -O pv_free
  PV         PSize  PFree
  /dev/sdc1  17.14G 17.09G
  /dev/sdd1  17.14G 17.14G
  /dev/sdb1  17.14G 17.14G

以下の例では、ソートするフィールドを表示する必要がないことを示しています。

# pvs -o pv_name,pv_size -O pv_free
  PV         PSize
  /dev/sdc1  17.14G
  /dev/sdd1  17.14G
  /dev/sdb1  17.14G

逆順でソートするには、-O 引数の後で指定するフィールドの先頭に - 印を付けます。

# pvs -o pv_name,pv_size,pv_free -O -pv_free
  PV         PSize  PFree
  /dev/sdd1  17.14G 17.14G
  /dev/sdb1  17.14G 17.14G
  /dev/sdc1  17.14G 17.09G

68.6.4. LVM レポート表示への単位の指定

LVM 報告表示用の単位を指定するには、報告コマンドに --units 引数を使用します。

ベース 2 ユニット

2 の累乗 (1024 の倍数) で表示されるデフォルトの単位。以下を指定できます。

  • 人間が判読できる (r) < 丸めインジケータ付き
  • バイト (b)
  • セクター ()
  • キロバイト (k)
  • メガバイト (m)
  • ギガバイト (g)
  • テラバイト (t)
  • ペタバイト (p)
  • エクサバイト (e)
  • デフォルトの単位である人間が読める形式 (h)

デフォルトの表示は r で、人間が判読できます。このデフォルト設定を上書きするには、/etc/lvm/lvm.conf ファイルの global セクションに units パラメーターを設定します。

基本 10 単位
単位指定 (RBSKMGTPEH) を大文字にすることで、表示する単位を 1000 の倍数で指定できます。

次の例では、pvsvgs、および lvs コマンドの出力を基数 2 のギガバイト単位で指定します。

# pvs --units g /dev/sdb
  PV        VG    Fmt  Attr PSize   PFree
  /dev/sdb  test  lvm2 a--  931.00g 930.00g
# vgs --units g test
  VG   #PV #LV #SN Attr VSize   VFree
  test   1   1   0 wz-n 931.00g 931.00g
# lvs --units g test
  LV    VG   Attr     LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lvol0 test wi-a---- 1.OOg

次の例では、pvsvgs、および lvs コマンドの出力をベース 10 ギガバイト単位で指定します。

# pvs --units G /dev/sdb
  PV        VG   Fmt  Attr  PSize   PFree
  /dev/sdb  test lvm2 a--   999.65G 998.58G
# vgs --units G test
  VG   #PV #LV #SN Attr VSize   VFree
  test   1   1   0 wz-n 999.65G 998.58G
# lvs --units G test
  LV    VG   Attr     LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lvol0 test wi-a---- 1.07G

512 バイトとして定義されたセクター (s) またはカスタム単位を指定できます。次の例は、pvs コマンドの出力を複数のセクターとして表示します。

# pvs --units s
  PV         VG     Fmt  Attr PSize       PFree
  /dev/sdb   test   lvm2 a--  1952440320S 1950343168S

以下の例は、pvs コマンドの出力を 4 MB 単位で表示しています。

# pvs --units 4m
  PV         VG     Fmt  Attr PSize      PFree
  /dev/sdb   test   lvm2 a--  238335.00U 238079.00U

r 単位の目的は、h (人間が読める形式) と同様に機能することですが、さらに、報告される値に < または > の接頭辞を付けて、実際のサイズが表示サイズよりわずかに大きいまたは小さいことを示します。r 設定は、LVM コマンドのデフォルトです。LVM は 10 進数値を四捨五入するため、正確でないサイズが報告されます。次の点に注意してください。

# vgs --units g test
  VG   #PV #LV #SN Attr VSize   VFree
  test   1   1   0 wz-n 931.00g 930.00g
# vgs --units r test
  VG   #PV #LV #SN Attr VSize    VFree
  test   1   1   0 wz-n <931.00g <930.00
# vgs test
  VG   #PV #LV #SN Attr VSize    VFree
  test   1   1   0 wz-n <931.00g <930.00g

--units が指定されていない場合は、r がデフォルトの単位であることに注意してください。また、--units g (または他の --units) が常に正確なサイズを表示するとは限らないことも示しています。また、表示されたサイズが正確でないことを示す < である r の主な目的も示しています。この例では、VG サイズがギガバイトの正確な倍数ではなく、.01 も分数の正確な表現ではないため、値は正確ではありません。

68.6.5. JSON 形式で LVM コマンド結果の表示

LVM 表示コマンドで --reportformat オプションを使用して、JSON 形式で出力を表示できます。

以下の例では、標準的なデフォルト形式の lvs の出力を示しています。

# lvs
  LV      VG            Attr       LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  my_raid my_vg         Rwi-a-r---  12.00m                                    100.00
  root    rhel_host-075 -wi-ao----   6.67g
  swap    rhel_host-075 -wi-ao---- 820.00m

以下のコマンドは、JSON 形式を指定する場合と同じ LVM 設定の出力を表示します。

# lvs --reportformat json
  {
      "report": [
          {
              "lv": [
                  {"lv_name":"my_raid", "vg_name":"my_vg", "lv_attr":"Rwi-a-r---", "lv_size":"12.00m", "pool_lv":"", "origin":"", "data_percent":"", "metadata_percent":"", "move_pv":"", "mirror_log":"", "copy_percent":"100.00", "convert_lv":""},
                  {"lv_name":"root", "vg_name":"rhel_host-075", "lv_attr":"-wi-ao----", "lv_size":"6.67g", "pool_lv":"", "origin":"", "data_percent":"", "metadata_percent":"", "move_pv":"", "mirror_log":"", "copy_percent":"", "convert_lv":""},
                  {"lv_name":"swap", "vg_name":"rhel_host-075", "lv_attr":"-wi-ao----", "lv_size":"820.00m", "pool_lv":"", "origin":"", "data_percent":"", "metadata_percent":"", "move_pv":"", "mirror_log":"", "copy_percent":"", "convert_lv":""}
              ]
          }
      ]
  }

また、/etc/lvm/lvm.conf ファイルで output_format 設定を使用して、レポート形式を設定オプションとして設定することもできます。ただし、コマンドラインの --reportformat 設定は、この設定よりも優先されます。

68.6.6. LVM コマンドログの表示

レポート指向および処理指向の LVM コマンドを使用して、コマンドログを報告できます (これが log/report_command_log 設定で有効になっている場合)。このレポートで表示およびソートするフィールドセットを決定できます。

以下の例では、LVM コマンド向けの完全なログレポートを生成するように LVM を設定します。この例では、論理ボリューム lvol0lvol1 の両方が、それらの論理ボリュームを含むボリュームグループ VG とともに正常に処理されたことを確認できます。

# lvmconfig --type full log/command_log_selection
command_log_selection="all"

# lvs
  Logical Volume
  ==============
  LV    LSize Cpy%Sync
  lvol1 4.00m 100.00
  lvol0 4.00m

  Command Log
  ===========
  Seq LogType Context    ObjType ObjName ObjGrp  Msg     Errno RetCode
    1 status  processing lv      lvol0   vg      success     0       1
    2 status  processing lv      lvol1   vg      success     0       1
    3 status  processing vg      vg              success     0       1

# lvchange -an vg/lvol1
  Command Log
  ===========
  Seq LogType Context    ObjType ObjName ObjGrp  Msg     Errno RetCode
    1 status  processing lv      lvol1   vg      success     0       1
    2 status  processing vg      vg              success     0       1

LVM レポートおよびコマンドログの設定の詳細は、man ページの lvmreport を参照してください。