2026年10月更新:古いCentOS 8・MBR前提の手順を見直し、AlmaLinux/Rocky Linux/RHEL 9系でも使えるLVMの作成・拡張手順へ更新しました。
IDCF Cloudなどで追加ボリュームをLinuxサーバーへアタッチしたあと、LVM(Logical Volume Manager)として利用する方法を解説します。
先に注意:デバイス名を間違えると既存データを失います。作業前にスナップショットまたはバックアップを取得し、lsblk -fで新規ディスクを必ず特定してください。この記事の/dev/sdbや/dev/sdcは例です。
LVM作成・拡張の全体像
| 要素 | 役割 | この記事の例 |
|---|---|---|
| PV | 物理ディスクをLVMで扱えるようにする | /dev/sdb |
| VG | 複数のPVをまとめる容量プール | vgdata |
| LV | VGから切り出して利用する論理ボリューム | lvdata |
| ファイルシステム | ファイルを保存できる形式にする | XFSまたはext4 |
IDCフロンティアの用語集でも、LVMは複数のディスクやパーティションをVGへまとめ、LVとして柔軟に扱う仕組みと説明されています。
今回の環境
- クラウド:IDCF Cloudを想定
- OS:AlmaLinux/Rocky Linux/RHEL 9系
- 新規ディスク:
/dev/sdb - マウント先:
/data - VG名:
vgdata - LV名:
lvdata
UbuntuなどでもLVMの基本コマンドは共通ですが、パッケージ名や標準ファイルシステムが異なる場合があります。
1. 追加ディスクを確認する
IDCF Cloudの管理画面でボリュームを作成し、対象の仮想マシンへアタッチしたあと、Linux側で確認します。
sudo lsblk -o NAME,SIZE,TYPE,FSTYPE,MOUNTPOINTS
sudo lsblk -f
sudo pvs
sudo vgs
sudo lvs
新しいディスクが表示されない場合は、まず再起動できる時間帯なら再起動します。無停止で再スキャンする場合は、ホスト番号を決め打ちせず次のように実行します。
for host in /sys/class/scsi_host/host*; do
echo "- - -" | sudo tee "$host/scan" >/dev/null
done
sudo lsblk
/dev/sdbが新規ディスクで、既存データがないことを確認してから先へ進みます。
2. LVMパッケージを確認する
rpm -q lvm2 || sudo dnf install -y lvm2
Ubuntu系ではsudo apt install lvm2を使用します。
3. PV・VG・LVを作成する
PVを作成
sudo pvcreate /dev/sdb
sudo pvs
この記事では追加ディスク全体をPVとして使用します。既に/dev/sdb1のようなLVM用パーティションを作成済みなら、以降の/dev/sdbをそのパーティション名に置き換えてください。
VGを作成
sudo vgcreate vgdata /dev/sdb
sudo vgs
LVを作成
sudo lvcreate -n lvdata -l 100%FREE vgdata
sudo lvs -a -o +devices
LVのパスは/dev/vgdata/lvdataになります。
4. ファイルシステムを作成してマウントする
XFSで作成する場合
sudo mkfs.xfs /dev/vgdata/lvdata
ext4で作成する場合
sudo mkfs.ext4 /dev/vgdata/lvdata
どちらか一方だけを実行します。既にファイルシステムがあるデバイスへmkfsを実行するとデータが消えるため、拡張作業では絶対に実行しません。
sudo mkdir -p /data
sudo mount /dev/vgdata/lvdata /data
findmnt /data
df -hT /data
5. 再起動後も自動マウントする
UUIDを確認します。
sudo blkid /dev/vgdata/lvdata
/etc/fstabをバックアップしてから、表示されたUUIDを登録します。
sudo cp -a /etc/fstab /etc/fstab.backup
sudo vi /etc/fstab
XFSの場合の例:
UUID=取得したUUID /data xfs defaults,nofail 0 0
ext4の場合の例:
UUID=取得したUUID /data ext4 defaults,nofail 0 2
再起動前に設定を検証します。
sudo umount /data
sudo mount -a
findmnt /data
LVMの容量を追加ディスクで拡張する
次に、新しいディスク/dev/sdcを追加して既存のvgdata/lvdataを拡張します。
1. 新しいディスクをPVにする
sudo lsblk -f
sudo pvcreate /dev/sdc
sudo pvs
2. 既存VGへ追加する
sudo vgextend vgdata /dev/sdc
sudo vgs
3. LVを空き容量いっぱいまで拡張する
sudo lvextend -l +100%FREE /dev/vgdata/lvdata
sudo lvs
4. ファイルシステムを拡張する
ファイルシステムの種類を確認します。
findmnt -no FSTYPE /data
XFSの場合:
sudo xfs_growfs /data
ext4の場合:
sudo resize2fs /dev/vgdata/lvdata
最後に容量を確認します。
sudo pvs
sudo vgs
sudo lvs
findmnt /data
df -hT /data
よくあるエラーと確認点
Device /dev/sdb excluded by a filter
対象ディスクがLVMのデバイス管理対象外になっている可能性があります。RHEL 9系ではsystem.devicesが使われる環境もあるため、次を確認します。
sudo lvmdevices
sudo cat /etc/lvm/devices/system.devices
必要な場合のみ、デバイス名を確認したうえで追加します。
sudo lvmdevices --adddev /dev/sdb
仕組みはRed Hat公式:LVMデバイスの可視性と使用を参照してください。
resize2fsでBad magic numberと表示される
XFSへresize2fsを実行している可能性があります。findmnt -no FSTYPE /dataで確認し、XFSならxfs_growfs /dataを使用します。
再起動後にマウントされない
/etc/fstabのUUID、ファイルシステム種別、マウント先を確認します。
sudo findmnt --verify
sudo systemctl status local-fs.target
2023年版から修正した重要点
- 古いCentOS 8前提から、AlmaLinux/Rocky Linux/RHEL 9系を中心に更新
/dev/sbd・/dev/sbc1という誤記を修正- fdiskで誤ってFAT12を選ぶ手順を削除
- XFSとext4で異なる拡張コマンドを明記
- UUIDによるfstab登録と、再起動前の検証手順を追加
- RHEL 9系の
system.devicesに関する確認を追加
あわせて読みたい
まとめ
- 作業前にバックアップを取得し、対象ディスクを
lsblk -fで特定する pvcreate → vgcreate/vgextend → lvcreate/lvextendの順で操作する- LV拡張後は、XFSなら
xfs_growfs、ext4ならresize2fsを実行する - fstabはUUIDで登録し、再起動前に
mount -aとfindmntで確認する

コメント