Intel NUC に ESXi 6.5 を入れる

新しいおもちゃ is Now Available

Intel の NUC を買いました。第 6 世代のうちの、NUC6i5SYH です。

製品の Web ページ を見るとそろそろ第 7 世代のものが買えるようになりそうな雰囲気がありますが、待つのが嫌なので買ってしまいました。

使い道は考えていませんが、そういうときはとりあえず ESXi を入れます。新しいものが好きなので、現時点で最新の ESXi 6.5 にしました。

注意

Intel NUC は VMware Compatibility Guide に乗っていないハードウェアです。何があって文句は言えません。

買ったメモリとストレージも、Intel がテストした構成の一覧には記載のないデバイスです。

買ったもの

列挙します。

SSD はデータストアとして占有させたかったので、ESXi のブート用には USB メモリを別に用意します。

全部で 9 万円くらいですね。いい時代です。

インストール

何も考えずに製品の公式の ISO イメージをそのままインストールすれば問題なしでした。

昔は非公式のドライバを自分で突っ込まないとうまくデバイスが認識されなくてダメだったようですが、最近は公式のそのままで大丈夫みたいですね。

セットアップ

インストール後、そのまま DCUI で IP アドレスやらホスト名やらを設定したら、vSphere Client で ESXi につないで必要な設定をします。

vSphere Client は、C# 版はもうないので、HTML5 版を使います。ESXi に組み込みで用意されていて、ブラウザで ESXi に設定した IP アドレスに接続するだけで使えます。快適です。

トラブルと対処

さて、ESXi のインストールは何の問題なく終了したものの、データストアのアクセスが異常に遅いというトラブルが発生しました。

ESXi 6.5 になって追加された新しいデフォルトの AHCI ドライバが、NUC の SATA コントローラをうまくハンドルできなかったみたいです。

以下のようにして明示的に vmw_ahci ドライバを無効化することで解決できました。

esxcli system module set -e=false -m=vmw_ahci

このトラブル、具体的には、以下のような症状です。

  • I/O のレイテンシが 1,000 ms 以上ある
    • パフォーマンスのグラフの [最大待ち時間] が異常な数値
  • イベントログに以下のようなエントリがある
    • 接続の問題により、ボリューム XXXXX へのアクセスが失われました。回復処理が進行中です。まもなく結果が報告されます。
    • 接続の問題が発生後、ボリューム XXXXX へのアクセスがリストアされました。
  • vmkernel.log に以下のようなエントリがある
    • WARNING: NMP: nmp_DeviceRequestFastDeviceProbe:XXXXX: NMP device “XXXXX” state in doubt; requested fast path state update…
    • Cmd(0xXX) 0xXX, CmdSN 0xXX from world XXXXX to dev “XXXXX” failed H:0x2 D:0x0 P:0x0 Invalid sense data: 0xXX 0xXX 0xXX
    • Aborting txn calleriD: 0xXX to slot XX:  File system timeout (Ok to retry)

このログ、SAN 構成なら目にすることはありますが、DAS のストレージでは通常は出ません。真っ先に SSD の初期不良を疑い、そして NUC の初期不良も疑いましたが、調べてみると同じ症状の事例が海外で複数報告されていました。解決策も載っています。

その他

今回は問題にはなりませんでしたが、ESXi 6.5 では USB メモリもトラブルが起きがちのようです。

これも AHCI のドライバと同様、デフォルトのものが置き換わったことが原因だとか。KB 化もされていました。

ドライバ周りはトラブルが起きるとハード障害との切り分けがしにくくて厄介ですね。

今後

とりあえず vSphere 6.5 の環境をざっと触ってみたいので、ひとまず vCSA を立てていろいろ様子をみて、あとは素直に小さな仮想化基盤としておもちゃにします。