第15章 KVM の移行

本章では、KVM ハイパーバイザーを実行するあるホスト物理マシンの別のマシンへのゲスト仮想マシンの移行について説明します。仮想マシンはハードウェア上で直接実行されるのではなく仮想化環境で実行されるため、ゲストを移行することができます。

15.1. 移行の定義と利点

ゲスト仮想マシンのメモリーと仮想化されたデバイスの状態を移行先のホスト物理マシンに送信することで移行が行われます。移行するゲスト仮想マシンのイメージは、ネットワーク接続されている共有ストレージに格納することをお勧めします。また、仮想マシンを移行する際の共有ストレージには libvirt 管理のストレージプールを使用することをお勧めします。
移行は、ライブ (稼働した状態) およびライブ以外 (シャットダウンした状態) のゲストで行うことができます。
ライブマイグレーションでは、ゲスト仮想マシンを移行元のホストマシン上で稼働させたままそのメモリーページを移行先ホスト物理マシンに転送します。移行時に、KVM はすでに転送されたページに変更がないか移行元を監視し、最初のページがすべて転送されるとこれらの検出した変更の転送を開始します。また、KVM は移行時の転送速度を推定できるため、データ残量の転送時間が一定の設定時間になると (デフォルトでは 10 ミリ秒)、元のゲスト仮想マシンを停止してから残りのデータを転送し、移行先ホスト物理マシンでその同じゲスト仮想マシンを再開します。
一方、ライブ以外の移行 (オフラインの移行) の場合には、ゲスト仮想マシンを一時停止してからゲスト仮想マシンのメモリーを移行先ホスト物理マシンにコピーします。その後、ゲストは移行先ホスト物理マシンで再開し、移行元のホスト物理マシンでゲストが使用していたメモリーを解放します。この移行が完了するまでに要する時間はネットワークの帯域幅および待ち時間によって異なります。ネットワークが混雑している場合や帯域幅が狭い場合は、移行にかかる時間も長くなります。元のゲスト仮想マシンがページを変更する速度の方が KVM が移行先ホスト物理マシンに送信する速度よりも速い場合は、ライブマイグレーションでは永久に完了しなくなる可能性があるため、オフラインの移行を使用する必要があります。
移行は以下の点で役立ちます。
負荷分散
負荷分散: ホストマシンに負荷がかかりすぎた場合に使用率の低いホスト物理マシンにゲスト仮想マシンを移動したり、別のホストマシンの使用率が低くなっている場合にそちらにゲスト仮想マシンを移動することができます。
ハードウェアの非依存性
ホスト物理マシン上のハードウェアデバイスのアップグレード、追加または削除などを行う必要がある場合、ゲスト仮想マシン群を他のホスト物理マシンに安全に移動することができます。つまり、ゲスト仮想マシンはハードウェアを改善する際に生じ得るダウンタイムを経験することはありません。
省エネ
仮想マシンを他のホスト物理マシンに再配分することで、アンロードされたホストシステムの電源を電力使用量の少ない時間帯にオフにして節電とコスト削減が可能になります。
地理的な移行
待ち時間の短縮や他の特別な状況のために、仮想マシンを別の場所に移動することができます。