1. LVM の階層#
物理ディスクまたはパーティション
↓ pvcreate
Physical Volume(PV)
↓ vgcreate
Volume Group(VG)
↓ lvcreate
Logical Volume(LV)
↓ mkfs
ファイルシステム
↓ mount
ディレクトリ1.1 Physical Volume(PV)#
PV は LVM が管理する最小の物理単位です。通常はディスクパーティション、またはディスク全体を PV として初期化します。
sudo pvcreate /dev/sda3
sudo pvs
sudo pvdisplay1.2 Volume Group(VG)#
VG は一つ以上の PV をまとめた容量プールです。VG に空き領域があれば、後から新しい LV を作成できます。
sudo vgcreate ubuntu-vg /dev/sda3
sudo vgs
sudo vgdisplay1.3 Logical Volume(LV)#
LV は VG から切り出した仮想的なブロックデバイスです。通常のパーティションと同じように、ファイルシステムを作成してマウントできます。
sudo lvcreate -L 100G -n ubuntu-lv ubuntu-vg
sudo lvs
sudo lvdisplay2. 基本的な作業例#
以下は /dev/sda3 を LVM に利用し、100 GiB の LV を作成して /mnt にマウントする例です。実際に実行する前に、対象デバイスを必ず確認してください。pvcreate や mkfs は既存データを破壊する可能性があります。
# 1. PV を作成
sudo pvcreate /dev/sda3
# 2. VG を作成
sudo vgcreate ubuntu-vg /dev/sda3
# 3. LV を作成
sudo lvcreate -L 100G -n ubuntu-lv ubuntu-vg
# 4. LV にファイルシステムを作成
sudo mkfs.ext4 /dev/ubuntu-vg/ubuntu-lv
# 5. マウント
sudo mkdir -p /mnt
sudo mount /dev/ubuntu-vg/ubuntu-lv /mnt3. PV、VG、LV の関係#
- PV:LVM に登録された物理パーティションまたはディスク。
- VG:一つ以上の PV をまとめた容量プール。
- LV:VG の空き領域から作成した論理的なブロックデバイス。
- ファイルシステム:LV 上でファイルとディレクトリを管理する形式。
- マウントポイント:ファイルシステムを OS のディレクトリツリーへ接続する場所。
4. 情報を確認するコマンド#
pvs#
sudo pvsPV ごとの名前、所属 VG、サイズ、空き容量を一覧表示します。
PV VG Fmt Attr PSize PFree
/dev/sda3 ubuntu-vg lvm2 a-- <462.71g <362.71gvgs#
sudo vgsVG の数、PV と LV の数、合計容量、空き容量を一覧表示します。
VG #PV #LV #SN Attr VSize VFree
ubuntu-vg 1 1 0 wz--n- <462.71g <362.71glvs#
sudo lvsLV の名前、所属 VG、属性、容量、スナップショットやシンプールの状態を一覧表示します。
pvdisplay、vgdisplay、lvdisplay#
sudo pvdisplay
sudo vgdisplay
sudo lvdisplayこれらは、それぞれ PV、VG、LV の詳細情報を表示します。例えば vgdisplay では、VG の UUID、物理エクステントのサイズ、割り当て済み容量、空き容量などを確認できます。
5. 容量を拡張するときの注意#
LVM の利点は、VG に空きがあれば LV を後から拡張しやすいことです。ただし、LV のサイズを変更しただけでは、ファイルシステムのサイズが自動的に変わるとは限りません。
# LV を拡張する例
sudo lvextend -L +20G /dev/ubuntu-vg/ubuntu-lv
# Ext4 のファイルシステムを拡張する例
sudo resize2fs /dev/ubuntu-vg/ubuntu-lvXFS など、拡張方法が異なるファイルシステムもあります。縮小はデータ破損の危険があるため、バックアップを取ったうえでファイルシステムごとの手順を確認してください。
6. マウントと起動時の利用#
lsblk -f
findmnt
df -hTこれらのコマンドで、ファイルシステムの種類、マウント先、使用容量を確認できます。起動時にも自動マウントしたい場合は、UUID を使って /etc/fstab に登録します。
blkid /dev/ubuntu-vg/ubuntu-lv/etc/fstab を変更した後は、次のコマンドで構文を確認できます。
sudo mount -a7. まとめ#
LVM は、PV を VG にまとめ、VG から LV を作成することで、ストレージの割り当てを柔軟にします。ただし、対象デバイスを間違えるとデータを失う可能性があるため、lsblk、pvs、vgs、lvs の出力を確認してから変更を行ってください。

