LVM(Logical Volume Manager)を使うと、物理ディスクの制約を超えてディスク容量を柔軟に管理できます。「後からボリュームを拡張したい」「複数ディスクをまとめたい」という場面で威力を発揮します。
⚠️ LVMの操作ミスはデータ消失につながります。本番環境での作業前に必ずスナップショットまたはバックアップを取ってください。
LVMの3層構造
| 層 | 名前 | 説明 |
|---|---|---|
| 物理層 | PV(Physical Volume) | 実際のディスク/パーティション(/dev/sdb1など) |
| グループ層 | VG(Volume Group) | 複数のPVをまとめた仮想ディスクプール |
| 論理層 | LV(Logical Volume) | VGから切り出した論理ボリューム(実際にフォーマット・マウントする) |
LVMのインストールと基本操作
# LVMツールのインストール
$ sudo apt install lvm2 # Ubuntu/Debian
$ sudo dnf install lvm2 # CentOS/RHEL
# 現在のLVM構成を確認
$ sudo pvs # PV一覧
$ sudo vgs # VG一覧
$ sudo lvs # LV一覧
$ sudo lvdisplay # LVの詳細
LVMの構築手順
# ⚠️ 以下はデータが消えます。新しいディスクで実行してください
# Step1: PV(物理ボリューム)を作成
$ sudo pvcreate /dev/sdb /dev/sdc
Physical volume "/dev/sdb" successfully created.
Physical volume "/dev/sdc" successfully created.
# Step2: VG(ボリュームグループ)を作成
$ sudo vgcreate datavg /dev/sdb /dev/sdc
Volume group "datavg" successfully created
# Step3: LV(論理ボリューム)を作成
# -L でサイズ指定、-l で%指定
$ sudo lvcreate -L 30G -n datalv datavg
$ sudo lvcreate -l 100%FREE -n datalv datavg # 全容量使う場合
# Step4: ファイルシステムを作成してマウント
$ sudo mkfs.ext4 /dev/datavg/datalv
$ sudo mkdir /data
$ sudo mount /dev/datavg/datalv /data
# /etc/fstab に追記(UUID使用を推奨)
$ sudo blkid /dev/datavg/datalv
LVの拡張(ライブ拡張可能)
# LVを10GB拡張(マウントしたまま実行可能)
$ sudo lvextend -L +10G /dev/datavg/datalv
# ファイルシステムも拡張(ext4の場合)
$ sudo resize2fs /dev/datavg/datalv
# XFSの場合(マウント中のみ実行可能)
$ sudo xfs_growfs /data
# 一括で実行する場合(-r オプション)
$ sudo lvextend -L +10G -r /dev/datavg/datalv
LVのスナップショット
# スナップショットを作成(バックアップ前などに有効)
$ sudo lvcreate -L 5G -s -n snap_datalv /dev/datavg/datalv
# スナップショットをマウントして中身を確認
$ sudo mkdir /mnt/snap
$ sudo mount /dev/datavg/snap_datalv /mnt/snap
# スナップショットから元のLVをリストア
# ⚠️ リストアするとLVの現在の内容が失われます
$ sudo umount /data
$ sudo lvconvert --merge /dev/datavg/snap_datalv
# スナップショットを削除
$ sudo lvremove /dev/datavg/snap_datalv
まとめ
- LVMはPV→VG→LVの3層構造。複数ディスクをプールして柔軟に管理
- LVの拡張はマウントしたまま可能(
lvextend -rでFS拡張も同時に) - スナップショットで作業前の状態を保存してリストアに備える
- 縮小操作はext4のみ対応(XFSは縮小不可)かつリスクが高いため慎重に
📋 Linuxサーバー運用・管理チェックリスト完全版でPhase 2の全要点を確認できます。



コメント