ライブマイグレーションの概要
ライブマイグレーションは、
KVMでライブマイグレーションを行う場合、

共有ディスク上に仮想ディスクイメージを作成するには、
- GFS2などの共有ファイルシステムを利用して、
仮想ディスクイメージ・ ファイルを配置する。 - 物理サーバにアサインしたLUN
(論理ディスク) 全体を仮想ディスクイメージとして使用する。 - CLVM
(クラスタ論理ボリュームマネージャ) を利用して、 LUN上に作成した論理ボリュームを仮想ディスクイメージとして使用する。
ここでは、
CLVMの構成
ここで説明する作業は、
続いて、
<?xml version="1.0"?>
<cluster config_version="1" name="cluster01">
<clusternodes>
<clusternode name="kvm-host01" nodeid="1" votes="1">
</clusternode>
<clusternode name="kvm-host02" nodeid="2" votes="1">
</clusternode>
</clusternodes>
<cman two_node="1" expected_votes="2"/>
</cluster>
本来はネットワーク障害時にサーバを強制停止するためのfenceデバイスの設定も必要ですが、
# chkconfig libvirtd off # chkconfig libvirt-guests off # chkconfig cman off # chkconfig clmvd off # reboot
- *1
- この他にも設定上のさまざまな考慮点がありますので、
本番環境でCLVMを使用する際はRedHat社のサポートサービスの利用なども検討してください。
CLVMの起動と仮想ディスク領域の作成
これ以降の作業は、
2台のサーバが起動したら次のスクリプトを実行して、
#!/bin/sh ssh kvm-host01 "service cman start" & ssh kvm-host02 "service cman start" & wait ssh kvm-host01 "service clvmd start" & ssh kvm-host02 "service clvmd start" & wait ssh kvm-host01 "service libvirtd start" & ssh kvm-host02 "service libvirtd start" & wait
これでCLVMが利用できるようになりました。次のコマンドでボリュームグループ
# pvcreate /dev/mapper/mpatha # vgcreate datavg01 /dev/mapper/mpatha # virsh pool-define-as shared01 logical - - /dev/mapper/mpatha datavg01 /dev/datavg01 # virsh pool-autostart shared01 # virsh pool-start shared01
次のコマンドで論理ボリューム
# virsh vol-create-as shared01 vdisk001 10G
ここで、
ライブマイグレーションの実行
kvm-host01でvirt-managerを起動して、

これでライブマイグレーションの実行環境が整いました。virt-managerで仮想マシンを右クリックして
virshコマンドを利用する場合は、
# virsh migrate --live rhel60vm01 qemu+ssh://root@kvm-host02/system