Hyper-Vレプリカとライブマイグレーションの併用 | IAサーバーの仮想化メモ

Hyper-Vレプリカとライブマイグレーションの併用

Windows Server 2012のHyper-Vでは、新たに以下の機能が実装されました。

・Hyper-Vレプリカ
・シェアードナッシングライブマイグレーション (共有ストレージなしのライブマイグレーション)

「この2つの機能を併用することは可能か?」というのが、本エントリーの主旨です。

まず、以下のような環境を想定します。

・Hyper-Vのホストが2台
・共有ストレージはなし
・Hyper-Vレプリカを構成

$IAサーバーの仮想化メモ


Hyper-Vレプリカで仮想マシンに対してレプリケーションを有効にすると、上図のように、他方のHyper-Vホスト上でレプリカVMが自動的に作成されます。
このような状態でライブマイグレーションを実行することで、プライマリサーバ上の仮想マシンをレプリカサーバに移行できるか?
ということですが、結論から言うと、以下のようなエラーが表示され、移行できませんでした。

$IAサーバーの仮想化メモ


どうやら、「移行先にも同じ仮想マシンIDを持った仮想マシン(レプリカVM)が存在する」、という理由で失敗しているようです。

したがって、今回の例のように2台のホストでHyper-Vを構成する場合、Hyper-Vレプリカとライブマイグレーションの併用は難しそうです。
ライブマイグレーションによる移行とは異なりますが、Hyper-Vレプリカの「計画フェールオーバー」を実行することで、レプリカVMを起動することは可能です。
ただし、「計画フェールオーバー」は仮想マシンの停止が前提となっている点に注意が必要です。
ライブマイグレーションのようなダウンタイムなしの移行とは異なります。

最後に今回取り上げた構成例のように、共有ストレージがなく、かつ2台のサーバでHyper-V環境を構築する場合、「Hyper-Vレプリカとライブマイグレーションのどちらを使用すべき?」という点について、考えたいと思います。
ぱっと思いつくメリット/デメリットとしては、以下のような感じでしょうか。

■Hyper-Vレプリカを使用する場合
◯ サーバ障害時における仮想マシンのダウンタイムを最小化できる (フェールオーバーの実行でレプリカVMを迅速に起動可能)
  ☓ サーバメンテナンス時のように、障害以外の理由でサーバを停止しなければならない場合、仮想マシンのダウンタイムが発生する

■ライブマイグレーションを使用する場合
  ◯ 仮想マシンのダウンタイムなしで、サーバメンテナンスを行うことが可能
  ☓ サーバ障害時のダウンタイムが大きい。(クラスタを構成できないため)

共有ストレージがない環境ではフェールオーバークラスタを構成できないため、どうしても可用性が低くなってしまいます。
なかなか難しいところですが、仮想マシンの用途に併せて、どちらの機能を使用するか選択したいですね。

※ちなみに、現時点では回避策が見つかっていないだけで、Hyper-Vレプリカとライブマイグレーションを併用する方法が存在する可能性はあります。
 そのような回避策が判明した場合、本内容もアップデートしたいと思います。