Nutanix Community Edition（ce-2015.06.08-beta）上にVMをセットアップ

やっとこVMのセットアップです。Nutanix CEが提供している仮想化基盤，Acropolis HypervisorにVMをインストールしていきます。
![スクリーンショット 2015-07-18 13.28.14_R.png](https://qiita-image-store.s3.amazonaws.com/0/84474/590ce144-a612-bc33-9975-02979b383088.png)


**こちらはベアメタルインストールを対象にしています。**

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

# Nutanix CEのVMセットアップにおいて参考にした資料
[Nutanix Community Edition 技術解説](http://www.slideshare.net/smzksts/nutanix-community-edition)
> 日本語でインストール手順が纏められており，インストール初期において何度も見返した資料です。Nutanix CEのインストールから，クラスタ構成後，Acropris上にで起動するVMのインストール用OSイメージファイルのアップロードまでの手順が記載されています。

[Getting Started with Nutanix Community Edition ](http://download.nutanix.com/guides/additional_releases/communityedition/index_frames.html)
> Nutanix本家にあるNutanix CEのインストールガイドです。Nutanix Community Meetup#2では，口頭で紹介があり，上記の「Nutanix Community Edition 技術解説」には記載されていない注意事項やインストールにおける詳細が記載されています。

[Nutanix Community Edition Primer](http://www.technologyug.co.uk/How-To-Guides/Nutanix-Community-Edition-Primer-TechUG-Labs-Q2-20.pdf)
> 色々ググってたら見つけたNutanix CEインストールガイドです。こちらの資料ではVMのOSインストールまでが記載（Windows 7のインストール例が掲載）されているほか，インストール画面やPRISM上での各設定項目等の解説を含め，詳細な説明が記載されており，非常に助かるガイドでした。

【要Nutanix Next Communityログイン】[Web Console Guide ](https://portal.nutanix.com/#/page/docs/details?targetId=Web_Console_Guide-NOS_v4_1:Web_Console_Guide-NOS_v4_1)　←NEW!!
> PRISM上から行う，Nutanix CE及びAcropolis hypervisorの各種設定項目について，これは一体何を設定するのか，何に影響するのか等について，少しずつ分からない部分が出始めているので，リファレンスマニュアル的なものが必要な段階に入りました。日本語版ないかなー…

# Nutanix CEのAcropolisにVMを作成する
前回，[Nutanix Community Edition（ce-2015.06.08-beta）のKVMベース仮想化基盤「Acropolis Hypervisor」の環境設定](http://qiita.com/hanakara_milk/items/f9549224940287e1926c)で，Nutanix CE上にVMをセットアップするための事前準備が終わりいよいよVMのセットアップに入ります。

**注意**
**Nutanix CEのPRISMは，操作するWebブラウザを選びませんが，Acropolisで提供される画面コンソールでは，現時点においてGoogle Chromeでの操作に問題が生じており，一部のキー入力ができない問題が報告されています。
こちらで遭遇した症状としてはコンソール画面は表示されるもののマウス操作，キーボード操作を受け付けないためインストール作業ができません。そのため，PRISMの操作を含め，VMのインストール作業のことを考慮すると，Google Chrom以外のWebブラウザを選択しておくのが無難です。
Nutanix Next Forumによると，現時点でInternet ExplorerとFireFoxでの操作を推奨とのことです。**

参考：[Cannot type symbols in vm remote console in chrome](http://next.nutanix.com/t5/Discussion-Forum/Cannot-type-symbols-in-vm-remote-console-in-chrome/m-p/4107/highlight/true#M575)


## VM作成の概要
AcropolisにおけるVMのインストールでは，基本的には，VMの仮想CD-ROMにisoイメージをマウントしてインストールを行いますが，Windowsとそれ以外のOSで，少しだけ手間がかわります。
Windows以外のLinux等では，ディストリビューションのisoイメージのみで問題ありませんが，Windowsの場合は，Windowsのインストールisoと一緒にVirtoのドライバisoをマウントする必要がります。

Acropolisでは，PRISM UIが提供する設定項目しかハードウェアプロファイルの操作ができず，Windowsの場合は，仮想ハードディスクを追加した場合，virtio-SCSIが自動的に設定されます。そのため，そのままインストールを進めた場合，インストール先のディスクが見えずインストールができないためインストール時にVirtoのドライバisoからドライバを当てる必要があります。Windows系OSのインストールは，この点に注意が必要です。

```lang:注意
なお，virshコマンドはまったく利用できない訳ではありませんが，Nutanix CEではvirshによるAcropolis上のVMに対する操作やXMLの直接編集をサポートしていないようです。
```

> As a general rule, virsh <anything> is not supported in Acropolis, everything is either through the GUI or through CLI (ssh to CVM > acli). In acli, there is an option along the lines of vm.update_boot_device which can help you restructure the boot order that gets "flashed down" to libvirt.

参考：[	VM pxe/network boot](http://next.nutanix.com/t5/Discussion-Forum/VM-pxe-network-boot/m-p/3311/highlight/true#M53)

## Nutanix CEにWindows Server Technical Preview 2をインストール
Windows系OSのインストール例として，Windows Server Technical Previewをインストールしていきます。

PRISMのメインメニューからVMを選択します。VMを選択した直後は，表示モードがOverviewになっており，現時点におけるAcropolis上で動作するVMのサマリーが表示されています。このままでも問題ありませんが，以後の作業を考慮して，Tableの方を表示しながら操作を行います。
![01_vm_menu.png](https://qiita-image-store.s3.amazonaws.com/0/84474/9beba40f-e33c-a557-d71e-18382bf418c3.png)
　
Tableを表示すると，VMの一覧画面が表示されます。「+ Create VM」から，VMの作成を開始します。VMの作成は，まずハードウェアプロファイルを決定するところからです。
![02_create_vm.png](https://qiita-image-store.s3.amazonaws.com/0/84474/270048bf-81f6-07f2-3878-e7600c2f3386.png)
　
### NAME，COMPUTE，MEMORY（VM名，CPU，メモリ）の設定
VM名称，割り当てるvCPU数，割り当てメモリ量まで入力を入力します。
![03_cpu_mem_set.png](https://qiita-image-store.s3.amazonaws.com/0/84474/d941867a-98c6-4300-9fcd-1fc70be00e4f.png)

```lang:注意
VM名称は，重複してもAcropolis上ではID管理をしているため重複していても入力できてしまうようです。ただし，aCLI等では，VM名称をキーにしてコマンド入力があるため，同一ホスト上に異なるIDで同一のVM名称のVMが存在した場合に問題が生じる恐れがあることや，PRISMでの表示上，運用管理上でも面倒なので，同一のVM名称は付与しないほうが良いかも。
```

### DISKS（CD-ROM，HDD）の設定
次に仮想HDD及び仮想CDROMドライブの設定です。

DISKSの下の+New Diskボタンをクリックし，仮想HDDと仮想CD-ROMを2つ（インストールisoとVirtioドライバiso）追加していきます。デフォルトで，仮想CDROMは既に1つ追加された状態のため，仮想HDDと仮想CDROMをもう1つ追加します。

```lang:注意
ここでの注意点として，仮想デバイスの追加順に気をつける必要があります。これも前述しましたが，AcropolisではKVMにおける従来のvirshやXML編集ができないことから，ブートデバイスの個別設定もPRISM上からはできないようで，そのため，この仮想HDD及び仮想CDROMの追加順がそのままブートプライオリティになるようです。そのため並びとして，仮想CDROM1，仮想CDROM2，仮想HDDの順にデバイスを追加します。
```

#### Windows OSイメージisoファイルマウント用仮想CDROM設定
1つ目の仮想CDROMには，Windows Server Technical Preview 2のイメージをマウントします。デフォルトで既に追加されている仮想CDROMに設定を加えるため，鉛筆マークをクリックして設定を変更します。
![04_1st_cdrom.png](https://qiita-image-store.s3.amazonaws.com/0/84474/1e43c127-416c-0435-aa44-6c5ac50a2f44.png)
　
デフォルトでは， OPERATIONがEMPTY CDROMとなっているためプルダウンでCLONE FROM NDFS FILEを選択し，isoイメージをマウントできるようにします。
![05_1st_cdrom_setting1.png](https://qiita-image-store.s3.amazonaws.com/0/84474/be67787e-f168-90de-0760-e0bd99038b7e.png)
　
PATHには，マウントするisoイメージ名を入力します。こちらのフィールドは，入力文字列からフェッチして入力候補を表示してくれるため楽ちんです。PATHには，`iso置き場コンテナ/isoファイル名`を入力します。今回は，`/iso/10074.0.150506-1550.FBL_IMPRESSIVE_SRVR_SERVER_OEM_XFRE_EN-US.ISO`となります。
![06_1st_cdrom_setting2.png](https://qiita-image-store.s3.amazonaws.com/0/84474/746a88fc-7d91-92a1-6afc-2ee606b8d14c.png)
　
#### Virtioドライバisoファイルマウント用仮想CDROM追加
2つ目の仮想CDROMには，Virtioのisoイメージをマウントします。こちらは仮想CDROMを新規作成します。DISKSの下の「+ New Disk」ボタンを選択すると，Add Diskのウィンドウがモーダルポップアップします。
![07_2nd_cdrom.png](https://qiita-image-store.s3.amazonaws.com/0/84474/730590be-a136-b7ac-f61a-08fd4b82b847.png)
　
デフォルトはDISKとなっているので，プルダウンでCDROMに変更します。
![08_2nd_cdrom_setting1.png](https://qiita-image-store.s3.amazonaws.com/0/84474/187f3d60-10f2-027c-f422-f71663395ad6.png)
　
CDROMに変更すると，先ほどWindows OSイメージisoファイルを設定した際と同様の設定項目が表示されるので，OPERATIONのEMPTY CDROMをプルダウンでCLONE FROM NDFS FILEPATHに変更し，PATHに今回は，`/iso/virtio-win-0.1.96.iso`を入力します。
![09_2nd_cdrom_setting2.png](https://qiita-image-store.s3.amazonaws.com/0/84474/19640150-8bad-88e2-b18f-8cda71bcc3ae.png)

#### Windows OSイメージインストール先仮想HDD追加
仮想HDDを追加します。DISKSの下の+New Diskボタンをクリックすると，Add Diskのウィンドウがモーダルポップアップします。TYPEがDISKになってることを確認し，必要に応じてCONTAINERを設定します。コンテナを複数作成している場合は，プルダウンから，この仮想HDDを配置するコンテナを選択できます。

今回の場合は，VMのディスク用コンテナとiso置き場にする専用コンテナの2つを作成しているためCONTAINERから，datastore01を選択しておきます。最後にSIZEを入力すれば，仮想HDDの設定は完了です。
![10_hdd_set.png](https://qiita-image-store.s3.amazonaws.com/0/84474/288d0bce-2be9-bcea-ab4e-fb61d7ea159d.png)

### NICS（ネットワークアダプタ）の設定
VMが利用する仮想アダプタの設定です。こちらは設定する項目がほとんどなく，このVMのネットワークアダプタが接続するVLANの選択のみです。今回構築したNutanix CEのAcropolis Hypervisor環境では，そもそもネットワークはvlan.0しか作成していないため，VMが利用できるネットワークも，vlan.0のみとなります。ネットワークアダプタの作成を開始するには，NICSから「+ NEW NIC」を選択しします。
![11_add_nic.png](https://qiita-image-store.s3.amazonaws.com/0/84474/b73b1e65-298b-4847-a66a-f63ed0d85454.png)
　
Create NICの画面では，VLANが1つしかないためプルダウンメニューが選択できず，特に入力項目もないためAddして完了です。
![12_select_vlan.png](https://qiita-image-store.s3.amazonaws.com/0/84474/bbf1443e-c348-7446-1489-5c21ca1d7c3d.png)

## VMインストールの開始（Windows Server Technical Preview 2）
PRISMのVM一覧の画面に戻ると先ほどハードウェアプロファイルを作成したVMが追加されています。そのVMを選択すると薄いブルーで選択状態となり，その状態でVM一覧の真下にあるVMの操作ボタンのうちの1つ「Power on」でVMの電源を投入します。
![14_poweron_vm.png](https://qiita-image-store.s3.amazonaws.com/0/84474/dc56b1c8-dbc7-7e7f-e6f4-d192bdfcddd2.png)
　
VMの電源が投入されると Power onボタンの左隣のLunch Consoleボタンが有効になるので，こちらからコンソール画面を起動します。
![15_open_console.png](https://qiita-image-store.s3.amazonaws.com/0/84474/8de8fe36-8ac4-db14-7d45-0219e3e68310.png)
　
コンソール画面は，新しいタブで開かれ，コンソール画面には，キーボードの設定，Send CtrAltDelとTake Screenshotのボタンがあります。気休め程度に（大抵この手のキーボード設定で日本語がまともに入力できた試しがないので）キーボードの設定をusからjaに変更しておきます。
![16_change_keyboard.png](https://qiita-image-store.s3.amazonaws.com/0/84474/af8e0783-f79c-141e-5cec-d68721ab6bdb.png)
　

```lang:注意
jaにしてもしなくてもインストール中は，キーバインドがオカシイです。そのためいくつかのキーについては，入力に困難が伴うため，Windows場合なら，ソフトウェアキーボードとTabキーを利用しつつ，インストールだけはなんとか進めていきます。
```

そのまま待っていれば，1つ目の仮想CDROMに設定したWindows Server Technical Preview 2のisoイメージがロードされ，Windowsインストーラーが起動してきます。
![17_win_inst.png](https://qiita-image-store.s3.amazonaws.com/0/84474/9ef00202-d9a3-0bef-5889-b0be6beafade.png)
　
インストール先のディスク選択の画面が表示されるとディスクが見えないため，virtio-SCSIドライバが入っている2つめの仮想CDROMからドライバをロードします。
![18_no_disk.png](https://qiita-image-store.s3.amazonaws.com/0/84474/d1c1b406-80bf-2436-bb27-c9d0a98339b7.png)
　
Load driverを選択しBrowseから2つめの仮想CDROM中のvirtio-SCSIドライバを読み込ませます。
![19_load_driver1.png.png](https://qiita-image-store.s3.amazonaws.com/0/84474/9f86ef53-61be-91b1-6b50-36a23a3434a6.png)
![20_load_driver2.png.png](https://qiita-image-store.s3.amazonaws.com/0/84474/bf26a4b5-978e-9feb-af66-7b9be72b17e9.png)
　
選択したドライバがRed Hat VirtIO SCSI pass-though controllerであることを確認してNextでインストールを進めます
![21_load_driver3.png.png](https://qiita-image-store.s3.amazonaws.com/0/84474/c5ab3587-4175-c83c-a7cc-3a15cd368aec.png)
　
インストールを進めるのみなら，これで問題ありませんが，Windows系OSはこのほかにvirtio ethernetドライバ及びvirtio baloonドライバが必要となります。こちらは，インストール完了後に追加することも可能ですが，virtio-SCSIドライバの追加の手順と同様の手順で，こちらで併せて追加することもできます。
　
インストール先のディスクが見えたので，インストールを開始して後は，Windows Server Technical Preview 2が起動していくるのを待ちます。
![22_go_install.png](https://qiita-image-store.s3.amazonaws.com/0/84474/19361a76-9f16-afd0-4ad7-ccddfcb07430.png)
　
Windows Server Technical Preview 2は，他のWindows Serverと同様に初回ログイン時にadministratorのパスワード決定し，そのパスワードでログインします。
![23_install_done.png](https://qiita-image-store.s3.amazonaws.com/0/84474/698e2b5e-9625-0713-cda6-766d9941ba2e.png)

### Nutanixとは直接関係しませんが…
>既にネットに情報等が出ていますが，Windows Server Technical Preview 2では，グラフィックシェルがデフォルトでインストールされなくなったため，コマンドプロンプトのみ（インストール時のオプションでサーバーマネージャーの追加インストールを選択していれば，コマンドプロンプトとサーバーマネージャー）になっています。必要に応じて，サーバーマネージャーやそれまでのWindowsと同様のディスクトップ画面である，グラフィックシェルのFeatureをインストールします。

### ここに関係するんです…
> Windows Server Technical Previewにおいて，インストール時にvirtio-SCSIドライバと併せて，virtio ethernetドライバ及びvirtio baloonドライバをインストールしていない場合はネットワークアダプターが利用できません。しかしグラフィックシェルがないめ，当然デバイスマネージャ等も存在せず，msiインストールの実行もできません。そのためグラフィックシェルのFeatureをインストールした後，デバイスマネージャーから，virtio ethernetドライバ及びvirtio baloonドライバをインストールをインストールします。また，必要に応じて，QEMU Guest Agentもインストールします。
![24_after_insall_virtio1.png](https://qiita-image-store.s3.amazonaws.com/0/84474/b809deb2-4378-fe4f-40e6-3a01455090c9.png)
![25_after_insall_virtio2.png](https://qiita-image-store.s3.amazonaws.com/0/84474/458a609c-0c75-ef77-6881-341ce83bd9d9.png)
![26_after_insall_virtio3.png](https://qiita-image-store.s3.amazonaws.com/0/84474/282f0c4a-37d6-377d-b392-c2e7d4de9098.png)




これで，Nutanix CEのAcropolis上にWindows系OSのVMが作成できました！
次回以降は，ここまでの作業で発生したトラブルやその他，気になったところ等について記録を残しておきます。
　
　

***
　
　

蛇足
ここまで見てきたように，Nutanix CEのAcropolis上へのVMのインストールは，基本的にContainerにアップロードしたisoイメージをマウントして起動する形になります。
個人的にはPXEブートによるインストールのほうが楽で早いので，そちらを選択したいのですが，現時点において，Nutanix CEのPRISM上からは，PXE対応のNICをVMに追加できないようで，aCLI（たぶん，Acropolis CLI？）と言うcliでのワークアラウンドはあった（※1）のですが，正式にサポートされいるものなかわからず，かつ結局，WindowsのPXEブートを利用したインストールはうまくいきませんでした。

※1
PXEブートしたい対象のNICのMACアドレスを調べ，`acli vm.update_boot_device VM名 mac_addr="PXEブートしたいVMのMACアドレス"`を実行する