LVMを使っているKVMのディスクイメージの容量を追加する

KVMのディスクイメージの容量を増やしたのでメモ。

イメージファイルの拡張

まずはイメージのフォーマットを確認する。qemu-imgのinfoでわかる。

$ qemu-img info vm.img

今回はqcow2になっていたのでrawに変換する。

$ qemu-img convert -f qcow2 vm.img -O raw vm.raw

ddのseekを使って末尾に領域を追加する。10GBのイメージに5GB追加するならこんな感じ。

$ dd if=/dev/zero ov=vm.raw bs=1G count=5 seek=10

フォーマットを元に戻す。

$ qemu-img convert -f raw vm.raw -O qcow2 vm.img

仮想マシンのパーティションの修正

その後、イメージを立ち上げてパーティションを修正する。今回のパーティションは/dev/hda1がboot、/dev/hda2がlvmになっていたので/dev/hda2の方を修正する。

$ fdisk /dev/hda
> d
> 2 # /dev/hda2を一旦削除
> n
> p
> 2
> Enter
> Enter # /dev/hda2を作りなおす。デフォルトでサイズが拡大するはず。
> t
> 2
> 8e # /dev/hda2のパーティションタイプをLVMにする
> w
> q # 書きこんで終了
$ reboot

ボリュームの追加

$ vgextend VolGroup00 /dev/sda2
$ lvextend -L +5GB /dev/VolGroup00/LogVol00
$ resize2fs /dev/VolGroup00/LogVol00

思い出しながら書いてるから細かいところで違うかもしれないけど、だいたいこんな感じで容量の追加が完了。