Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

4.8. LVM 用のカスタム報告

LVM では、カスタマイズされたレポートを生成したり、レポートの出力をフィルタリングしたりするためのさまざまな設定およびコマンドラインオプションが提供されます。LVM レポート機能の完全な説明については、lvmreport(7) の man ページを参照してください。
pvslvs、および vgs コマンドを使用して、LVM オブジェクトについての簡潔でカスタマイズ可能なレポートを作成することができます。このコマンドが生成するレポートには、オブジェクトごとに 1 行の出力が含まれます。各行には、オブジェクトに関連するプロパティーのフィールドについて、順序付けられた一覧が含まれます。レポートするオブジェクトを選択する方法には、物理ボリューム別、ボリュームグループ別、論理ボリューム別、物理ボリュームセグメント別、および論理ボリュームセグメント別の 5 つの方法があります。
Red Hat Enterprise Linux 7.3 リリースでは、lvm fullreport コマンドを使用して、物理ボリューム、ボリュームグループ、論理ボリューム、物理ボリュームセグメント、および論理ボリュームセグメントに関する情報を一度に報告できます。このコマンドとその機能については、lvm-fullreport(8) の man ページを参照してください。
Red Hat Enterprise Linux 7.3 リリースでは、LVM は、LVM コマンドの実行中に収集された操作、メッセージ、およびオブジェクトごとのステータス (完全なオブジェクト ID 付き) が含まれるメッセージログレポートをサポートします。LVM ログレポートの例は、「コマンドログレポート (Red Hat Enterprise Linux 7.3 以降)」 を参照してください。LVM ログレポートの詳細は、lvmreport(7) の man ページを参照してください。
以下のセクションでは、pvslvs、および vgs コマンドを使用したレポートのカスタマイズに関する概要情報を提供しています。

4.8.1. 形式の制御

pvslvs、または vgs コマンドのどれを使用するかによって、表示されるデフォルトのフィールドセットとソート順序が決定されます。このコマンドの出力は、以下の引数を使用して制御できます。
  • -o 引数を使用すると、表示するフィールドをデフォルト以外に変更できます。たとえば、以下の出力は pvs コマンドのデフォルト表示です (物理ボリュームに関する情報を表示)。
    # 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.14G
    
    以下のコマンドは、物理ボリュームの名前とサイズだけを表示します。
    # 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 引数を使用して、通常の出力では表示されない、障害が発生したボリュームの情報を表示しますこの引数を使用した場合に出力される情報については、「障害の発生したデバイスの情報を表示」 をご覧ください。
表示に関する引数の詳細は、pvs(8), vgs(8)、および lvs(8) の man ページを参照してください。
ボリュームグループフィールドは、物理ボリューム (および物理ボリュームセグメント) フィールド、または論理ボリューム (および論理ボリュームセグメント) フィールドと混在させることができますが、物理ボリュームフィールドと論理ボリュームフィールドは混在させることができません。たとえば、以下のコマンドは、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

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

このセクションでは、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$/" は使用しないでください。

pvs コマンド

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

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

引数ヘッダー説明
dev_sizeDevSize 物理ボリュームを作成する基となるデバイスのサイズ
pe_start1st PE 基となるデバイス内の最初の物理エクステントの開始点までのオフセット
pv_attrAttr 物理ボリュームのステータス - (a)llocatable または e(x)ported
pv_fmtFmt 物理ボリュームのメタデータ形式 (lvm2 または lvm1)
pv_freePFree 物理ボリュームにある残りの空き領域
pv_namePV 物理ボリュームの名前
pv_pe_alloc_countAlloc 使用される物理エクステントの数
pv_pe_countPE 物理エクステントの数
pvseg_sizeSSize 物理ボリュームのセグメントサイズ
pvseg_startStart 物理ボリュームセグメントの最初の物理エクステント
pv_sizePSize 物理ボリュームのサイズ
pv_tagsPV Tags 物理ボリュームに割り当てられた LVM タグ
pv_usedUsed 物理ボリュームで現在使用中の領域の量
pv_uuidPV 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

vgs コマンド

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

表4.4 vgs 表示フィールド

引数ヘッダー説明
lv_count#LV ボリュームグループに含まれる論理ボリュームの数
max_lvMaxLV ボリュームグループで許容される論理ボリュームの最大数 (無制限の場合は 0)
max_pvMaxPV ボリュームグループで許容される物理ボリュームの最大数 (無制限の場合は 0)
pv_count#PV ボリュームグループを定義する物理ボリューム数
snap_count#SN ボリュームグループに含まれるスナップショット数
vg_attrAttr ボリュームグループのステータス - (w)riteable (書き込み可能)、(r)eadonly (読み取りのみ)、resi(z)eable (サイズ変更可能)、e(x)ported (エクスポート済)、(p)artial (部分的)、および (c)lustered (クラスター化)
vg_extent_count#Ext ボリュームグループの物理エクステントの数
vg_extent_sizeExt ボリュームグループの物理エクステントのサイズ
vg_fmtFmt ボリュームグループのメタデータ形式 (lvm2 または lvm1)
vg_freeVFree ボリュームグループの残りの空き領域のサイズ
vg_free_countFree ボリュームグループの空き物理エクステントの数
vg_nameVG ボリュームグループ名
vg_seqnoSeq ボリュームグループの改訂を示す番号
vg_sizeVSize ボリュームグループのサイズ
vg_sysidSYS ID LVM1 システム ID
vg_tagsVG Tags ボリュームグループに割り当てられた LVM タグ
vg_uuidVG 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

lvs コマンド

表4.5「lvs 表示フィールド」は、lvs コマンドの表示引数、ヘッダーに表示されるフィールド名、およびフィールドの説明を一覧にまとめています。
注記
Red Hat Enterprise Linux の最近のリリースでは、lvs コマンドの出力にフィールドが追加されている場合があります。ただし、フィールドの順序は同じで、追加のフィールドは出力の最後に表示されます。

表4.5 lvs 表示フィールド

引数ヘッダー説明
chunksize
chunk_size
Chunk スナップショットボリュームのユニットサイズ
copy_percentCopy% ミラー化論理ボリュームの同期のパーセンテージ。さらに pv_move コマンドで物理エクステントを移動する時にも使用されます。
devicesDevices 論理ボリュームを構成するデバイス - 物理ボリューム、論理ボリューム、および物理エクステントと論理エクステントの開始点
lv_ancestorsAncestors (Red Hat Enterprise Linux 7.2 以降) シンプールスナップショットにおける、論理ボリュームの先祖 (ancestor)
lv_descendantsDescendants (Red Hat Enterprise Linux 7.2 以降) シンプールスナップショットにおける、論理ボリュームの子孫 (descendant)
lv_attrAttr 論理ボリュームのステータス。論理ボリュームの属性ビットは以下のようになります。
ビット 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_majorKMaj 論理ボリュームの実際のメジャーデバイス番号 (非アクティブの場合は -1)
lv_kernel_minorKMIN 論理ボリュームの実際のマイナーデバイス番号 (非アクティブの場合は -1)
lv_majorMaj 論理ボリュームの永続的なメジャーデバイス番号 (未指定の場合は -1)
lv_minorMin 論理ボリュームの永続的なマイナーデバイス番号 (未指定の場合は -1)
lv_nameLV 論理ボリュームの名前
lv_sizeLSize 論理ボリュームのサイズ
lv_tagsLV Tags 論理ボリュームに割り当てられた LVM タグ
lv_uuidLV UUID 論理ボリュームの UUID
mirror_logLog ミラーログが存在するデバイス
modulesModules この論理ボリュームを使用するのに必要な、対応するカーネルデバイスマッパーターゲット
move_pvMove pvmove コマンドで作成された一時的な論理ボリュームの元となる物理ボリューム
originOrigin スナップショットボリュームの作成元のデバイス
regionsize
region_size
Region ミラー化論理ボリュームのユニットサイズ
seg_count#Seg 論理ボリュームのセグメント数
seg_sizeSSize 論理ボリュームのセグメントサイズ
seg_startStart 論理ボリュームのセグメントのオフセット
seg_tagsSeg Tags 論理ボリュームのセグメントに割り当てられた LVM タグ
segtypeタイプ 論理ボリュームのセグメントタイプ (例: ミラー、ストライプ、リニア)
snap_percentSnap% 使用中スナップショットボリュームの現在のパーセンテージ
stripes#Str 論理ボリュームのストライプ、またはミラーの数
stripesize
stripe_size
Stripe ストライプ化論理ボリュームのストライプのユニットサイズ
デフォルトで lvs コマンドが表示するフィールドは、lv_namevg_namelv_attrlv_sizeoriginsnap_percentmove_pvmirror_logcopy_percentconvert_lv です。デフォルトの表示は、ボリュームグループ内では vg_name および lv_name でソートされます。
# lvs
  LV         VG     Attr   LSize  Origin Snap%  Move Log Copy%  Convert
  lvol0      new_vg owi-a- 52.00M
  newvgsnap1 new_vg swi-a-  8.00M lvol0    0.20
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_attrstripessegtype、および seg_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_startstripesizechunksize のフィールドが追加されます。
# 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

4.8.3. LVM 報告のソート

通常、lvsvgs、または 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

4.8.4. ユニットの指定

LVM 報告表示用の単位を指定するには、報告コマンドに --units 引数を使用します。バイト (b)、キロバイト (k)、メガバイト (m)、ギガバイト (g)、テラバイト (t)、エクサバイト (e)、ペタバイト (p)、および人間が判読できる表示 (h) を指定できます。デフォルトは人間が判読できる表示です。このデフォルト設定を上書きするには、lvm.conf ファイルの global セクション内の units パラメーターを設定します。
以下の例は、pvs コマンドの出力をデフォルトのギガバイトでなく、メガバイトで指定しています。
# pvs --units m
  PV         VG     Fmt  Attr PSize     PFree
  /dev/sda1         lvm2 --   17555.40M 17555.40M
  /dev/sdb1  new_vg lvm2 a-   17552.00M 17552.00M
  /dev/sdc1  new_vg lvm2 a-   17552.00M 17500.00M
  /dev/sdd1  new_vg lvm2 a-   17552.00M 17552.00M
デフォルトでは、単位は 2 の累乗 (1024 の倍数) で表示されます。単位を 1000 の倍数で表示するには、大文字 (B、K、M、G、T、H) で単位を指定できます。
以下のコマンドは、1024 の倍数 (デフォルト) で出力を表示します。
# 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.14G
以下のコマンドは、1000 の倍数で出力を表示します。
#  pvs --units G
  PV         VG     Fmt  Attr PSize  PFree
  /dev/sdb1  new_vg lvm2 a-   18.40G 18.40G
  /dev/sdc1  new_vg lvm2 a-   18.40G 18.35G
  /dev/sdd1  new_vg lvm2 a-   18.40G 18.40G
セクター (512 バイトとして定義) またはカスタム単位も指定できます。
以下の例は、pvs コマンドの出力をセクター数として表示します。
# pvs --units s
  PV         VG     Fmt  Attr PSize     PFree
  /dev/sdb1  new_vg lvm2 a-   35946496S 35946496S
  /dev/sdc1  new_vg lvm2 a-   35946496S 35840000S
  /dev/sdd1  new_vg lvm2 a-   35946496S 35946496S
以下の例は、pvs コマンドの出力を 4 MB 単位で表示しています。
# pvs --units 4m
  PV         VG     Fmt  Attr PSize    PFree
  /dev/sdb1  new_vg lvm2 a-   4388.00U 4388.00U
  /dev/sdc1  new_vg lvm2 a-   4388.00U 4375.00U
  /dev/sdd1  new_vg lvm2 a-   4388.00U 4388.00U

4.8.5. JSON 形式の出力 (Red Hat Enterprise Linux 7.3 以降)

Red Hat Enterprise Linux 7.3 では、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 設定は、この設定よりも優先されます。

4.8.6. コマンドログレポート (Red Hat Enterprise Linux 7.3 以降)

Red Hat Enterprise Linux 7.3 では、レポート指向および処理指向の 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 レポートおよびコマンドログの設定の詳細については、lvmreport の man ページを参照してください。