pvs・vgs・lvsコマンドでLVM構成を確認する方法|ディスク容量とPV・VG・LV一覧を把握する

宮崎智広 この記事の監修:宮崎智広(Linux実務・教育歴20年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxtips, ディスク操作 > pvs・vgs・lvsコマンドでLVM構成を確認する方法|ディスク容量とPV・VG・LV一覧を把握する
「ディスクを追加したはいいが、PVやVGの状態がわからない」「lvextendする前にLVM構成を確認したい」 現場でLVMを使い始めると、必ずこの壁にぶつかります。

Linux のLVM(Logical Volume Manager)を扱う上で欠かせない3つのコマンド、pvs(物理ボリューム確認)・vgs(ボリュームグループ確認)・lvs(論理ボリューム確認)の読み方と使い方を解説します。
RHEL 9.4 / AlmaLinux 9.3 で動作確認済みです。コマンド一つひとつの出力の意味から、トラブル時の見方まで一通りカバーします。

この記事のポイント

・pvs・vgs・lvs の3コマンドでLVM全体の状態を把握できる
・出力フィールドの意味を読めると拡張前後の確認が速くなる
・pvdisplay / vgdisplay / lvdisplay で詳細情報を取得できる
・「No PV label found」等のエラー対処もまとめて解説


「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

LVMの3層構造を理解する

LVMは「物理ボリューム(PV)→ ボリュームグループ(VG)→ 論理ボリューム(LV)」という3層構造になっています。
それぞれの層に対応する確認コマンドが pvs / vgs / lvs です。

PV(Physical Volume):実際の物理ディスクやパーティション(例: /dev/sdb)
VG(Volume Group):PVを束ねた仮想的なディスクプール
LV(Logical Volume):VGから切り出した仮想パーティション(マウントして使う部分)

この構造を頭に入れておくと、3つのコマンドの役割が自然に理解できます。

pvsコマンドでPV(物理ボリューム)を確認する

1. 基本的な実行方法

pvs コマンドは、システムに存在する物理ボリュームの一覧と状態を表示します。

# 物理ボリューム一覧を表示 pvs

実際のサーバーでの出力例(RHELサーバーの場合):

PV VG Fmt Attr PSize PFree /dev/sda2 rhel lvm2 a-- <99.00g 0 /dev/sdb data00 lvm2 a-- 200.00g 50.00g

2. 出力フィールドの意味

PV:物理ボリューム名(デバイスファイル)
VG:所属するボリュームグループ名
Fmt:LVMフォーマット(現在は lvm2 が標準)
Attr:属性フラグ。a はアロケーション可、-- は使用不可
PSize:物理ボリュームの合計サイズ
PFree:VGに割り当て可能な空き容量

PFree が 0 の場合は、そのPVの領域をVGがすべて使い切っています。ストレージ拡張が必要なサインです。

3. pvdisplayで詳細情報を取得する

pvs の詳細版として pvdisplay があります。PE(Physical Extent)サイズやUUIDまで確認できます。

# 特定PVの詳細を表示 pvdisplay /dev/sdb # 全PVの詳細を表示 pvdisplay

--- Physical volume --- PV Name /dev/sdb VG Name data00 PV Size 200.00 GiB / not usable 4.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 51199 Free PE 12800 Allocated PE 38399 PV UUID abc123-xxxx-xxxx-xxxx-xxxxxxxxxxxx

vgsコマンドでVG(ボリュームグループ)を確認する

1. 基本的な実行方法

vgs コマンドは、VGの容量・使用状況・PV数・LV数をコンパクトに表示します。

# ボリュームグループ一覧を表示 vgs

VG #PV #LV #SN Attr VSize VFree data00 1 2 0 wz--n- 200.00g 50.00g rhel 1 2 0 wz--n- <99.00g 0

2. 出力フィールドの意味

VG:ボリュームグループ名
#PV:このVGに含まれるPVの数
#LV:このVGに含まれるLVの数
#SN:スナップショット数
Attr:属性。wz--n- が正常状態(w=書き込み可、z=ゼロ埋め)
VSize:VG全体のサイズ
VFree:LVに割り当て可能な空き容量

VFree が 0g の場合、新たな LV 作成や既存 LV の拡張には新しいPVをVGに追加(vgextend)する必要があります。

3. vgdisplayで詳細情報を取得する

# VGの詳細を表示 vgdisplay data00

--- Volume group --- VG Name data00 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 4 VG Access read/write VG Status resizable MAX LV 0 Cur LV 2 Open LV 2 Max PV 0 Cur PV 1 Act PV 1 VG Size 200.00 GiB PE Size 4.00 MiB Total PE 51200 Alloc PE / Size 38400 / 150.00 GiB Free PE / Size 12800 / 50.00 GiB VG UUID xyz789-xxxx-xxxx-xxxx-xxxxxxxxxxxx

「Alloc PE / Size」と「Free PE / Size」でどれだけ使っているかが一目でわかります。

lvsコマンドでLV(論理ボリューム)を確認する

1. 基本的な実行方法

lvs コマンドは、論理ボリュームの名前・サイズ・属性を一覧表示します。実際にマウントして使っている仮想パーティションの情報がここに集約されています。

# 論理ボリューム一覧を表示 lvs

LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert data data00 -wi-ao---- 150.00g swap data00 -wi-ao---- 50.00g root rhel -wi-ao---- <70.00g swap rhel -wi-ao---- <1.00g

2. 出力フィールドの意味

LV:論理ボリューム名
VG:所属するVG名
Attr:属性フラグ。-wi-ao---- の各文字に意味があります
LSize:LVのサイズ

Attr フィールドの主なフラグ:
w(1文字目):書き込み可
i(2文字目):継承されたアロケーションポリシー
a(4文字目):アクティブ状態
o(5文字目):オープン中(マウント済み)

5文字目が o の場合はマウントされていることを示します。mount コマンドの使い方と組み合わせて、LVのマウント状態を確認しましょう。

3. lvdisplayで詳細情報を取得する

# LVの詳細を表示(デバイスパスで指定) lvdisplay /dev/data00/data # または VG名/LV名で指定 lvdisplay data00/data

--- Logical volume --- LV Path /dev/data00/data LV Name data VG Name data00 LV UUID def456-xxxx-xxxx-xxxx-xxxxxxxxxxxx LV Write Access read/write LV Creation host, time sv-prod01, 2025-10-15 09:30:22 +0900 LV Status available # open 1 LV Size 150.00 GiB Current LE 38400 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:2

3コマンドを組み合わせた実務フロー

1. ディスク追加前後の確認手順

新しいディスクを追加してLVMに組み込む際の標準的な確認フローです。

# Step1: 現在のPV・VG・LV構成を確認 pvs vgs lvs # Step2: 新しいディスクがカーネルに認識されているか確認 lsblk # Step3: pvcreate でPVを作成 pvcreate /dev/sdc # Step4: VGに追加 vgextend data00 /dev/sdc # Step5: 追加後のVFreeを確認 vgs data00

2. LV拡張前の空き容量チェック

lvextend でLVを拡張する前には、必ず vgs でVFreeを確認してください。

# 拡張前: VGの空き容量を確認 vgs data00 # VFreeが十分あれば拡張 lvextend -L +50G /dev/data00/data # ファイルシステムも拡張(XFSの場合) xfs_growfs /dev/data00/data # 拡張後: LVサイズが増えたか確認 lvs data00

3. サーバーのハードウェアとLVM構成を紐付けて把握する

物理ディスクの型番・容量を把握したうえでLVM構成を確認したい場合は、dmidecode でハードウェア情報を取得してから pvs を実行するとよいでしょう。どの物理ディスクが LVM に組み込まれているか追跡しやすくなります。

トラブルシュート・エラー対処

「WARNING: PV /dev/sdb is used by VG data00 but its metadata area is missing.」が出た場合

PVのメタデータが破損、またはディスクが物理的に接続されていない状態です。

・まず dmesg | grep sdb でカーネルログを確認する
・ケーブルや筐体の物理接続を確認する
・バックアップから vgcfgrestore でVGメタデータを復元する(データ損失リスクあり、事前にスナップショット必須)

「No PV label found on /dev/sdb」が出た場合

指定したデバイスがまだPVとして初期化されていません。

# PVとして初期化(既存データは消えるので注意) pvcreate /dev/sdb

「Can not deactivate volume group ~ while 1 Logical Volume(s) are in use」が出た場合

LVがマウントされている状態でvgchangeやvgremoveを実行した場合のエラーです。
先に umount でアンマウントしてから操作してください。

sudo なしで実行すると警告が出る場合

pvs / vgs / lvs は root 権限(またはsudo)が必要です。権限なしで実行すると認識されるVGがゼロになる場合があります。

# sudoを付けて実行 sudo pvs sudo vgs sudo lvs

本記事のまとめ

やりたいこと コマンド
物理ボリューム一覧を確認する pvs
物理ボリュームの詳細を確認する pvdisplay /dev/sdb
ボリュームグループの空き容量を確認する vgs
ボリュームグループの詳細を確認する vgdisplay VG名
論理ボリューム一覧を確認する lvs
論理ボリュームの詳細を確認する lvdisplay /dev/VG名/LV名
VGに新しいPVを追加する vgextend VG名 /dev/sdc
LVを拡張する(VFree確認後) lvextend -L +50G /dev/VG名/LV名
pvs・vgs・lvs の3コマンドを使いこなせれば、LVM構成の把握・拡張前の確認・トラブル切り分けがスムーズになります。
ディスク追加や容量拡張の作業前には、必ずこの3コマンドで現状を確認してから進めるよう習慣づけてください。

「ディスク管理もLVMも、自信を持って扱える」エンジニアになりたいなら

pvs・vgs・lvs を使いこなせると、ディスク拡張前の容量確認やトラブル切り分けが格段に速くなります。
ネットの断片情報を寄せ集めるだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。

「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。

無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録
宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。