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」等のエラー対処もまとめて解説
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
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
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
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名 |
ディスク追加や容量拡張の作業前には、必ずこの3コマンドで現状を確認してから進めるよう習慣づけてください。
「ディスク管理もLVMも、自信を持って扱える」エンジニアになりたいなら
pvs・vgs・lvs を使いこなせると、ディスク拡張前の容量確認やトラブル切り分けが格段に速くなります。
ネットの断片情報を寄せ集めるだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら
- 次のページへ:lscpuコマンドでCPU情報を確認する方法|コア数・スレッド数・アーキテクチャの読み方も
- 前のページへ:fail2banコマンドでブルートフォース攻撃を自動ブロックする方法|SSHの不正アクセス対策とトラブルシュートも
- この記事の属するカテゴリ:Linuxtips・ディスク操作へ戻る

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます