【2026年版】LinuxでLVMを作成・拡張する方法|IDCF Cloud

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として柔軟に扱う仕組みと説明されています。

IDCフロンティア公式:LVMとは

今回の環境

  • クラウド: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で確認する

この記事が役に立ったら

応援は任意です。記事はこれまでどおり無料で読めます。

このページをシェアする

コメント

タイトルとURLをコピーしました