RHEL 6.4 / CentOS 6.4 KVM ゲストイメージのディスク容量アップ

2013.07.13 作成

手順
KVMのゲストOSイメージ(CentOS 6.4 x86_64)のディスク容量に余裕がなくなってきたので拡大したときのメモ。
5GB → 20GB へアップさせた。
★【libguestfs-tools】が必須なのでyumでインストールしておく

★ 構成チェック
[root@vm ~]# virt-df -h /home/admin/KVM_images/flower.img
Filesystem                                Size       Used  Available  Use%
flower.img:/dev/sda1                      484M        33M       427M    7%
flower.img:/dev/VolGroup/lv_root          3.2G       3.1G          0   96%
★ 構成チェック2
[root@vm ~]# virt-list-partitions -lh /home/admin/KVM_images/flower.img
/dev/sda1 ext4 500.0M
/dev/sda2 pv 4.5G

★ (移動)
[root@vm ~]# cd /home/admin/KVM_images/
[root@vm KVM_images]# ls -l
-rw-------  1 root root  5368709120  7月  1 11:32 2013 flower.img
★ 一度別名にする
[root@vm KVM_images]# mv flower.img flower.img.bk
[root@vm KVM_images]# ls -l
-rw-------  1 root root  5368709120  7月  1 11:32 2013 flower.img.bk
★ 容量アップ後のサイズを指定して空のイメージを作成する
[root@vm KVM_images]# truncate -s 20G /home/admin/KVM_images/flower.img
[root@vm KVM_images]# ls -l
-rw-r--r--  1 root root 21474836480  7月  1 11:47 2013 flower.img
-rw-------  1 root root  5368709120  7月  1 11:32 2013 flower.img.bk
★ データを新しく作ったイメージに移す(ここで指定しているオプションは、増量分全てを"/dev/VolGroup/lv_root"に割り当てている)
[root@vm KVM_images]# virt-resize flower.img.bk flower.img --expand /dev/sda2 --LV-expand /dev/VolGroup/lv_root
Examining flower.img.bk ...
**********

Summary of changes:

/dev/sda1: This partition will be left alone.

/dev/sda2: This partition will be resized from 4.5G to 19.5G.  The LVM
    PV on /dev/sda2 will be expanded using the 'pvresize' method.

/dev/VolGroup/lv_root: This logical volume will be expanded to maximum
    size.  The filesystem ext4 on /dev/VolGroup/lv_root will be
    expanded using the 'resize2fs' method.

**********
Setting up initial partition table on flower.img ...
Copying /dev/sda1 ...
 100% ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 00:00
Copying /dev/sda2 ...
 100% ■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■ 00:00
Expanding /dev/sda2 using the 'pvresize' method ...
Expanding /dev/VolGroup/lv_root using the 'resize2fs' method ...

Resize operation completed with no errors.  Before deleting the old
disk, carefully check that the resized disk boots and works correctly.
[root@vm KVM_images]#
以上で完了。あとは普通にゲストOSを起動する。
ただし、増量後にゲストOSの zabbix を起動してみるとMySQLのデータがおかしくなっていたことがあったので、検証テストを終えるまではバックアップを消さない方が良い。