次の Hyper-V で実現可能な Live Migration

Windows Server 2008 の Hyper-V では、Windows Server 2008 のフェールオーバークラスタ (MSFCとします)機能を利用することで 「Quick Migration」 という仕組みを提供しており、物理サーバーがダウンした時の”仮想マシンのフェールオーバー”や、計画保守実施時の”仮想マシンの物理マシン間移動”に対応していました。

ただ、この Quick Migration 環境は、MSFC がサービスをフェールオーバーさせる際に稼働中の仮想マシンはメモリ上のデータを共有ディスクに書きだす必要があり、仮想マシンは一旦保存状態になります。

要は、数秒から数十秒のダウンタイムが発生していました。

ダウンタイムといっても、コミュニティなどでデモをみてもらったりすると、”これくらいなら使えそうだね”と言ってもらえる事も多かったのですが、やはり他社さんもやっている”仮想マシンが止まらない仕組み”がほしいという声も少なくはありません。

==============

そこで登場するのが、次期サーバーOS Windows Server 2008 R2に搭載される 「Live Migration」 の機能です。

この Live Migration は、Windows Server 2008 R2 の Hyper-V 2.0 とフェールオーバークラスタに追加された新機能「Cluster Shared Volumes (CSV)」の組み合わせで環境を作っていきます。それでは、私が実施した設定の流れを見てみましょう。

※あくまでも、Live Migration のデモをするためだけの環境設定だという事はご理解下さい。

  1. 2台の Hyper-V 2.0 マシンを用意

  2. 1台目の親パーティションに Active Directory ドメインサービスを立ち上げ、もう一台の親パーティションをドメインに参加させる

  3. iSCSI Target を利用して共有ディスク環境を作る

    • 用意した仮想ディスクボリューム (LUN)は2つ
    • ① 1つはフェールオーバークラスタに関する情報を置く場所、② 1つは複数の仮想マシンを配置するCSV用です。
    • ①は大容量である必要はありません。
    • ②は複数の仮想マシンの置き場なので、デモを行う仮想マシンのVHDファイル等が置けるだけの容量を確保して下さい。
    • 今回作った環境は、iSCSI Target マシンを仮想マシン上で実現しました。強引ですがちゃんと動きます。
  4. 2台の Hyper-V 2.0 マシンにてiSCSI イニシエータを起動し、用意した iSCSI Target に接続する。

    • 親パーティションのディスクの構成を見た時に、2つのLUNが見えている事
  5. 2台の Hyper-V 2.0 親パーティションに フェールオーバークラスタ機能を追加

  6. 1台目のフェールオーバークラスタ管理ツールにて、クラスタを追加

    • ウィザードで2台の Hyper-V 2.0 マシンを追加します
    • クラスタ名とクラスタ専用の IPアドレスを設定する程度です
    • ここで LUN を1つ使い始めるので、残りの空きLUNは1つとなります
  7. 1台目のフェールオーバークラスタ管理ツールで何ができそうかザックリ確認

  8. R2 の管理ツールに追加された「Enable Cluster Shared Volumes」というメニューを実行、空いているLUN (共有ストレージ) を追加する

    • 2台の Hyper-V 2.0 マシンのファイルエクスプローラを見ると、Cドライブ直下に Cluster Shared Volumes フォルダができています
    • CSV に LUN を追加すると、Cluster Shared Volumes フォルダ配下にフォルダが追加されていくように見えます
    • 普通のフォルダのように見えていて、実は共有ストレージがマッピングされている
    • しかも、複数のマシンから同時にアクセスできる
      ※ 今までのフェールオーバークラスタでは、共有LUNに対するアクセス可能なアクティブノードが決まっていました
  9. 1台目の Hyper-V 2.0 マシンにて、Hyper-V マネージャを起動し、仮想マシンを作成

    • 仮想マシンの保存先には C:\Cluster Shared Volumes\ フォルダを指定する
    • 仮想マシンにOS をインストール
  10. 1台目のフェールオーバークラスタ管理ツールにて、「Live migrate this virtual machine to another node」という処理を実行

    • 仮想マシンが利用しているメモリ上のデータを移行先の物理マシンにコピーして、最終処理として切り替え作業を実施します
    • よって、仮想マシンそのものは停止せずにサービスを提供し続ける事ができます

=============
Quick Migration の時もそうでしたが、iSCSIの環境設定は初めての人にとってはちょっと敷居が高いかもしれません。

ただ、MSFC も Hyper-V 2.0 も、もちろん CSV も設定は難しくはありませんので、是非チャレンジしてみていただければと思います。

マイクロソフト 高添

 

P.S.
ここまで書いておいてなんですが、先ほどあるスクリーンショットまで載っているブログを見つけました!!
http://blogs.technet.com/windowsserverjp/default.aspx

書いている人達のことはよーく知っているので、ちゃんと案内してよいか聞いてみようと思います。

このブログは私のブログよりはるかに技術情報が充実するはずですから。。。