68.6. LVM 用のカスタム報告
LVM では、カスタマイズされたレポートを生成したり、レポートの出力をフィルタリングしたりするための様々な設定およびコマンドラインオプションが提供されます。LVM レポート機能の完全な説明は、man ページの lvmreport
(7) を参照してください。
pvs
、lvs
、および vgs
コマンドを使用して、LVM オブジェクトについての簡潔でカスタマイズ可能なレポートを作成することができます。このコマンドが生成するレポートには、オブジェクトごとに 1 行の出力が含まれます。各行には、オブジェクトに関連するプロパティーのフィールドについて、順序付けられたリストが含まれます。レポートするオブジェクトを選択する方法には、物理ボリューム別、ボリュームグループ別、論理ボリューム別、物理ボリュームセグメント別、および論理ボリュームセグメント別の 5 つの方法があります。
lvm fullreport
コマンドを使用して、物理ボリューム、ボリュームグループ、論理ボリューム、物理ボリュームセグメント、および論理ボリュームセグメントに関する情報を一度に報告できます。このコマンドとその機能については、lvm-fullreport
(8) の man ページを参照してください。
LVM は、LVM コマンドの実行中に収集された操作、メッセージ、および各オブジェクトのステータス (完全なオブジェクト ID 付き) のログが含まれるログレポートをサポートします。LVM ログレポートの詳細は、man ページの lvmreport
(7) を参照してください。
68.6.1. LVM 表示の形式の制御
コマンドの pvs
、lvs
、または 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
コマンドは、デフォルトフィールドに加えて、DevSize
と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.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.14Gseparator
引数の使用時にフィールドを配置するには、--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 オブジェクト表示フィールド
pvs
、vgs
、および lvs
コマンドを使用して、LVM オブジェクトに関する追加情報を表示できます。
フィールド名の接頭辞は、コマンドのデフォルトと一致する場合は省略できます。たとえば、pvs
コマンドでは、name
は pv_name
、vgs
コマンドでは、name
は vg_name
と解釈されます。
以下のコマンドの実行は、pvs -o pv_free
の実行に相当します。
# pvs -o free PFree 17.14G 17.09G 17.14G
pvs
、vgs
、および lvs
出力の属性フィールドにある文字数は、以降のリリースで増える可能性があります。既存の文字フィールドの位置は変更しませんが、新しいフィールドが末尾に追加される可能性があります。相対的な位置を使用して特定の属性文字を検索するスクリプトを作成する場合は、このことを考慮して、フィールドの終点ではなく、フィールドの始点を基点として文字検索を行います。たとえば、lv_attr
フィールドの 9 番目のビットの文字 p
を検索する場合は、文字列^/……..p/で指定できます。/*p$/は使用しないでください。
表68.1「pvs コマンド表示フィールド」 は、pvs
コマンドの表示引数、ヘッダーに表示されるフィールド名、フィールドの説明を一覧にまとめています。
引数 | ヘッダー | 説明 |
---|---|---|
| DevSize | 物理ボリュームを作成する基となるデバイスのサイズ |
| 1st PE | 基となるデバイス内の最初の物理エクステントの開始点までのオフセット |
| Attr | 物理ボリュームのステータス - (a)llocatable または e(x)ported |
| Fmt |
物理ボリュームのメタデータ形式 ( |
| PFree | 物理ボリュームにある残りの空き領域 |
| PV | 物理ボリュームの名前 |
| Alloc | 使用される物理エクステントの数 |
| PE | 物理エクステントの数 |
| SSize | 物理ボリュームのセグメントサイズ |
| Start | 物理ボリュームセグメントの最初の物理エクステント |
| PSize | 物理ボリュームのサイズ |
| PV Tags | 物理ボリュームに割り当てられた LVM タグ |
| Used | 物理ボリュームで現在使用中の領域の量 |
| PV UUID | 物理ボリュームの UUID |
デフォルトでは、pvs
コマンドは pv_name
、vg_name
、pv_fmt
、pv_attr
、pv_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_name
、vg_name
、pv_fmt
、pv_attr
、pv_size
、pv_free
、pvseg_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
コマンドの表示引数、ヘッダーに表示されるフィールド名、およびフィールドの説明を一覧にまとめています。
引数 | ヘッダー | 説明 |
---|---|---|
| #LV | ボリュームグループに含まれる論理ボリュームの数 |
| MaxLV | ボリュームグループで許容される論理ボリュームの最大数 (無制限の場合は 0) |
| MaxPV | ボリュームグループで許容される物理ボリュームの最大数 (無制限の場合は 0) |
| #PV | ボリュームグループを定義する物理ボリューム数 |
| #SN | ボリュームグループに含まれるスナップショット数 |
| Attr | ボリュームグループのステータス - (w)riteable (書き込み可能)、(r)eadonly (読み取りのみ)、resi(z)eable (サイズ変更可能)、e(x)ported (エクスポート済)、(p)artial (部分的)、および (c)lustered (クラスター化) |
| #Ext | ボリュームグループの物理エクステントの数 |
| Ext | ボリュームグループの物理エクステントのサイズ |
| Fmt |
ボリュームグループのメタデータ形式 ( |
| VFree | ボリュームグループの残りの空き領域のサイズ |
| Free | ボリュームグループの空き物理エクステントの数 |
| VG | ボリュームグループ名 |
| Seq | ボリュームグループの改訂を示す番号 |
| VSize | ボリュームグループのサイズ |
| SYS ID | LVM1 システム ID |
| VG Tags | ボリュームグループに割り当てられた LVM タグ |
| VG UUID | ボリュームグループの UUID |
デフォルトで vgs
コマンドが表示するフィールドは、vg_name
、pv_count
、lv_count
、snap_count
、vg_attr
、vg_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
コマンドの出力にフィールドが追加されている場合があります。ただし、フィールドの順序は同じで、追加のフィールドは出力の最後に表示されます。
引数 | ヘッダー | 説明 |
---|---|---|
*
* | Chunk | スナップショットボリュームのユニットサイズ |
| Copy% |
ミラー化論理ボリュームの同期のパーセンテージ。さらに |
| Devices | 論理ボリュームを設定するデバイス - 物理ボリューム、論理ボリューム、および物理エクステントと論理エクステントの開始点 |
| Ancestors | シンプールスナップショットにおける、論理ボリュームの先祖 (ancestor) |
| Descendants | シンプールスナップショットにおける、論理ボリュームの子孫 (descendant) |
| 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 (通常)。これは、たとえば * ビット 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 論理ボリュームで * ビット 10 - s(k)ip activation (アクティブ化のスキップ - このボリュームには、アクティブ化の実行時にスキップされるようにフラグが設定されます。 |
| KMaj | 論理ボリュームの実際のメジャーデバイス番号 (非アクティブの場合は -1) |
| KMIN | 論理ボリュームの実際のマイナーデバイス番号 (非アクティブの場合は -1) |
| Maj | 論理ボリュームの永続的なメジャーデバイス番号 (未指定の場合は -1) |
| Min | 論理ボリュームの永続的なマイナーデバイス番号 (未指定の場合は -1) |
| LV | 論理ボリュームの名前 |
| LSize | 論理ボリュームのサイズ |
| LV Tags | 論理ボリュームに割り当てられた LVM タグ |
| LV UUID | 論理ボリュームの UUID |
| Log | ミラーログが存在するデバイス |
| Modules | この論理ボリュームを使用するのに必要な、対応するカーネルデバイスマッパーターゲット |
| Move |
|
| Origin | スナップショットボリュームの作成元のデバイス |
*
* | Region | ミラー化論理ボリュームのユニットサイズ |
| #Seg | 論理ボリュームのセグメント数 |
| SSize | 論理ボリュームのセグメントサイズ |
| Start | 論理ボリュームのセグメントのオフセット |
| Seg Tags | 論理ボリュームのセグメントに割り当てられた LVM タグ |
| タイプ | 論理ボリュームのセグメントタイプ (例: ミラー、ストライプ、リニア) |
| Snap% | 使用中スナップショットボリュームの現在のパーセンテージ |
| #Str | 論理ボリュームのストライプ、またはミラーの数 |
*
* | 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_count
、lv_major
、lv_minor
、lv_kernel_major
、lv_kernel_minor
、lv_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_name
、vg_name
、lv_attr
、stripes
、segtype
、seg_size
です。デフォルトの表示は、ボリュームグループ内では vg_name
、lv_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_start
、stripsize
、および 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 単位
-
単位指定 (
R
、B
、S
、K
、M
、G
、T
、P
、E
、H
) を大文字にすることで、表示する単位を 1000 の倍数で指定できます。
次の例では、pvs
、vgs
、および 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
次の例では、pvs
、vgs
、および 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 を設定します。この例では、論理ボリューム lvol0
と lvol1
の両方が、それらの論理ボリュームを含むボリュームグループ 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
を参照してください。