Nutanix Community Edition（ce-2015.06.08-beta）の利用における注意点

#はじめに
![Nutanix_4node.png](https://qiita-image-store.s3.amazonaws.com/0/84474/575882a7-1893-ed4b-4e22-787c5b587451.png)

Nutanix Community Edition（以下，Nutanix CEと記載）のPublic Beta提供が開始されたので，そちらを試してみました。
先々月，先月と行われたNutanix Community Meetupで，紹介された資料及び技術解説に加えて，実際にNutanix CEをインストールした結果を加味した内容になっています。

###Nutanix Community Meetup #1及び#2で発表された資料
>
[Nutanix Community Editionのご紹介](http://www.slideshare.net/shmza/community-edition-jp)
[Nutanix入門編](http://www.slideshare.net/smzksts/nutani-community-meetup-1)
[Nutanix Community Edition 技術解説](http://www.slideshare.net/smzksts/nutanix-community-edition)

**なお，7月12日現在，ダウンロード可能なNutanix CEは，ce-2015.06.08-betaとなっており，7月12日時点，ce-2015.06.08-betaに基づいて記載しています。そのため，今後新しいバージョンが提供された場合に，当該記載と矛盾が生じる場合がありますのでご注意ください。
また，さわりはじめたばかりで認識誤り等があるかもしれません。おかしい，なんか違う等ありましたらご一報を。**

#■動作要件おさらい
|構成要素         |要件                                          |備考（インストール結果を加味した追記あり）                                                                                                                 |
|:----------------|:---------------------------------------------|:--------------------------------------------------------------------------------------------------------------------|
|Servers          |1, 3 & 4 servers                              |シングルクラスターか，3もしくは4ノードクラスターのみサポートで，Nutanixは2ノードクラスターは構成できません。また，Nutanix CEでは，最大4ノードまでしか対応していません。|
|CPU              |Intel CPUs, 4 cores minimum, with VT-x support|4コア以上必要だそうです。Nestedでインストールする場合は，2コア4スレッドマシンを利用すると4vCPUを作れるのでその上にインストールできますが，ベアメタルインストールする場合は，物理4コア以上が必要になるそうです。|
|Memory           |16GB minimum                                  |メモリが16GB以上必要で1GBでも足りないとインストーラーではじかれます。どうもCVMがもりもりメモリを食べるので，16GBだと実際にVMをインストールして運用するのにツライ感じがします。|
|Storage Subsystem|RAID 0 (LSI HBAs) or AHCI storage sub-systems |LSI SAS HBAが推奨のようですが，MegaRAID RAIDコントローラーでRAID0のJBODモドキも対応しています。ただし，今のところSAS HBAかAHCIのほうがすんなりいきます。                                    |
|Hot Tier (SSD)   |One SSD per server minimum, ≥ 200GB per server|200GB以上のSSDが1台，または合計200GB以上になるSSDが1台以上あれば問題ないようです。また，AHCIドライバ利用できるので，AHCIドライバで動作するM.2 SSDも行けるようです。|
|Cold Tier (HDD)  |One HDD per server minimum, ≥ 500GB per server|500GB以上のHDDが1台，または合計500GB以上になるHDDが1台以上あれば問題ないようです。                                   |
|Networking       |Intel NICs                                    |現時点での正式サポートはIntel NICのみとありますが，CentOS7がドライバを持っていれば他ベンダーNICでも認識するようで，ce-2015.06.08-betaでは，Brordcomも行けるようです。なお，NICは1本で問題ありません。|

#■上記に挙げたもの以外の要件
上記に挙げた要件以外に，実際のインストールに当たって追加の要件があります。
1. インターネットへの接続
2. 192.168.5.0/24のネットワークの利用不可

##□インターネットへの接続
Nutanix CEをインストールするサーバー等は，インターネットへのが接続が可能なネットワークにいる必要があります。 
###補足
>
Nutanix CEの管理コンソールであるPRISMに初回ログインする際にアクティベーションが行われ，このアクティベーションは，Nutanix CEを登録した際のメールアドレス及びパスワードでアクティベーションサイトと通信をするようです。
従って，クラスター構成まで完了しても，アクティベーションのためのインターネット接続ができないとPRISMにログインできず，Nutanix CE上でストレージプールの作成，VMの作成，起動，停止等が一切できません。今のところアクティベーション回数には制限がない？ようで，何度でもアクティベーションが可能な模様です。
なお，インターネット接続はアクティベーション時のみ必要で，アクティベーションの完了後はインターネットとの接続を切断しても問題ないようです。

##□192.168.5.0/24のネットワークの利用不可
192.168.5.0/24のネットワークにNutanix CEのインストール対象マシンが接続されていない，または192.168.5.0/24のネットワークに隣接していない必要があります。

###補足
>Nutanix CEのインストレーションガイドである「Getting Started with Nutanix Community Edition」では，以下のような注意書きがあります。
Community Edition reserves IP addresses 192.168.5.0 through 192.168.5.254 for internal use. Nutanix recommends using an IP address in the network ranges 10.x.x.x or 172.x.x.x for the Host and Controller VM.

```lang:■Hypervisor上でのifconfig
[root@NTNX-c45b1717-A ~]# ifconfig
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.100.120  netmask 255.255.255.0  broadcast 192.168.100.255　←Hypervisorのアドレス
        inet6 fe80::219:99ff:feec:88b8  prefixlen 64  scopeid 0x20<link>
        ether 00:19:99:ec:88:b8  txqueuelen 0  (Ethernet)
        RX packets 8893  bytes 1779859 (1.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 7150  bytes 2162333 (2.0 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
＜中略＞

virbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.5.1  netmask 255.255.255.0  broadcast 192.168.5.255　←HypervisorがCVMと内部通信するためのアドレス
        ether 52:54:00:44:40:6c  txqueuelen 0  (Ethernet)
        RX packets 3712  bytes 661417 (645.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4154  bytes 2676109 (2.5 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
```

```lang:■CVM上でのifconfig
nutanix@NTNX-c45b1717-A-CVM:192.168.100.121:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 52:54:00:58:2E:E2  
          inet addr:192.168.100.121  Bcast:192.168.100.255  Mask:255.255.255.0　←CVMのアドレス
          inet6 addr: fe80::5054:ff:fe58:2ee2/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9213 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7377 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2466365 (2.3 MiB)  TX bytes:1409345 (1.3 MiB)

eth1      Link encap:Ethernet  HWaddr 52:54:00:19:9C:1F  
          inet addr:192.168.5.2  Bcast:192.168.5.127  Mask:255.255.255.128　←HypervisorがCVMと内部通信するためのアドレス
          inet6 addr: fe80::5054:ff:fe19:9c1f/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3957 errors:0 dropped:0 overruns:0 frame:0
          TX packets:3537 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2523490 (2.4 MiB)  TX bytes:681184 (665.2 KiB)

eth1:1    Link encap:Ethernet  HWaddr 52:54:00:19:9C:1F  
          inet addr:192.168.5.254  Bcast:192.168.5.255  Mask:255.255.255.0　←HypervisorがCVMと内部通信するためのアドレス
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
＜以下略＞

※サブネットを半分にして，eth1に2つのアドレスを振っている理由は，よくわかりません

```
###補足
>
上記の注意書きにあるクラスA的なアドレスやクラスC的なアドレスである必要は必ずしもありませんが，Nutanix CEがHypervisorとCVMとの通信用にピンポイントで192.168.5.0/24を使っているため，このネットワークアドレス上のマシンにインストールまたはこのネットワークアドレスに隣接しているとインストールでエラーとなります。

参考：[Preparing to Install Community Edition] (http://download.nutanix.com/guides/additional_releases/communityedition/index_frames.html?q=/guides/additional_releases/communityedition/oxy_ex-1/topics_other/community_edition/cluster_config_multinode_manual_ce_t.html)

#■ce-2015.06.08-betaにおける制限事項（と思われるもの）
Nutanix CEをインストールするに当たって，7月12日時点で最新のce-2015.06.08-betaにおける既知の問題として，以下のような問題があります（報告されている全てではなく，うち一部となります）。詳細や他に報告されている不具合もしくは被疑は，Discussion Forumを参照するのが良いかと思われます。

Nutanix CEは，6月の上旬に公開されてから日が浅く，インストール時のエラーやクラスター構成時のエラーメッセージをググっても検索に掛からないケースや検索順位的に上に来ない場合があります。
またNutanix Next Discussion Forumは登録制のフォーラムであるため，検索エンジンで引っ掛けても，ログインしないと参照できない場合もあるため，Nutanix Next Discussion Forumにログインして，フォーラム内の検索窓でキーワード検索をしたほうが，知りたい情報に圧倒的に早くリーチできるかと思われます。

※Nutanix Next Discussion Forum (参照にはNutanix Next Discussion Forumの登録が必要)
[http://next.nutanix.com/t5/Discussion-Forum/bd-p/Discussion](http://next.nutanix.com/t5/Discussion-Forum/bd-p/Discussion)

1. LSI MegaRAID OEM RAIDコントローラーを利用した際の問題
2. WWNコードが16文字を越えている場合にインストールがエラーとなる問題
3. インストール画面で「Create single-node cluster?」を利用する場合の問題
4. 3ノードクラスタ作成後，PRISMからノードの追加（4ノードクラスタ構成）ができない問題
5. シングルノードクラスタ作成後，サポートされないクラスタ追加操作ができてしまう問題


##□LSI MegaRAID OEM RAIDコントローラーを利用した際の問題
LSI MegaRAID OEM RAIDコントローラーを利用した際に，SATAのSSDとHDDを混在させると，インストール時には正しく認識しているSSDがクラスター構成時に見えなくなり，クラスター構成に失敗する事象が報告されています。

```lang:回避策
現時点で，ワークアラウンドは以下のような策が挙げられますが，RAIDコントローラー回りでは，これ以外にもいくつか調査中や被疑のある問題が生じているようで，Fixの予定は不明です。

* SSDのみRAIDコントローラーから外し，SATAポートに接続する
* RAIDコントローラーではなく，SAS HBAを利用する
* SSDをSAS接続のSSDに変更する
```
参考：[Cluster creation problem] (http://next.nutanix.com/t5/Discussion-Forum/Cluster-creation-problem/td-p/3665)

##□WWNコードが16文字を越えている場合にインストールがエラーとなる問題
インストール時にHDDやSSDのストレージデバイスのWWNコードが16文字を越えている場合にインストールがエラーとなる事象が報告されています。

```lang:回避策
現時点で，以下のようなワークアラウンドが提示されています。なお，この不具合については，次期のリリースで修正されるとのことです。

* インストーラーUSB上のPythonスクリプト（ /home/install/phx_iso/phoenix/kvm.py 281行目～282行目 ）を手で修正し，インストールを再実行することで回避することができるようです。

■修正前
  if d.wwn:
            et.SubElement(disk_root, "wwn").text = d.wwn

■修正後
 if d.wwn:
            et.SubElement(disk_root, "wwn").text = d.wwn[:16]


```
参考：[Nutanix CE installation failed] (http://next.nutanix.com/t5/Discussion-Forum/Nutanix-CE-installation-failed/m-p/3669/highlight/true#M256)

##□インストール画面で「Create single-node cluster?」を利用する場合の問題
インストール時，Hypervisor及びCVMのIPアドレス，サブネットマスク，デフォルトゲートウェイの設定画面で，同時にシングルノード構成を行うことができるチェックボックスがあるが，192.168.xxx.yyyのネットワークアドレス帯を利用しているとエラーとなります。

```lang:回避策
そもそもマルチノードクラスター（3ノードもしくは4ノード）を構成する予定の場合は，チェックを入れる必要性がありませんが，1台のサーバー等でNutanix CEをインストールする場合は，以下の注意が必要です。

* インストール時，Hypervisor及びCVMのIPアドレス，サブネットマスク，デフォルトゲートウェイの設定画面で，Create single-node cluster?のチェックボックスはチェックを付けない。
* もしくは，クラスAやB的なプライベートアドレスを利用してインストールを行う（ただし192.168.5.0/24のネットワークに隣接していないこと，インターネットに接続できる環境であること）
```
##□3ノードクラスタ作成後，PRISMからノードの追加（4ノードクラスタ構成）ができない問題
Nutanix CEは，最大4ノードでのクラスター構成が可能となっていますが，3ノードクラスターを構成後，PRISM上から「Expand Cluster」でノードを追加しようとするとエラーとなってしまいます。こちらの事象については，まだ原因がわからず，Fix予定がわかりません。

```lang:回避策
3ノードクラスター構成後，4ノード目の追加のワークアラウンドは現在ありません。4ノードでクラスターを構成したい場合は，初回クラスター構成時に，4ノードを一気に追加する方法しか現時点で回避策がありません。
なお，Nutanixは，商用版もCE版も2ノードクラスターは構成できないため，複数ノードでのクラスター構成は，必ず最小単位が3ノードクラスターとなります。
```

参考：[Error expanding cluster](http://next.nutanix.com/t5/Discussion-Forum/Error-expanding-cluster/m-p/3332#U3332)

## □シングルノードクラスタ作成後，サポートされないクラスタ追加操作ができてしまう問題
シングルノード構成後，本来できないハズのクラスターノード追加ができてしまう問題が報告されています。シングルノード構成時，RFが1で決定されるため，3ノード追加後，PoolとContainer作成時にエラーとなり，VMを配置するストレージが作成できなくなります（正確にはPoolは作成できますが，Containerが作成できません）。こちらの事象については，まだ原因がわからず，Fix予定がわかりません。

###補足
>
クラスター構成時に，Nutanixはデータの冗長性に関する重要なパラメータであるredundancy factor（よくRFと記載されます）が設定されます。凄くざっくり表すなら，データをいくつのノードで保持するかの数値がRFになります。RFの値はクラスター構成時に決定され，その後RFの値は変更ができなくなります。
シングルクラスター構成時には，RF=1で固定され，データは自身のノードのみで保持され冗長性がありません。その状態で，クラスターを構成するノードを追加すると，データを保持できるノードが複数あるにも関わらずRFの値が1のままなのでオカシイゾ！となるハズです。

```lang:回避策
回避策は特にありません。ちなみに「Getting Started with Nutanix Community Edition」では，以下のように記載されています。

A single-node cluster is created with a redundancy factor of 1 (RF=1). You cannot extend an existing single-node cluster to a three- or four-node cluster, to automatically create a cluster with RF=2. To expand to a three- or four-node cluster when you have a single-node cluster, destroy the cluster first, then create the new cluster. 
```

参考：[Creating and Configuring a Multi-Node Cluster (Manual Method)] (http://download.nutanix.com/guides/additional_releases/communityedition/index_frames.html?q=/guides/additional_releases/communityedition/oxy_ex-1/topics_other/community_edition/cluster_config_multinode_manual_ce_t.html)
　
　
***

実際のインストールは，次回に