Linuxカーネルに組み込まれている仮想マシン環境として注目されている
構築する環境について
仮想マシンホスト
ライブマイグレーションは2台の仮想マシンホストの間を仮想マシンが行ったり来たりするので、
ストレージ
ライブマイグレーションは仮想マシンホスト間を行き来するため、
ただし今回は、
使用するOS
今回は仮想マシンマネージャー
Linux KVM環境の構築
用意した2台のマシンにLinux KVM環境を構築します。基本的な構築方法は別記事の通りですが、
- ①IPアドレスは固定で設定
- ②お互いに名前解決が行えるように/etc/
hostsにIPアドレスとホスト名を記述
192.168.0.21 kvm1.example.com kvm1
192.168.0.22 kvm2.example.com kvm2
- ③ファイアウォールは停止
- ④SELinuxは停止
仮想マシンの作成
仮想マシンの作成は、
デフォルト状態では、
仮想ディスクをNFS共有可能にする
ホストkvm1で仮想マシンを作成すると、
①/etc/exportsを記述
/etc/
/var/lib/libvirt/images *(rw,no_root_squash)
この設定は検証用のため、
仮想ディスクファイルへのアクセスにはroot権限が必要となるため、
②NFSサーバを起動
NFSサーバを起動します。また、
# service nfs start # chkconfig nfs on
仮想マシンマネージャーで別ホストに接続
ライブマイグレーション先となるもう一方の仮想マシンホストに、
- ①「ファイル」
メニュー→ 「接続を追加」 を選択 - ②ハイパーバイザーは
「QEMU」 を選択 - ③接続は
「SSHでのリモートトンネル」 を選択 - ④ホスト名が表示されるので、
接続したいホストを選択 - ⑤必要に応じて
「Autoconnect 起動時」 をチェック - ⑥接続先ホストのユーザrootのパスワードを入力
- ⑦仮想マシンマネージャーにホストが登録されたことを確認
このように接続することで、
NFS共有への接続
NFSで仮想ディスクファイルを共有できるようにします。リモートの仮想マシンホストでNFS共有をストレージプールとして扱うように設定します。
- ①仮想マシンマネージャーでリモートの仮想マシンホストを選択
- ②「編集」
メニュー→ 「ホスト詳細」 を選択 - ③「Storage」
タブを選択 - ④左下の+ボタンをクリックして、
ストレージプールを追加 - ⑤プールの名前は適当な名前を命名
- ⑥タイプは
「netfs: Network Exported Directory」 を選択 - ⑦「進む」
をクリック
- ⑧ターゲットパスは
「/var/ lib/ libvirt/ images」 に設定 - ⑨フォーマットは
「nfs」 を選択 - ⑩ホスト名はNFSサーバを設定
(例ではホストkvm1) - ⑪ソースパスは
「/var/ lib/ libvirt/ images」 を設定 - ⑫「完了」
をクリック
- ⑬リモートの仮想マシンホストのユーザrootのパスワードを入力
- ⑭ストレージプールが追加されていることを確認
- ⑮作成した仮想マシンが使用している仮想ディスクファイルがボリュームとして認識されていることを確認
NFS共有をストレージプールとして追加すると、
ライブマイグレーションの実行
ライブマイグレーションの移行先で仮想ディスクファイルが使用できるようになったことを確認したら、
- ①仮想マシンを起動する
- ②仮想マシンマネージャーで仮想マシンを選択し、
右クリック - ③「Migrate」
メニュー→移行先ホストを選択 - ④ダイアログの
「はい」 ボタンをクリック - ⑤仮想マシンがもう一方のホストに移動したことを確認
- ⑥仮想マシンを開いて、
システムが停止していないことを確認 - ⑦再度ライブマイグレーションを行ってみる
ライブマイグレーションにかかる時間は、
まとめ
ライブマイグレーションが正常に動作するようになったら、
ライブマイグレーションは、