KVMの仮想ディスクを拡張する方法


VMware Server で運用していた仮想マシンをKVMに移行して稼働させていたのだが、元のディスク容量が小さく運用に支障をきたす程だし、新しい仮想環境はディスク容量が潤沢なので、仮想ディスクを拡張することにした。

その手順を記録しておく。

前提

仮想ディスクタイプ: raw
仮想マシンのディスク管理タイプ: LVM
拡張する容量: 10GB

仮想ディスクのバックアップ

作業を始める前に、必ず仮想ディスクをバックアップしておくこと。

仮想ディスクの拡張

# 仮想ディスクの容量を確認
qemu-img info virtual-disk.img

# 仮想ディスクの容量を拡張
qemu-img resize virtual-disk.img +10G

# 仮想ディスクの容量を再度確認
qemu-img info virtual-disk.img

gpartedでパーテーションの作成

gpartedのISOをダウンロード

$ wget "http://sourceforge.net/projects/gparted/files/gparted-live-stable/0.13.1-2/gparted-live-0.13.1-2.iso/download"

ダウンロードしたISOで仮想マシンを起動し、パーティションの作成を行う。
仮想マシンにCD-ROMドライブがない場合は、仮想マシンマネージャから追加を行う。
CD-ROM追加時にISOを指定しないとエラーになるので注意。
※ 参考URL: http://opensuse-man-ja.berlios.de/opensuse-html/cha.libvirt.config.html

fdiskで physical volume を作成

# fdisk /dev/sda3
# n   新たに領域を作成する
n

# p   領域テーブルを表示する
p

# 領域番号 (1-4):
1

# 最初 シリンダ (1-1827, default 1):
Enter

# 終点 シリンダ または +サイズ または +サイズM または +サイズK (1-1827, default 1827):
Enter

# t   領域のシステム ID を変更する
t

# 16進数コード (L コマンドでコードリスト表示):
8e

# p   領域テーブルを表示する
p

# w   テーブルをディスクに書き込み、終了する
w

fdiskが終了するので再起動

# reboot

LVM物理ボリュームを作成

※ /dev/sda3はマシンやディスクタイプによってことなるので、
  pvdisplayやlvdisplay、dfコマンドなどで確認すること。

# pvcreate /dev/sda3

ボリュームグループに物理ボリュームを割り当てる

# vgextend VolGroup00 /dev/sda3

論理ボリュームを増加させる

# lvextend -L +10Gb /dev/VolGroup00/LogVol00

ファイルシステムサイズの再認識

# resize2fs /dev/VolGroup00/LogVol00

容量が増えたか確認

# df -m

※ 参考URL: http://se-suganuma.blogspot.jp/2009/04/centoslvmvmwarehdd.html