Nutanix Community Edition（ce-2015.11.05-stable）のAcropolis HypervisorのHA機能（その1）

![image](https://qiita-image-store.s3.amazonaws.com/0/84474/7ac95603-dd93-cf0a-0e56-597c18a90ed1.png)

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

# はじめに
ce2015.07.16-betaでは試験的な実装、ce-2015.11.05-stableではGAとなり、デフォルトでHA機能（Best Effort Basis）が有効になっています。今回は、2回に渡って、Nutanix CE、ce-2015.11.05-stableにおける新しいHAの機能について見ていきたいと思います。

# アジェンダ
- Acropolis Hypervisor（以下、AHV）のHAについて　（今回（その1）の内容）
- AHVのHA動作検証　（[その2の内容](http://qiita.com/hanakara_milk/items/c0699637462f8523b3fc)）
- まとめ　（[その2の内容](http://qiita.com/hanakara_milk/items/c0699637462f8523b3fc)）

# Acropolis Hypervisor（以下、AHV）のHAについて
## AHVにおけるHAの概要
AHVにおけるHAは、他のハイパーバイザー製品のHAと基本的な動作は同じで、ノード障害が発生し、そのノードでのVMの動作が困難となる場合には、クラスター内の他のノード上に再起動されると言うものです。
なお、AHVにおけるHAは、デフォルトで有効になっていますが、細かい挙動において、以下の2つのモードがあります。

- Best Effort Basis
- Manage VM High Availability

### Best Effort Basis
こちらが、デフォルトで有効になっている、AHVのHA機能となります。こちらのモードでは、ベストエフォートとあるとおり、あるノードで障害が発生し、VMの稼動が困難になった場合に、別のノードに、VMを再起動する空きリソースがあるならば、可能な限りそうするよ、と言ったHA機能になります。
>
Resources are not reserved to handled high availability of VMs. In case of failure, VMs will be revived on best effort basis if resources are available.
![enable_ha.png](https://qiita-image-store.s3.amazonaws.com/0/84474/8f47e9fb-bd0a-f32d-615b-781a58f1a154.png)

### Manage VM High Availability
こちらは歯車のメニューから「Manage VM High Availability」を選択し、明示的に操作を行う必要があるモードで、Best Effort Basisとは異なり、可能な限りではなく、予めHA用で生じるVMの再起動分のメモリリソースを予約しておくことで、確実なVMの再起動を行うHA機能になります。
>
Up to XXX.XX GiB of memory will be reserved. You will be protected against the failure of a single host.
![enable_ha2.png](https://qiita-image-store.s3.amazonaws.com/0/84474/ae5c82fb-24a6-5f24-3455-633d7f59b2ce.png)

## どっちがいいのだろう？
単純に考えて、いわゆる業務継続性計画やHA対象となるVMの重要度やサービスレベル次第となるでしょう。Manage VM High Availabilityしておけば，あるノードで障害が発生した場合，HA機能により障害ノードで稼動していたVMの再起動は確実となりますが、それも普段のNutanixの全体リソースの空き次第ということになると思います。

### Best Effort Basisの場合
リソースが潤沢なNutanix環境なら、Manage VM High AvailabilityモードでなくてもBest Effort Basisでも再起動できるリソースは十分あるハズなので、HAが動作しないことはないでしょう。

### Manage VM High Availabilityの場合
一方で、HAの機能が動作する際に、保険として絶対に再起動させておきたいVMがある場合や高い集約率でNutanix環境を運用している場合などは、Manage VM High Availabilityモードを利用する方が良いでしょう。

ただし、上記のManage VM High Availabilityモードの解説でも述べたとおり、このモードでは事前にメモリをシステムが予約してしまうため、そもそもVM High Availabilityモードを有効にした時点で、通常時に利用可能なリソースが減っているとも言えます。そのため、Manage VM High Availabilityモードの利用を考える場合は、予めそれを込みでサイジングが必要なのだろうと考えます。逆に言うならば，Best Effort Basisの場合に比べて稼動させることのできる最大VM数は，少なくなるとも言えます

### 参考
うちの環境では、Manage VM High Availabilityを有効にした際に、以下のスクリーンショットでも見えるように約200GBのメモリが予約されています。ただし、これはManage VM High Availabilityを有効にする時点で動作しているVM総数や総VMのメモリ量などによって変化すると思われます。

- **Best Effort Basis時**

こちらは，デフォルトのHA機能であるBest Effort Basisモードの場合です。メモリの使用量は，全体の約32%（約140GB）となっています。

![image](https://qiita-image-store.s3.amazonaws.com/0/84474/441121ab-4233-5bdd-c21f-e34688bb5a0f.png)

　

- **Manage VM High Availability時**

こちらが，Manage VM High Availabilityモードを有効にした場合です。メモリの使用量は，全体の約48%（約190GB）となっています。

![image](https://qiita-image-store.s3.amazonaws.com/0/84474/14e9525b-bafd-9f4f-d81c-89aed7eb7ad2.png)

　

|モード|総MEM(GiB)|予約MEM(%)|予約MEM(GiB)|
|--:|--:|--:|--:|
|Best Effort Basis|440|32|140|
|Manage VM HA|440|48|206|

## Best Effort BasisとManage VM High Availabilityの切替
Best Effort BasisとManage VM High Availabilityの切替は非常に簡単で、特にコレと言った煩雑な操作を必要とせず、クリック1回、数秒で完了します。
Best Effort Basisは、Nutanix CEが動作する環境であれば、デフォルトで有効な機能なので特に操作の必要はありません。
VM High Availabilityへの切替及びVM High Availabilityから再びBest Effort Basisにモードを戻す際にのみ操作が必要になります。実際の操作を以下に示します。

歯車のアイコンからAHVの管理メニューを表示させ、VM High Availability Enableを選択します。
![image](https://qiita-image-store.s3.amazonaws.com/0/84474/f6c8d425-d0e2-97ea-c3b5-55ba68a2a960.png)



VM High Availabilityの設定に関するポップアップが起動してくるので、Enable HAにチェックを入れSaveでモードを変更します。
VM High Availabilityから再びBest Effort Basisにモードを戻す場合は、同様の操作でチェックボックスをオフにするだけです。
![enable_ha.png](https://qiita-image-store.s3.amazonaws.com/0/84474/0eb090d2-783c-3a4e-ae8e-7370ab0602b6.png)


# 次回に続く
[明日は、引き続きAcropolis HypervisorのHAの機能の紹介](http://qiita.com/hanakara_milk/items/c0699637462f8523b3fc)で、いよいよ実機での動作を確認してきます。