Hyper-V Server 2012 R2 その③


Hyper-V 2012 R2 のライブマイグレーションを試してみたので、その備忘録です。

以前に備忘録した 「Hyper-V Server 2012 R2 その① (Hyper-V 環境の構築)」 と 「 その② (仮想マシンのレプリケーション)」 の続きになります。

 

構成はこんなです。(備忘録 その①、② の時と構成変わってます)

Hyper-V(ホスト名:HVS000)上で稼働させている仮想マシン(CentOS)を、同じセグメント上の Hyper-V(ホスト名:HVS000LM)にライブマイグレーション(移動) させてみます。

 

・HVS000  :  Windows Server 2012 R2 (on HP DL 370G6 / Xeon E5520 / RAM 6GB / HDD 600GB)
・HVS000LM  :  Hyper-V Server 2012 R2 (on Lenovo A58 / Core2Duo E7500 / RAM 4GB / HDD 300GB)

※ 共有ストレージはなし、ローカルHDDのみです。
(2012 R2 からは、共有ストレージなしでもライブマイグレーションができるようになりました)

HVS000 は評価版の Windows Server 2012 R2 を使用、Hyper-Vの役割のみを追加。
HVS000LM は Hyper-V Server 2012 R2 を使用。

HVS000 上の2台の仮想マシンは、 
・ Windows Server 2012 R2(評価版) : Active Directory ドメインサービスの役割を追加、HVS000LM をこのドメインに参加させてます。
・ CentOS 6  :  ライブマイグレーションを試してみる 用の Linux。

 

各サーバーの設定は、以前の備忘録 「Hyper-V Server 2012 R2 その① (Hyper-V 環境の構築)」 と 「 その② (仮想マシンのレプリケーション)」  と同等です。
 

 

 【Hyper-V 2012 R2 のレプリケーションとライブマイグレーションをざっと使ってみてわかったこと】
 
・ レプリケーション先とライブマイグレーション先は同じサーバーにできない (設定しようとすると、同名ホストが存在する、と怒られる)

・ Hyper-V マネージャは、右クリック > 管理者権限 で起動してから利用する。
ADの環境依存なのかもしれませんが、こうしないと権限不足で起動できない機能があった。

・ ライブマイグレーション先のCPU。
仮想マシンのプロセッサ互換性を有効にすれば、例えば Xeon上のHyper-Vで動いていた仮想マシンを Core2 Duo 上のHyper-V に移動することもできるのですが、互換性を有効にしても仮想マシンに割り当てたプロセッサの個数とかはどうしようもないらしく、4コアを割り当てた仮想マシンを 2コアのサーバーにライブマイグレーションするのは無理だった。

 

 

【ライブマイグレーションの設定】

Hyper-V 上で、ライブマイグレーションの機能を有効にします。

HVS000 を右クリック >  「Hyper-V の設定」 を開き ライブマイグレーションを有効にするにチェックを入れます。
HVS000LMも同様の設定を行います。

 

高度な設定。

認証プロトコルは Kerberos を選択。(CredSSP も試してみましたが、私の環境だとうまく動かなかったです。。。)
パフォーマンスは圧縮を選択。(デフォルトのまま)

 

 

【仮想スイッチについて】
CentOS(ライブマイグレーション対象の仮想マシン)にバインドしている仮想スイッチと同じものを、移動先の Hyper-V にも作成しておきます。

今回、CentOSは HVM000上の仮想スイッチ 「VSW-DEV-000」 をバインドしていますので、移動先にも同様の名称で仮想スイッチを事前に作成しておきます。

 

【ライブマイグレーションの実行】

では、ライブマイグレーションしてみます。
移動したい仮想マシンを右クリック > 「移動」 を選択。
(下記スクリーンショットではサーバー HVS000RP 上の仮想マシンを選択してますが、HVS000 に読み替えてください >< )

 

移動ウィザードが開始されます。
画面の指示にしたがって先に進みます。

 

今回は 「 仮想マシンを移動する 」 を選択。

 

移動先のコンピュータ名(今回は HVS000LM )を指定。

 

「仮想マシンのデータを1つの場所に移動する」を選択。

 

移動先での保存場所を指定。
今回は事前にHVM000LMに「C:\10.LiveMigrated_VM\」というフォルダを作成しておき、そこを指定。

 

「完了」をクリックすると。。。

 

・・・エラーが発生。。。

 

エラーメッセージによると、どうやら「Active Directory で制約付き委任」 なる設定をしないといけいない様子。
エラーコード 0x8009030E で検索していたら、GMOさんの解説 に同様のケースがあったので、こちらを参考に設定を追加することにします。

 

ドメインコントローラーの「Active Directory ユーザーとコンピューター」を開き、HVS000 を選択 > 右クリックして「プロパティ」を開きます。
(HVS000LM も同様に。 ライブマイグレーションを実行したいサーバー全てに同設定を行う)

 

「委任」タブを開き、「指定されたサービスへの委任のみでこのコンピューターを信頼する」 > 「Kerberos のみを使う」 を選択。

 

続いて、同プロパティ内の「追加」ボタンをクリックし、「サービスの追加」を起動。

 

上記画面内の「ユーザーまたはコンピューター」をクリックし、

 

ライブマイグレーションの相手側になるサーバーを指定します。
(下記スクリーンショットは HVS000LM の設定中なので、相方には HVS000 を指定)

 

「OK」をクリックすると、サービスの追加画面が出るので、

 

この中から「cifs」と「Microsoft Virtual System Migration Service」 の2つを選択 (ctrlキーを押しながらクリックで複数選択できる) します。

サービスに 「cifs」と「Microsoft Virtual System Migration Service」 が追加されましたので、「OK」をクリック。

 

HVS000、HVS000LMともに委任の設定が終わったので、再度、仮想マシンの移動を試してみます。
(スクリーンショットは先程と同様なので割愛)

今度はエラーも出ず、ライブマイグレーションに成功しました! ^^)

 ↑ こんな感じで、移動の進捗が表示されます。

 

ライブマイグレーションした仮想マシン(CentOS6)のスペックは、
・ 第一世代の仮想マシン
・ 割り当てメモリ : 512MB
・ 仮想プロセッサ : 1個(プロセッサの互換性:オン)
・ 仮想マシンのサイズ(*.vhdx) : 約 4.35 ギガバイト

Hyper-V サーバー間は 1Gbps のリンクで、このスペックでのライブマイグレーションに要した時間は
  約 2分
といった結果でした。

マイグレーション後のデータの正常性などは特に確認していないのですが (DBとか更新中に移動したらどうなんるんだろうとかは非常に気になっているので、そのうち確認はしたいですが)、

マイグレーションの実行中に、この仮想マシン(CentOS 6)に同セグメントの別マシンから ping をあて続けたところ、完了直前(直後?)に  1発 だけ ping 落ち (このちょっと前に、仮想マシンから G-ARP(Gratuitous ARP – Wikipedia) が 1パケット (だと少ない気もしますが) 発信されたのを確認できたので、この際に ICMP Reply ロスした模様。G-ARP 出るので、上流のスイッチ達のMAC テーブル更新も心配なさそう) が確認されましたが、それ以外は特に異常なく、ライブマイグレーションできました。

 

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です