Nutanix Community Edition（ce-2015.11.05-stable）でライブマイグレーション再び（その2）

![スクリーンショット 2015-12-14 01.21.59.png](https://qiita-image-store.s3.amazonaws.com/0/84474/a141cbe0-f934-dc4b-da5a-405906200e2d.png)

[Nutanix Advent Calendar 2015](http://www.adventar.org/calendars/1124)，12月14日分としての投稿になります。
**本記事の内容はこの日付時点の情報（ce-2015.11.05-stable）に基づいています。そのため，今後新しいバージョンが提供された場合に，当該記載と矛盾が生じる場合がありますのでご注意ください。また，さわりはじめたばかりで認識誤り等があるかもしれません。おかしい，なんか違う等ありましたらご一報を。**

# はじめに
以前のNutanix CEバージョンでマイグレーションを試した際には，[いくつか制約とマイグレーション後の問題](http://qiita.com/hanakara_milk/items/05cec6fb60bd97df145a)を抱えていましたが，新しくリリースされたce-2015.11.05-stableでどう変わったのかを[昨日の記事](http://qiita.com/hanakara_milk/items/3f07ce797aabf2c980fd)から紹介していますが，今回はその2回目になります。ce-2015.07.16-betaでは，マイグレーション後，Windowsのネットワーク疎通が再起動以外で復帰できず，実質的にマイグレーションが利用できない問題がありました。その問題について，新しくリリースされたce-2015.11.05-stableで解決されたのかを見ていきます。

# ce-2015.11.05-stableより前のバージョンでのライブマイグレーションの問題
## ライブマイグレーションの問題の詳細
昨日の記事で記載したものより，ce-2015.07.16-betaでのライブマイグレーションにおいて発生した症状をもう少し具体的に記載すると，以下のような問題がありました。

- マイグレーション後，一瞬IPなしの状態から再びIPが振り直されるハズが振り直されず，外部からのアクセスが不能になる
- PRISM上のVNCコンソールから，マイグレーション後Windowsへのアクセスも途絶し，一切のアクセス手段が失われる（Disconnected: illegal server message type 78の表示）


上記のようなマイグレーション後の問題はLinuxでは発生せず，Windowsのみで発生しており，この症状が出るとNutanix内部からのVMのアクセス手段であるVNCコンソールからのアクセスも，なぜかできなくなってしまうため，PRISMのVM管理画面から電源をオフするか他になく（管理コンソールからの電源のオンオフ操作は可能），事実上WindowsのVMではマイグレーションを利用できない状況でした。

## ce-2015.11.05-stableでのライブマイグレーションの挙動の改善
結論から先に言うと，この問題はce-2015.11.05-stableで改善されており，マイグレーション後もWindowsは引き続き，VNCコンソールからのアクセス及び外部からRDPでのアクセスいずれも問題無く可能となりました。スクリーンショットを交えて，マイグレーションの挙動を見てきます。

## WindowsのVMのマイグレーション後の挙動確認方法
WindowsのVMがマイグレーション後にも正常に動作するか簡単な確認ですが，以下のような確認を行っています。

- 【確認1】外部からRDPで接続，mp4の動画ファイルを再生して途切れてしまわないか
- 【確認2】PRISMから起動したVNCコンソールで引き続きアクセス及び操作ができるか
- 【確認3】マイグレーション対象のVMに外部からpingを打ち続け，pingが途切れてしまわないか

### 【確認1】外部からRDPで接続，mp4の動画ファイルを再生して途切れてしまわないか
結果は，マイグレーション操作直後にわずかに一瞬，動画がカクつく程度で途切れることなく再生が可能でした（静止画ではお伝えしきれませんが…）。
![mig07.png](https://qiita-image-store.s3.amazonaws.com/0/84474/aedb673e-a142-e8c9-7273-8e7c70aaae0f.png)


当初，mp4の動画ファイルは，Nutanix CEのコンテナ内に置いて，そこにVMからアクセスして試してみましたが，よく考えるとNutanixの中に置いてあるモノを再生してもマイグレーション時のネットワーク付け替えにあまり影響しなさそうだったので，Nutanix CEとは関係のない，別の物理マシン上にmp4ファイルを配置しましたが，特に問題なく再生できていました。

### 【確認2】PRISMから起動したVNCコンソールで引き続きアクセス及び操作ができるか
結果は，今回もマイグレーション直後に同様のメッセージが表示される結果となりましたが，その後の操作で再接続ができました。
![mig08.png](https://qiita-image-store.s3.amazonaws.com/0/84474/8d393ae4-3389-1d93-611d-2c303ced587a.png)
![mig09.png](https://qiita-image-store.s3.amazonaws.com/0/84474/a5a7241a-b6f2-fa83-7b37-ecca267ffb1d.png)

しかし，再度「Launch Console」もしくは，エラーメッセージの出てしまったコンソールのURL欄をマウスでアクティブにしてEnterキーで再読込み，もしくはF5キーでブラウザVNCを再読込みすることで，コンソールを回復することができます。
![mig10.png](https://qiita-image-store.s3.amazonaws.com/0/84474/a210beba-bb26-884f-521c-3165dc549f2d.png)

ce-2015.07.16-betaでは，マイグレーション後，PRISMから起動しているVNCが「Disconnected: illegal server message type 78」というメッセージが出てしまうと，VMを再起動するまで接続することができませんでしたので，だいぶ良くなったと思います。

### 【確認3】マイグレーション対象のVMに外部からpingを打ち続け，pingが途切れてしまわないか
こちらについては，前日の記事や今日の記事の中に掲載されている画像にたびたび登場していますが，結果は1回途切れることがあるが，その後は問題なくpingは届き続けると言う結果になりました。
マイグレーションを適当に数十回ほど行ってみましたが，pingが1回だけタイムアウトする場合としない場合があり，多少の誤差があります。タイミングの問題かもしれませんが，場合によってはpingのタイムアウトより早くマイグレーションにおけるネットワークの経路変更ができるケースもあることが分かりました。


# その他、細かいマイグレーション時のアレコレ
## 自動マイグレーション時にマイグレーションが行われない場合がある挙動の改善
前日の記事と今回の記事の内容以外にも、ce-2015.11.05-stableでは、マイグレーション時の挙動が変わっています。Nutanix CEではマイグレーション先をNutanix CEにお任せにしてしまう「System well automatically select a host」という選択肢があります。
![mig06.png](https://qiita-image-store.s3.amazonaws.com/0/84474/f7e900bb-563d-e02f-bc2d-92136919d2aa.png)

ce-2015.07.16-betaの場合、マイグレーションをNutanix CEにお任せすると，明示的にPRISM上からマイグレーションの操作を行ったにも関わらず「マイグレーションを行わない」という選択が行われるケースがありました。確かにシステムがマイグレーションを必要としないと判断したなら，それもありかなと思いますが，操作した人間からすると「マイグレーションよろしく，Nutanixくんお任せでお願いね」と操作したにも関わらず「任された（でもマイグレーション必要なさそうだったんでしなかったよ）」と言うのも，何かもやもやしていました。

## 【緩募】自動マイグレーション時におけるマイグレーション先ホストの判定ロジック
AHVのマイグレーションアルゴリズムは，正直把握できていません。メモリの空きが優先なのか，CPUの空きが優先なのか，そもそもAHVのベースとなっているKVMのアルゴリズムにお任せマイグレーションの判定ロジックがあるのかも自分はわかりません。誰が知っている人がいたら教えて下さい(´∀｀)

## さらに蛇足でVNCコンソールの挙動とUIが変わってた
Nutanix CEでは，VMにアクセスするためにWebブラウザ上でVNCを利用することができますが，地味にこのVNCのUIや挙動が変わっていました。以前のバージョンでは，VNCコンソールはタブの中に開いてしまいましたが，今回のce-2015.11.05-stableでは、独立してポップアップしてくるように変わりました。またUIについては，VMの電源操作ボタンが加わり，VNCコンソールからVMの操作性が拡張されました。

![mig11.png](https://qiita-image-store.s3.amazonaws.com/0/84474/691eda1a-a9d1-c328-1ea2-f83848d39c27.png)


# まとめ
マイグレーションの挙動については，その1，その2で見てきたように前回リリースで生じていた制約や問題が解消され，より良くなっています。Nutanix CEにおけるマイグレーション機能とそのロジックは，まだ発展途上かもしれませんが，よほどの個別の事情に対応する必要がない限り，普通に利用する限りでは，十分利用に耐えられるレベルになってきいると思われます。