超小型PC Intel NUC(D54250WYKH)にESXiを入れてみた

#はじめに

自宅でもサーバ兼実験用に仮想環境が欲しいなと思って色々と調べていたところ、IntelのNUCというものの存在を知りました。
液晶のVESAマウントに取り付けられるほどのサイズのPCで、上位機種にはCorei5モデルがあって性能もソコソコです。
このサイズなのでモバイルPC向けのパーツで構成されており、消費電力もかなり低そうです。非公式ながらESXiでの動作実績もありました。
もう、これしかないと思ってつい買ってしまったので記事を書きますｗ

#ハードウェアについて

![P4150001.jpg](https://qiita-image-store.s3.amazonaws.com/0/36514/8c537d39-34b8-03a0-33b4-22263d0e3b54.jpeg)

| 項目 | 仕様        |備考|
|:----|:------------|:---|
| 型番 | [D54250WYKH](http://www.intel.co.jp/content/www/jp/ja/nuc/nuc-kit-d54250wykh.html) | |
|CPU | [Core i5-4250U](http://ark.intel.com/ja/products/75028/Intel-Core-i5-4250U-Processor-3M-Cache-up-to-2_60-GHz) |モバイルPC向けのCPUでTDPは15W<br>仮想化支援技術(VT-x,VT-d,EPT)対応<br>VProではない|
|チップセット |[Intel QS77 Express](http://www.intel.co.jp/content/www/jp/ja/chipsets/performance-chipsets/mobile-chipset-qs77.html)| |
|グラフィック |Intel HD Graphics 5000||
|メモリ | DDR3L-1600/1333 (S.O.DIMM **1.35V品**)<br>2スロット 最大16GB ||
|Ethernet Controller|Intel® I218V Gigabit Ethernet Controller||
|ストレージ| SATAポート×1 |内部に2.5インチHDDの固定用スペース有り|
|拡張スロット|PCIe Mini Card(ハーフ) × 1<br>PCIe Mini Card(フル) × 1|実質的にmSATA用×1と無線LAN用×1 <br> 無線LANのアンテナは初期装備。スロット付近までケーブル配線済|
|接続端子|USB3.0 × 4 (前面:2 背面:2)<br>USB2.0 × 2 (内部)<br>Mini DisplayPort 1.2 × 1 <br>Mini HDMI 1.4a × 1<br>Gigabit Ethernet × 1<br>ヘッドセット用のジャック × 1 |内部のUSB2.0はマザーボード上にピンヘッダで設けてあるのでそのままでは使用不可<br>映像出力端子はどちらも音声出力にも対応|

※詳細は下記URL資料の末尾がTechProdSpecのPDFを参照
https://downloadcenter.intel.com/ja/download/23089

前の世代ではVProモデルがありましたが、残念ながらこのモデルはVPro仕様ではないので[AMT](http://www.intel.co.jp/content/www/jp/ja/architecture-and-technology/intel-active-management-technology.html)は使えません。
あったらあったで便利そうなのと、ちょっと触ってみたい気はしますが、家で使う分には無くても困らないのでヨシとします。
(それに余計なチップが無い分、消費電力的にはちょっと有利？)

2.5インチHDDは完全に専用のスペースとして用意されています。
![P4170001.jpg](https://qiita-image-store.s3.amazonaws.com/0/36514/dab50d82-890d-151a-187b-5198bf79018b.jpeg)

中はこんな感じ。
USB2.0はmSATAスロットの右にあるピンヘッダの形で用意されています。USBメモリを筐体内に内蔵するにはちょっと面倒臭そう。
![P4170004.jpg](https://qiita-image-store.s3.amazonaws.com/0/36514/0be3685a-4b9a-4c1d-c688-6984717e5e5f.jpeg)

それにしても小さい！良いですね。

**追加の購入品**

| 項目 | 型番       |仕様 |備考|
|:----|:------------|:---|:--|
|メモリ|CFD Elixir W3N1600Q-L8G|DDR3L1600 CL11 8GB×2 1.35V|仮想化するとVM同士でメモリを取り合うことになるので積めるだけ積んでおきます。<br>本当はMicronのチップが載ったのを買おうと思いましたがショップに無かったので適当にバルク品を避けてこれに。<br>ちなみにnanyaのチップが載ってました。<br>(馴染みのないメーカーだけど大丈夫かな…と後になって不安にｗ)|
|SSD|[PLEXTOR PX-256M6M](https://www.links.co.jp/item/px-256m6m/)|6Gb/s mSATA 256GB <br> SeqRead:520 MB/s <br> SeqWrite:440 MB/s <br>Random Read(4KB):94,000 IOPS <br>Random Write(4KB):80,000 IOPS |評価の高かった前世代のM5Mと比較するとシーケンシャルが落ちた代わりにランダムアクセスの性能が向上しているようです。<br>実運用でもランダムが速い分、M5Mより速くなるのでは？と思います。<br>[参考:PLEXTOR mSATA SSD M6M シリーズスペックまとめ](http://blog.livedoor.jp/katyou_get9/archives/plextor-msata-ssd-m6m.html)　|
|電源コード|BUFFALO BSACC0820BK|3Pミッキープラグ<br>2P ACプラグ| 買い忘れしないように注意 <br>(買い忘れましたｗ)|

#ESXiとの互換性

ESXiには専用のドライバが必要なため、標準で使えるハードウェアにはかなり制限が掛かります。
幸い、このNUCについては有志（？）の手による[非公式なドライバ](http://www.virten.net/2013/09/esxi-5-x-installation-on-intel-nuc-fails-with-no-network-adapters/)があるので、これをインストール用のISOに組み込むことで対応出来るようになります。
この機種の場合、NICとSATAコントローラのドライバの追加が必要なようです。

ESXiのインストールでよく問題に挙がっているのがNICのドライバで、インストール時に認識できない場合は先に進めません。
ESXi対応を謳っていないハードウェアを使う場合、このあたりはよく調べておく必要があります。

#ESXiインストール作業

##必要なファイルの収集

### ESXiのイメージファイル,VMware vSphere Client

5.5になって追加された機能はどうせ無償版では使えないので、5.1か5.5かはお好みで。
無償版の管理にはVMware vSphere Clientが必要です。
無償版ダウンロードページから登録するとライセンスも自動的に発行されるので控えておきます。
https://my.vmware.com/jp/web/vmware/evalcenter?p=free-esxi5&lp=default


###ドライバ
NICのドライバとSATAのドライバ(4th Gen NUCのやつ)を入手しておきます。
http://www.virten.net/2013/09/esxi-5-x-installation-on-intel-nuc-fails-with-no-network-adapters/

###ESXi-Customizer
簡単にドライバを組み込んだISOを作成出来ます。
http://www.v-front.de/p/esxi-customizer.html

###UNetbootin
ISOファイルを指定してブータブルUSBメモリを作成出来ます。
http://unetbootin.sourceforge.net/

![ESXiファイル一式.PNG](https://qiita-image-store.s3.amazonaws.com/0/36514/c0ef4f64-17c1-4180-d1ef-b24cc05a333c.png)

##カスタムISOの作成

ESXi-Customizerを適当な場所に展開したら、ESXi-Customizer.cmdで起動します。
起動したらオリジナルのESXiのISOファイルと組み込みたいドライバのVIBファイルを指定して実行します。
このツールでは組み込むドライバは１つしか指定出来ないので、1回目の処理で出力されたISOファイルを入力ファイルに指定して2個目のドライバを組み込みます。
![ESXi-Customizer2.PNG](https://qiita-image-store.s3.amazonaws.com/0/36514/611488a1-3372-62a6-0ff6-29e4bc42f1ea.png)

##インストーラ入りのUSBメモリを作成
出来上がったISOファイルをUNetbootinでUSBメモリに書き込みます。
ISOファイルと空のUSBメモリを指定してOKを押すだけです。素晴らしい。
![ESXi_CreateBootableUSB.PNG](https://qiita-image-store.s3.amazonaws.com/0/36514/23ab3063-9116-0a96-b585-468f83afddd3.png)

##インストール
NUCに作成したUSBメモリを差し込んで起動します。
[F10]キーでBoot Menuが開くのでUSBメモリを指定して起動します。
あとはウィザードに従って進めます。

インストール先にはUSBメモリも指定出来るようですが、USBメモリはダメな製品に当たると割りとすぐ死ぬイメージがあるのでここでは敢えてmSATAのSSDに入れました。

インストールが完了したらF2キーで設定画面に入れるのでホスト名の設定やIPアドレスの設定をしておきます。
以後、殆どの操作はvSphere Clientを通して行うことになります。

##ESXiの管理画面に入る
vSphere Clientを端末にインストールしてrootで接続します。
60日は評価版で使えますが、無償版の機能しか使う気が無いので即行でライセンスを入力しました。
(VMwareのマイページで発行済ライセンスを確認出来ます。)

初めてESXiを入れたときライセンスをどこで入れるのか迷ったのでSS貼っておきます。
![ESXiライセンス入力.PNG](https://qiita-image-store.s3.amazonaws.com/0/36514/86b7c3a4-001c-2ac9-11bd-4e61c56ca79a.png)

##ベンチ結果
適当にWindows7を入れてベンチ取りました。
仮想化のオーバーヘッドがあってもメインマシンより速いｗ ランダムアクセス凄まじい・・・
![SSDベンチ結果.PNG](https://qiita-image-store.s3.amazonaws.com/0/36514/26d2fbe7-2820-5c64-4dfd-3866ea5e68d7.png)

普通に速いです。グラフィックは仕方ないですね。
![ESXi_エクスペリエンスインデックス.PNG](https://qiita-image-store.s3.amazonaws.com/0/36514/db34747e-5a26-6144-7295-aeddb676d5c0.png)

とりあえず今回はここまで。

#参考情報
##元ネタ
VMware Homeserver – ESXi on 4th Gen Intel NUC
https://www.virten.net/2013/12/vmware-vsphere-homeserver-homelab-esxi-on-4th-gen-intel-nuc/

vPro完全対応NUC？よろしい！ならば仮想化だ！【選定編】 - インテル(R) NUC キット DC53427HYEのレビュー
http://zigsow.jp/review/260/252816/

##VProって？
ジグソープレミアムレビュー > インテル® Core™ vPro™ プロセッサー・ファミリーの謎を解き明かせ！インテル® Core™ vPro™ プロセッサー・ファミリー謎解きレビュー
http://zigsow.jp/special/intel/vpro/review.php?theme_id=3&c_member_id=17959

##調査過程で見つけたり思いついたアレコレ

思いつきなのでアレな内容ですが・・・

###NICの増設
####Intel-82574を積んだMini PCIeのNIC
　JETWAY ADMPEISLA
　http://www.jetway.com.tw/jw/ipcboard_view.asp?productid=872&proname=ADMPEISLA

####Intel -i350を積んだMini PCIeのデュアルポートなNIC
　JETWAY ADMPEIDLA
　http://www.jetway.com.tw/jw/ipcboard_view.asp?productid=873&proname=ADMPEIDLA

　本来は組み込み用PCボードのオプションとして用意された製品のようです。

　abeeの[NE04](http://abee.co.jp/Product/nuc/NE04/index.html)くらいの筐体だったら綺麗に収まりそう。
　NUCでやるようなことではないと思うけどチーミングとかも出来ますね(スロットの無駄遣い)
　あと、見た目を気にしなければGIGABYTEのBRIXとか蟹チップの載ったNUCみたいなものでも無理やりIntel NICを使う道が開けますｗ

### 無線化する
　ESXi側で無線LANなんて設定出来ないと思うので、仮にドライバがあったとしても出来ないと思いますが、
　適当なゲストOSに無線LANモジュールをパススルーして、仮想NICとブリッジしたら無線化出来るような気がします。
　安定性は落ちるかもしれないですがACアダプタだけ繋げば使えるサーバっていうのも家でなら良いんじゃないかと。

### バッテリー駆動にする
　バッテリー駆動にする理由があまり見当たらないのでただのネタですが
　電源がDCなのでノートPC向けのモバイルバッテリーで簡単に出来るはず。
　バッテリーが切れた時が危ないので電圧監視は必須ですね

### 太陽電池駆動
　20とか30Wクラスの太陽電池ならベランダに置けるくらいのサイズであるみたいだし、昼間は普通にいける気がします。
　DC-DCコンバータとかバッテリーの充放電管理とかでちょっと大掛かりになりますが。

##ESXi動作事例(NUC以外)
事例を探すには「製品名 ESXI」でググると良いです。基本はドライバ次第ってことですね。
あと、NICの問題についてはもう少しサイズの大きいPCだとPCIeにIntel Gigabit CTを挿すのが手っ取り早いし安心です。

###GIGABYTE BRIXでESXi
　Installing VMware ESXi 5.5 on the Gigabyte Brix
　http://www.twistedethics.com/2013/09/23/installing-vmware-esxi-5-5-on-the-gigabyte-brix/

###蟹のNICでESXi
　Install ESXi 5.5 with Realtek 8111/8168 NIC
　http://www.tinkertry.com/install-esxi-5-5-with-realtek-8111-or-8168-nic/
　最初、蟹チップはダメなんだと思ってましたがありました。
　
###Mac miniでESXi
　Running ESXi 5.5/5.5u1 on Apple Mac Mini + Thunderbolt Ethernet Adapter Caveat
　http://www.virtuallyghetto.com/2013/09/running-esxi-55-on-apple-mac-mini.html
　Thunderboltもいけるとは驚き。