2016年10月24日月曜日

Hyper-V仮想マシンからAzureへのフェールオーバーとフェールバック

Microsoft Azureは、オンプレミスのサーバーをAzureに複製(レプリケーション)し、必要に応じてフェールオーバー(障害時の切り替え)ができます。ただしHyper-VホストはWindows Server 2012 R2が必要です。

Windows Server 2012 R2のHyper-Vホストは以下の仮想マシンをサポートします。

  • 第1世代(BIOS)および第2世代(UEFI)の仮想マシン
  • VHD形式およびVHDX形式の仮想ディスク

一方、Microsoft Azureがサポートする仮想マシンは以下の通りです。

  • 第1世代(BIOS)
  • VHD形式の仮想ディスク

そのため、Hyper-Vの第2世代は第1世代に変換され、VHDX形式はVHD形式に変換されます。この処理は自動的に行われるため、特に作業は必要ありません。

一方、フェールバック(Azureで起動した仮想マシンをオンプレミスに戻す)時は注意が必要です。

大規模災害などで、データセンタが破損したあと、システムが復旧したとします。この場合、Azureから「フェールバック」を行うことで、元のシステムを復元できます(操作メニューは「フェールオーバー」を使います)。

オンプレミスの仮想マシン存在しなくても「オンプレミスにVMを作成する」オプションを指定すれば、自動的に復元します。

計画フェールオーバー2

この時、Azureから戻ってきた仮想ディスクはVHD形式に変換されたままですが、容量可変ディスクに戻ります。以前の状態を覚えているのでしょうね。

ただし、フェールバック(Azureから戻す)で、Azureの(変換された)第1世代PCを(元の)第2世代に戻すことはできません。しかし、どうもAzureは第2世代に戻そうとするようです。こちらも以前の状態を覚えているようですね。

もちろんこの作業は失敗するため、第2世代の仮想マシンを戻す(フェールバックする)ことはできません)。図のエラーはそれを示しています。

本記事の内容は「Microsoft Azureによる災害復旧手法 ~Azure バックアップとAzure Site Recoveryでの仮想マシン保護~」で扱っています。