VMware Fusion 7 Pro を使って VMware ESXi 5.5 Update2 のテスト環境を構築する（Nested ESXi）

# はじめに

VMware ESXiやKVM、Xenに代表される、サーバーハードウエア仮想化（ベアメタルハイパーバイザー）技術自体を検証をする際に課題になるのが、検証環境の確保です。

1台、2台規模の検証であれば、なんとか入手出来るかもしれませんが、数百台、数千台といった規模が必要な検証が必要になった際に、その物理環境を入手する事は容易ではありません。

![osx_yosemite+vmware_fusion_7+vmware_vsphere_5.5.png](https://qiita-image-store.s3.amazonaws.com/0/10852/1e1ef4cf-1f19-174c-0df6-7a220d26ce6a.png)

そんな問題を解消する1つの手段として、 **Nested** と呼ばれる機能を用いて、ハイパーバイザー上でハイパーバイザーを動かす、**ESXi on VMware Fusion** な環境構築を紹介します。

今回は、OSX上にセットアップした VMware Fusion 7 上に複数台の VMware ESXi をセットアップしますが、同様に Windows/Linux であれば **ESXi on VMware Workstation** であったり、サーバー環境であれば **ESXi on ESXi** を構築すれば同様に対応出来ます。

## 構築環境

- MacBook Pro (Retina, 13-inch, Late 2013)
    - OS : Mac OS X Yosemite (10.10.2)
    - CPU : 2.8 GHz Intel Core i7
    - Mem : 16 GB 1600 MHz DDR3
    - Disk : 251 GB SSD SM0256F
- VMware Fusion 7 (Pro 7.1.1)
- VMware ESXi (5.5 Update2)

## 事前準備

- 対象環境に VMware Fusion 7 がセットアップ済みの状態としてください

# VMware Fusion 7 上へVMware ESXi 5.5 Update2 をセットアップ

## インストールイメージの入手

### ログインまたはアカウントを作成

VMware社のサイト [VMware vSphere Hypervisor 5.5 ダウンロード センター](http://www.vmware.com/go/JP-get-esxi) を開きます。VMware社トップページから ```ダウンロード```→```製品のダウンロード```→```VMware vSphere Hypervisor (ESXi)``` でも辿れます。
（URLが ```http://www.vmware.com/go/JP-get-esxi``` とチョトだけかっこいい。）

![VMware_vSphere_Hypervisor_の無償ダウンロード1.png](https://qiita-image-store.s3.amazonaws.com/0/10852/ac238d65-86c4-3854-3158-ff0c8dd54b66.png)

```ログイン``` または ```アカウントの作成``` を実施します。

### ライセンスとダウンロード

ログインに成功するとライセンスとパッケージダウンロード画面が表示されます。

![VMware_vSphere_Hypervisor_の無償ダウンロード2.png](https://qiita-image-store.s3.amazonaws.com/0/10852/3b6eee35-4bb3-c13d-8482-63b6da227013.png)

画面に表示されているライセンスは別途テキストエディタ等にメモしておいて、 **パッケージのダウンロード** 一覧から **ESXi 5.5 Update 2 ISO image (Includes VMware Tools)** をダウンロードします。※2015/03/08現在最新版

```手動ダウンロード``` をクリックすると、 **VMware-VMvisor-Installer-5.5.0.update02-2068190.x86_64.iso** というファイルがダウンロードされます。

念のためSHA1SUMでファイルが正しくダウンロードされているか確認します。

```zsh
% shasum ~/Downloads/VMware-VMvisor-Installer-5.5.0.update02-2068190.x86_64.iso
9475938b51cafc86c8b17d09f2493cb6b4fae927  /Users/ysaotome/Downloads/VMware-VMvisor-Installer-5.5.0.update02-2068190.x86_64.iso
```

サイトに掲載されている **SHA1SUM** の値と一致するので大丈夫ですね。

## 仮想マシンの作成とセットアップ

メニューの ```ファイル```→```新規``` を選択して、仮想マシンの新規作成ウィザードを立ち上げ、 ```ディスクまはたイメージからインストール``` を選択して ```続ける```。

![新しい仮想マシン作成1.png](https://qiita-image-store.s3.amazonaws.com/0/10852/72a9857e-dc4b-3042-72f4-6a26b232123e.png)

```別のディスクまたはディスクイメージを使用...``` をクリックして、先ほどダウンロードした ESXi の ISO イメージ **VMware-VMvisor-Installer-5.5.0.update02-2068190.x86_64.iso** を選択して  ```続ける```。

![新しい仮想マシン作成2.png](https://qiita-image-store.s3.amazonaws.com/0/10852/584e287a-9c0c-95ad-40ad-159d104db720.png)

最後に ```終了``` をクリックするとセットアップが開始されます。

あとは表示に従いながら、```Continue``` や ```Accept``` を選択すればセットアップが完了します。

少し前まで **Nested** を実現するためには多少面倒な設定をする必要がありましたが、最近はすごく簡単に実現出来るので便利になりましたね。

# セットアップした VMware ESXi 5.5 Update2 を使ってみる

セットアップされた ESXi を操作するには通常は **VMware vSphere Client** を利用しますが、残念ながら Windows版クライアントしかありませんので、 Mac OS X + VMware Fusion 7 Pro 上から出来る範囲で使ってみます。
（辛うじてWineで最低限の操作は出来ますが。。。）

## VMware Fusion 7 Pro から接続してみる

### ESXi へ接続

コンソール画面(Direct Console User Interface:DCUI)でセットアップされた ESXi のIPアドレスを確認します。

![VMware_ESXi_55_u2_DCUI.png](https://qiita-image-store.s3.amazonaws.com/0/10852/a57657f5-e016-fe3c-9fa3-527c44362eb4.png)

メニューから ```ファイル```→```サーバに接続...``` をクリック

![サーバーに接続.png](https://qiita-image-store.s3.amazonaws.com/0/10852/2b483ee6-e6f1-bf2f-c3f2-d31810c05f7e.png)

**接続** ウィンドウが表示されるので、 ```サーバ``` の欄にコンソールで確認したIPアドレスを入植、```ユーザー名``` の欄に ```root``` 、```パスワード``` の欄にセットアップ時に入力したパスワードを入力し、 ```接続``` をクリック。

正常に接続されると、仮想マシンの一覧の下に接続した ESXi が表示されます。

![仮想マシンのライブラリ.png](https://qiita-image-store.s3.amazonaws.com/0/10852/75f83243-912f-3185-8d5d-18d33bc37bba.png)

### ESXi上へ仮想マシンを作成

接続した、 ESXi ホストは、CPUやメモリの利用率が確認出来るものの、新規仮想マシンを作成する事が出来ません。
ESXi ホスト上で仮想マシンを動かすためには、VMware Fusion 上の仮想マシンを ```サーバーへアップロード``` する事で対応します。

VMware Fusion 上の停止した仮想マシンを右クリックすると ```サーバーへアップロード``` メニューが表示されるのでクリック。

![VMware_ESXi_55_u2_と_仮想マシンのライブラリ_と_下書きを編集_-_Qiita.png](https://qiita-image-store.s3.amazonaws.com/0/10852/dba06611-d1ee-ad37-b25a-baa07b877e2e.png)

接続済みの ESXi ホスト一覧が表示されるので、1台選択して ```続行``` をクリック

![仮想マシンのアップロード.png](https://qiita-image-store.s3.amazonaws.com/0/10852/4dd55172-a9d1-b9bc-a163-38ea41aea1a5.png)

ホストに設定されたストレージを選択して ```アップロード``` をクリック

![仮想マシンのアップロード2.png](https://qiita-image-store.s3.amazonaws.com/0/10852/370a17ba-975d-265d-d85a-8f5d7bbb60e6.png)

アップロードが実行されます。

![VMware_Fusion_アクティビティ.png](https://qiita-image-store.s3.amazonaws.com/0/10852/1834311a-c1d7-6419-a4cb-816858a16d79.png)

アップロードが完了すると、仮想マシンが ESXi 上へコピーされ、 VMware Fusion 上の仮想マシンと同様に操作する事が出来る様になります。

![仮想マシンのライブラリ3.png](https://qiita-image-store.s3.amazonaws.com/0/10852/5b12273b-8d2c-0f3c-d36e-44b5dad9656c.png)

# まとめ

OSX + VMware Fusion を組み合わせた **Nested** により、簡単にハイパーバイザーの検証環境を構築する事が出来ました。

実は、この状態だとライセンス未入力なため、「評価ライセンスモード」で動作しており、60日が経過すると仮想マシンの起動ができなくなります。
本当は、ライセンス入力するために、 **VMware vSphere Client** を使う事が普通なのですが、Windowsを持ってない人は、 [VMware vSphere vCLI](https://www.vmware.com/support/developer/vcli/) や [govc CLI](https://github.com/vmware/govmomi/tree/master/govc) といったCLIツールを導入して操作する事も出来ます。

また、[Nested ESXi 用の VMware Tools](https://labs.vmware.com/flings/vmware-tools-for-nested-esxi) を利用する事で、通常の仮想マシンと同様にサスペンドやレジュームを行う事も可能になります。

次は、CLIツールの使い方とかまとめたい所。