KVM

実サーバでも仮想マシンでも、需要予測は難しいのには変わりありませんが、ハードウェアの追加や交換を行う事なくリソースの上限を変更できるのが仮想マシンを使うメリットの1つです。(勿論ハードウェアの上限以上のパフォーマンスは出せませんが)

KVMでメモリサイズの変更を行うには、次の順序で作業を行います。

1) メモリサイズを変更したいマシンをシャットダウンする

$ ssh hogehoge.example.com
$ sudo /sbin/shutdown -h now
または
$ su -
# shutdown -h now

2) 母艦マシンのvirshコマンドでメモリの上限サイズを変更する

$ sudo /usr/bin/virsh setmaxmem hogehoge.example.com 131072
(131072 はキロバイトです)

3) 母艦マシンのvirshコマンドでマシンを起動する

$ sudo /usr/bin/virsh start hogehoge.example.com

作業前後で仮想マシンにログインしてfreeコマンドやtopコマンドで確認して、期待通りであればOKです。
ね、簡単でしょ?

CentOS 5.4 x86_64で運用している自宅サーバですが、yum check-updateすると

kmod-kvm.x86_64                       83-105.el5_4.22                    updates
kvm.x86_64                            83-105.el5_4.22                    updates
kvm-qemu-img.x86_64                   83-105.el5_4.22                    updates

とのこと。アップデート自体は

# yum update

でOKですが、これらパッケージはホストOSのカーネルモジュールをアップデートするので、以下の手順を実行して修正を有効にする必要があります。

1. KVMゲストの仮想マシン(VM)をすべて停止します。

2. ハイパーバイザマシンをリブートするか、またはスーパーユーザとして、(「lsmod」を使用して確認した)kvm、ksm、kvm-intel、 kvm-amdの各モジュールのうち現在実行されているものすべてを(「modprobe -r [module]」を使用して)削除し、(「modprobe [module]」を使用して)リロードします。

3. KVMゲストのVMを再起動します。

※ 参考サイト
http://jp.redhat.com/support/errata/RHBA/RHBA-2009-1488J.html
http://www.jp.redhat.com/support/errata/RHBA/RHBA-2009-1423J.html
https://rhn.redhat.com/errata/RHSA-2010-0088.html