ESXi on AMD版NUC 導入レポ


カレンダー２を作ったものの、スカスカじゃないか！ということで、急遽、 [おうちクラウド考察2021 with TCE(12/25公開予定)](https://qiita.com/hirosat/items/62b8ebeeca5ea02d1e80) のプレ企画の場所として使わせていただきます。

本日のテーマは、AMD Ryzenを搭載するMinisforum HM90というミニPCをおうちクラウドに導入してみたので、紹介します！TCEを動作させる環境として、参考になれば幸いです。

# NUCについての予備知識

## そもそもNUCって何？ 読み方は？

その答えは、[Intelのホームページ](https://www.intel.co.jp/content/www/jp/ja/products/details/nuc.html) にあります。
> インテル® NUC はフットプリントが小さく、省スペースなパソコンです。
> 
> Next Unit of Computing の略であるインテル® NUC (「ラック」や「トラック」と同じように発音) は、フルサイズ PC のパワーを手のひらサイズで実現しました。

要は小さくてパワフルなパソコンのことを指すようですが、厳密な定義はなさそうですね。また、読み方も **ナック** が正解のようです。

### どのくらい小さいの？
基本形は、4x4" (= 4 inch = 10.16 cm 四方) のマザーボードを搭載したもので、筐体サイズは、11.7 x 11.2 x 5.4 cm 位になります。NUC 9 Pro や NUC 11 Extreme 等のGPU搭載モデルは、もっと大きいです（[参考](https://williamlam.com/2021/07/esxi-on-intel-nuc-11-extreme-beast-canyon.html)）。

![](https://i0.wp.com/williamlam.com/wp-content/uploads/2021/07/esxi-intel-nuc-11-extreme-beast-canyon-5.jpg?ssl=1)

## Intel製のもの = NUC なの？

~~基本的には、その通りです。~~ [2012年11月にIntelがNUCと名付けて発売し、話題となりました。](https://ascii.jp/elem/000/000/760/760072/) 

>（2022年1月7日追記）
> [NUCと呼べるもの]
>
> - 基本的に『NUC』といえばIntelが出している小型PCで差し支えない。
> - NUC規格に準拠したサードパーティー製品やマザーボードもあり、これらはNUCを名乗ることがある ([例](https://www.asrockind.com/ja-jp/nuc  https://www.asrockind.com/ja-jp/faned-embedded-box-pc))
> - 同一のサイズであるが、Intelとの混同を避けるため、AMDを利用する場合はNUCの呼称を使わないケースもある(MinisforumのPCや、[ASRockのこれ](https://www.asrockind.com/ja-jp/4x4))
> 
> [NUCと呼べないもの]
>
> - NUC規格ではないが、サイズが近いMini-PCも各社から出ている (共通規格だとMini-STX, Thin Mini-ITX、その他GIGABYTE BRIXやECS LIVAなど独自規格)

ただし最近は、サードパーティー各社がNUCを意識したサイズのPCを出していて、Intel製CPUのみならず、AMD Ryzenが搭載されたモデルもラインナップされてたりします。（使い分けとして、これらは単に **ミニPC** と呼ぶ会社が多いですが、NUCと呼んでも通じます。）

[参考]

- [William Lamのブログ](https://williamlam.com/2020/08/other-intel-and-amd-small-form-factor-sff-systems-for-vsphere-homelabs.html)
- サードパーティーのサイト例
  - [ASRock](https://www.asrockind.com/ja-jp/faned-embedded-box-pc)
  - [ASUS](https://www.asus.com/jp/Displays-Desktops/Mini-PCs/PN-PB-series/filter?Series=PN-PB-series)
  - [GIGABYTE](https://www.gigabyte.com/jp/Mini-PcBarebone)

## 初心者にオススメなのはどれ？
圧倒的に、Intel NUCです。何故なら、[William Lam氏のブログ](https://williamlam.com/home-lab) を始め、Intel NUC向けの情報が圧倒的に多いからです。困った時はググれば、何かしら情報が出てきます。

# Minisforum HM90
上記のような背景ですが、そもそも私はNUCにそんなに不満を感じてなかったため、これまで Intel NUC のみで進めてきました。が、11月某日、[TUNA-JP Slack](https://tuna-jp.tech/) の #sig-ouchi-clooud チャンネルに、1通の情報が舞い込んできました。

![Screen Shot 2021-12-22 at 20 29 18](https://user-images.githubusercontent.com/3906298/147321459-7e628b64-b546-4670-8372-e6446122e8e3.png)

さらに、上記の新モデルである、[Minisforum EliteMini HM90](https://store.minisforum.jp/products/minisforum-elitemini-hm90?aff=83) がセール中 のため、価格・スペック、共に申し分ない！これをみて、**そろそろRyzenに手を出してみるか！** となりましたｗ ここからは、下調べタイム！

> ※. [お願い] 上記のURL末尾の `?aff=83` は、私のアフィリンクです。記事が参考になったと思った方は、ご購入の際、`?aff=83` がついた状態でカートに入れていただけると嬉しいです！（購入時の価格には影響ありません）


## AMD Ryzen って、ESXi で動くの？
[Compatibility Guide](https://www.vmware.com/resources/compatibility/search.php?deviceCategory=cpu) を見る限り、Ryzen の文字は見当たらないので分からない。。

ただし、[William Lamのブログ](https://williamlam.com/2020/12/asrock-amd-nuc-gen-2-platform.html) で類似の製品の情報を読むと、CPUの認識に問題となってはいなさそう。代わりに、以下の2点が懸念ポイントとなる。

- Memoryは64GB認識するか？ (32GBまでしか認識できないモデルもあったらしい)
- 1GbEと2.5GbEのNICは動作するか？ (この記事では、どちらも動作しなくて、USB NICを使うしかなかったらしい)
  - どうも、AMDベースのキットでは、RealtekのNICが使われがちで、ESXi6.7までは [Net55-r8168](https://vibsdepot.v-front.de/wiki/index.php/Net55-r8168) というコミュニティドライバを使って認識できたようだが、ESXi7では難しいらしい。。

## Ryzen 入ってると嬉しいの？
まず一番期待できるところとして、今回購入する [Ryzen 9 4900H](https://www.amd.com/ja/products/apu/amd-ryzen-9-4900h) は、はコア/スレッド数が、**8core/16thread** であるところです。（Intel NUCの場合、大半のモデルが **4core/8thread** ）

さらに、ESXiの場合、基本クロックが重要なのですが、このモデルは **3.3GHz** なので、高負荷な処理にも耐えられそう！（参考までに、私がメインで所持する [NUC10i5FNH](https://www.intel.co.jp/content/www/jp/ja/products/sku/189239/intel-nuc-10-performance-kit-nuc10i5fnh/specifications.html) は、**1.6GHz** ）

なお、Ryzenのラインナップとスペックの一覧は、[このサイト](https://pcrecommend.com/cpu/ryzen/) が分かりやすかった。

## どのMinisforumが良さげ？
まず、MinisforumのAMD Ryzenのラインナップが、[コチラ](https://store.minisforum.jp/collections/amd-ryzen?aff=83) となります。

この中で、せっかくRyzenなので、8core/16threadのモデルが良いでしょう。さらにパーツは自分で別途調達した方が割安なので、現在ベアボーンキットで売っている条件を満たすのは、X500, HM90, HX90 の3機種に絞られます。

製品名 | 価格※ | サイズ | CPU情報 | その他
---------|----------|---------|---------|---------
 [HX90](https://store.minisforum.jp/collections/amd-ryzen/products/minisforum-elitemini-hx90?aff=83) | 72,690円 | 195 × 190 × 60 mm | Ryzen9 5900HX (TDP45W/Base3.3GHz/最大4.6GHz) | SSD数3, NIC:2.5GbE 
 [HM90](https://store.minisforum.jp/collections/amd-ryzen/products/minisforum-elitemini-hm90?aff=83) | 55,590円 | 149.6 × 149.6 × 55.5 mm | Ryzen9 4900H (TDP35W/Base3.3GHz/最大4.4GHz) | SSD数3, NIC:1GbE&2.5GbE
 [X500](https://store.minisforum.jp/collections/amd-ryzen/products/minisforum-elitemini-x500?variant=41866016948390?aff=83) | 76,980円 | 154 × 153 × 62 mm | Ryzen7 5700G (TDP65W/Base3.8GHz/最大4.6GHz) | SSD数3, NIC: 1GbE x2

> ※. 価格は、12/25調査時点でセール価格の情報なので、ご注意下さい。

上記を見る限り、やはりHM90がコスパが良いようですが、より強力なCPUを目指したり、縦置きタイプが気になるなら、HX90といったところでしょうか。

# HM90 届いたよ！
なお、11月27日に注文時、`出荷予定：12月上旬` となっていたのですが、12月8日になっても音沙汰がなく、問い合わせると、「まだまだかかりそう」という回答を貰った。この記事のために交渉して、台湾からFedexで発送され、結果12月21日に届いたので、本当はもっとかかったはず。。まぁこのご時世、半導体不足ですからね。。。

（なお現在は、`出荷予定：2月末` となっている。受注生産のようで、先に注文するほど早く届く仕組みなので、気になる方はお早めに！）

- [Minisforum EliteMini HM90](https://store.minisforum.jp/products/minisforum-elitemini-hm90?aff=83)

<img src="https://user-images.githubusercontent.com/3906298/147075788-dccdb02d-1845-4b8a-904e-317b7f2d5b18.jpg" width="50%">


## 開封の儀
この瞬間がワクワクしますよね・・・！梱包はしっかりしていた。箱はかなり大きい。 (となりに置いたのは、iPad 11 inch)

<p>
<img src="https://user-images.githubusercontent.com/3906298/147075806-0a92b198-a69a-4d5c-a3a2-d632c7a32675.jpg" width="45%">
<img src="https://user-images.githubusercontent.com/3906298/147075810-f133c15b-ff05-401d-93e7-e406871a09cc.jpg" width="45%">
</p>

開けてみると、本体は想定していたサイズ。同梱物は、電源、モニタ用マウンタ、SSD用コネクタと固定用器具、ネジ類、説明書、といった感じ。電源が、、かなり大きいなぁ。。。

<p>
<img src="https://user-images.githubusercontent.com/3906298/147075813-702221a7-55f9-4a71-8539-c4252e12c4f1.jpg" width="45%">
<img src="https://user-images.githubusercontent.com/3906298/147075815-361185fa-1f80-4596-84e9-1a9d3e286d9f.jpg" width="45%">
</p>

今までのNUCとの比較画像。やはり、一回り大きいですね。でも、質感が高くて気に入りました！

<p>
<img src="https://user-images.githubusercontent.com/3906298/147075818-84948787-0373-44bd-bbf9-a89abc0609ae.jpg" width="45%">
<img src="https://user-images.githubusercontent.com/3906298/147075819-13f95cc4-3274-4859-b787-ca83f28a6b5d.jpg" width="45%">
</p>

## インターフェイス
前面は左から、電源ボタン、マイク、イヤホンジャック、2×USB3.1 (Gen2)、USB-C 3.0。NUC10よりも前面のラインナップは良さげ。

側面は両サイドとも、放熱スリットのみしかありません。

<p>
<img src="https://user-images.githubusercontent.com/3906298/147075870-d6ee9e07-9448-4dfb-b273-138721a1365f.jpg" width="45%">
<img src="https://user-images.githubusercontent.com/3906298/147075872-dd8f121f-a468-440b-b1bb-67b13ad66c53.jpg" width="45%">
</p>

背面は左から、4×USB3.0、2.5Gbps LAN、1Gbps LAN、Display Port(上)、HDMI 2.0（下）、盗難防止ロック（上）、そして、電源(Tyep-C)です。NUC10と違ってThunderbolt3がないのが、残念。。USBもどれかは3.1であって欲しかった。

<img src="https://user-images.githubusercontent.com/3906298/147075876-40564843-25af-4b75-9756-db2da4b3bb5f.jpg" width="60%">


## 他に購入したパーツ
実は、Amazon Black Fridayの時に事前に購入しておいた。こういうECサイトのイベントを大いに活用することで、より安価に組むことができます。

<p>
<img src="https://user-images.githubusercontent.com/3906298/147075826-990523b8-d469-4e62-9673-62402c31959d.jpg" width="45%">
<img src="https://user-images.githubusercontent.com/3906298/147075828-eec0934a-5bca-4a89-aaaf-b7aed20d8e85.jpg" width="45%">
</p>

各パーツのリンクを貼っておきます。（価格はセール時のものなので、ご参考まで）

- [Minisforum EliteMini HM90 (Ryzen9 4900H)](https://store.minisforum.jp/products/minisforum-elitemini-hm90?aff=83)　：55,590円
- [Team SO-DIMM DDR4 2666MHz (32GB×2枚)](https://www.amazon.co.jp/gp/product/B0861W2NC6/ref=ppx_yo_dt_b_asin_title_o08_s01?ie=UTF8&psc=1)　：28,800円
- [Crucial CT1000MX500SSD1JP (1TB)](https://www.amazon.co.jp/gp/product/B07KCKG77L/ref=ppx_yo_dt_b_asin_title_o08_s02?ie=UTF8&psc=1)　：9,300円
- [Crucial CT480BX500SSD1JP (480GB)](https://www.amazon.co.jp/gp/product/B07JGNRYVH/ref=ppx_yo_dt_b_asin_title_o08_s00?ie=UTF8&psc=1)　：5,309円
- [Crucial NVMe M.2 SSD CT1000P2SSD8 (1TB)](https://www.amazon.co.jp/Crucial-%E3%82%AF%E3%83%AB%E3%83%BC%E3%82%B7%E3%83%A3%E3%83%AB-P2%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-1000GB-CT1000P2SSD8%E3%80%905%E5%B9%B4%E4%BF%9D%E8%A8%BC%E3%80%91/dp/B08QZFXY1X/ref=sr_1_1?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&keywords=CT1000P2SSD8JP&qid=1640176726&sr=8-1)　：9,880円

合計：108,879円　（※vSANやらない人であれば、NVMe1枚だけ買えば、9万円ちょいでいける）


# 組み立ての様子
まず、底の蓋のネジを外して開けた状態。画像の左側がNVMeスロットで、右側がメモリスロット。
![PXL_20211221_141508323](https://user-images.githubusercontent.com/3906298/147075829-2ae4576c-58e5-4d7f-9e9d-94878a3a9270.jpg)

メモリは画像のように一度ナナメにしっかり挿した後、真下に押すことでカチッとハマる。最後の画像は、2枚とも換装した状態。

<p>
<img src="https://user-images.githubusercontent.com/3906298/147075832-d7ead76a-5763-467f-a0bd-51657130754b.jpg" width="45%">
<img src="https://user-images.githubusercontent.com/3906298/147075834-8013abf2-1f7e-4570-8097-bbfa8134cd5c.jpg" width="45%">
<img src="https://user-images.githubusercontent.com/3906298/147075843-d72871e9-f919-480d-b1c1-d2b3c47ba205.jpg" width="45%">
</p>

NVMeは、一度固定ネジを外した（1枚目）後、メモリ同様ナナメに挿し（2枚目）、NVMeの端っこの切り欠きをネジで抑えながら留める（3枚目）。（4枚目）は、どちらも装着した状態。

<p>
<img src="https://user-images.githubusercontent.com/3906298/147075846-72f585da-c792-4836-a16c-cffad2c29679.jpg" width="45%">
<img src="https://user-images.githubusercontent.com/3906298/147075847-969181b1-2854-4274-a994-2dd3262e5305.jpg" width="45%">
<img src="https://user-images.githubusercontent.com/3906298/147075848-e65151be-9948-4222-acb8-b199d2456650.jpg" width="45%">
<img src="https://user-images.githubusercontent.com/3906298/147075851-e708bf38-ec5e-4b38-9cfc-f88d372a4573.jpg" width="45%">
</p>

お次は、SSDの換装。この小さな線がSATAコネクタになっている（1枚目）ので、まずはこれをSSDに取り付ける。次に、フタの裏に、ちょうど2.5 inch SSDが2個設置できるスペースがあるので、敷き詰める（2枚目）。その後、SSDを固定するための付属品を使い、固定（3枚目）。

<p>
<img src="https://user-images.githubusercontent.com/3906298/147075854-e026a42d-cd0e-4cdb-a0d2-5f854473f656.jpg" width="45%">
<img src="https://user-images.githubusercontent.com/3906298/147075858-e2c8a51c-8c95-446a-91be-83295538832d.jpg" width="45%">
<img src="https://user-images.githubusercontent.com/3906298/147075862-417c2e26-4626-403f-be0c-15cb51f4caae.jpg" width="45%">
</p>

最後に、SSDコネクタを基盤に取り付け。金色の端子同士が触れるよう、向きに注意し、コネクタを2個とも挿す。後はフタを閉め、ネジ止めをすれば完成です！

<p>
<img src="https://user-images.githubusercontent.com/3906298/147075864-03483f53-fa11-4e01-ba02-b9959596f244.jpg" width="45%">
<img src="https://user-images.githubusercontent.com/3906298/147075865-072c6bbe-8b22-4524-8977-9e7d2000aacd.jpg" width="45%">
</p>

# BIOSの確認
キーボード等のコネクタ類を繋げて、電源ON！`minisforum` のロゴが現れた時に、すかさず `Del` キーを押すと、BIOS画面に入ることが出来ます。ESXiを入れる前に、BIOSを見てみましょう。

まずメイン画面を見ると、メモリが65536MB(64GB)で見えていることが、確認できました。

![PXL_20211221_162647183](https://user-images.githubusercontent.com/3906298/147075884-21744574-4b5c-400d-ac71-3724472ad0f6.jpg)

次に、Advancedのメニューの中から、CPU情報を確認することができます。`8 Core(s) Running @ 3347 Hzu` 素晴らしい・・！

![PXL_20211221_162845634](https://user-images.githubusercontent.com/3906298/147075885-bb74aba0-fd55-4f57-91e2-fff33dc525ff.jpg)

続いて NIC は、[I225-V](https://ark.intel.com/content/www/jp/ja/ark/products/184676/intel-ethernet-controller-i225v.html) でした！ 冒頭でMinisforumを教えてくれた [mirieさんのブログ](https://vhoge.hateblo.jp/entry/2021/08/11/001414) から、HM80 では I225-V が採用されている情報は得ていたが、HM90 でも果たして同じかどうか不安だったので、一安心。ただ、もう一つの1GbEの情報が、BIOSからだと見当たらないな。。。

![PXL_20211221_163321236_2](https://user-images.githubusercontent.com/3906298/147075886-427467d5-912a-4bfd-83d7-40202da4ac77.jpg)

# ESXiセットアップ

まぁ一旦何も考えず、USBインストールメディアでセットアップできるか見てみましょう。そうすると、「Network Adoptersが見つからないよ」と怒られて、先に進むことができませんｗ

<p>
<img src="https://user-images.githubusercontent.com/3906298/147075880-006c08bf-14c7-43e3-b31c-e4eba7ccf70c.jpg" width="45%">
<img src="https://user-images.githubusercontent.com/3906298/147075883-22e5b2a8-3ddf-45d2-b414-e059b836600d.jpg" width="45%">
</p>

何故かというと、ESXiの標準インストーラでは、今回のNIC(I225-V と Realtekの1GbE) に対応してないからです。幸運なことに、[Community Networking Driver for ESXi](https://flings.vmware.com/community-networking-driver-for-esxi#requirements) がI225-V に対応しているため、このドライバを組み込んであげましょう！

組み込むためには、[PowerCLI](https://developer.vmware.com/web/tool/vmware-powercli) の [ImageBuilder](https://docs.vmware.com/jp/VMware-vSphere/6.5/com.vmware.vsphere.install.doc/GUID-66EFF17E-B6C3-44F1-8290-D1E46576DDD7.html) という機能を用いることで、**ESXi のカスタムインストーラ** を作成することができます。

が、ここでもう一つ問題がありました。私の普段使っている **Macbook Pro** では、PowerShell Core も入るし、PowerCLI も入れることができましたが、このPowerShell Coreでは、**ImageBuilderに非対応**のようでした。。。つまり、**Windows 必須** ということです。

```
PS /Users/hirotakas/Downloads/esxi> Add-EsxSoftwareDepot -DepotUrl ./VMware-ESXi-7.0U2a-17867351-depot.zip
Add-EsxSoftwareDepot: The 'Add-EsxSoftwareDepot' command was found in the module 'VMware.ImageBuilder', but the module could not be loaded. For more information, run 'Import-Module VMware.ImageBuilder'.

PS /Users/hirotakas/Downloads/esxi> Import-Module VMware.ImageBuilder
Exception: The VMware.ImageBuilder module is not currently supported on the Core edition of PowerShell.
```

しょうがないので、かなり長期間眠っていたWindowsを引っ張り出してきて、カスタムインストーラを作りました。まずは、管理者権限でPowerShellを立ち上げ、

<img src="https://user-images.githubusercontent.com/3906298/147075889-b6d7769b-3ca8-49ae-be03-89b3fc9a1fa9.jpg" width="80%">

以下のコマンドを叩くと、PowerShellにPowerCLIがインストールされます。
```
Install-Module -Name VMware.PowerCLI
```
この後のカスタムインストーラの作り方は、ちょうどタイムリーに yukikawamitsu さんがおうちクラウド連載用に、[カスタムインストーラの作り方](https://github.com/tanzu-japan/ouchi-cloud/blob/main/vol3/02_esxi_custom_installer.md)を解説してくれているので、その通りに作ればOKです！


再びインストールにトライ・・・、よしよし、先に進めて、インストールできました！

<p>
<img src="https://user-images.githubusercontent.com/3906298/147075893-3833460b-b46c-4459-89b6-c5bd409964f2.jpg" width="45%">
<img src="https://user-images.githubusercontent.com/3906298/147075900-3d18d76f-6744-4e53-8195-e0493b219787.jpg" width="45%">
</p>

# ESXiコンソールの確認
まずはデバイスの確認。よし、3つのストレージが全て認識できている！

![Screen Shot 2021-12-22 at 16 46 56](https://user-images.githubusercontent.com/3906298/147362457-be97308c-a0ad-4d1e-a6fe-7d8f703b3ec6.png)

ネットワークも、ちゃんと先ほどのNICが見えていますね。

![Screen Shot 2021-12-22 at 16 47 37](https://user-images.githubusercontent.com/3906298/147362460-a0215a28-14df-49d1-b155-82269e770441.png)

なお、sshでログインして、下記のコマンドを打つと、詳細が分かります。2500BaseTなので、見えているのが2.5GbEの方であることが分かりますね。

```
[root@esxi16:~] esxcli network nic get -n vmnic0
   Advertised Auto Negotiation: true
   Advertised Link Modes: Auto, 10BaseT/Full, 10BaseT/Half, 100BaseT/Full, 100BaseT/Half, 1000BaseT/Full, 2500BaseT/Full
(以下、省略)
```

そしてお待ちかね、CPU情報は・・・、8 CPUs / 26.4 GHz として見えました！！！この 8CPUs とはCore数に該当します。（つまり、16Thread分までVMを作れます。）

メモリもちゃんと、64GBとして見えてますね。

![Screen Shot 2021-12-22 at 16 41 25](https://user-images.githubusercontent.com/3906298/147362453-6358e8c9-0250-41c0-84fa-74a36a9d53e4.png)

（参考：左がNUC10i5FNH、右がNUC10i7FNH）

<p>
<img src="https://user-images.githubusercontent.com/3906298/147362451-aa406311-7971-4e38-aab8-f3e8e73c0b8c.png" width="45%">
<img src="https://user-images.githubusercontent.com/3906298/147362455-1e884147-fe25-4d43-94a7-279d0d52ef2c.png" width="50%">
</p>

表にまとめると、こんな感じ。圧倒的ですね！Core i5モデルの約3倍の処理能力が手に入ったことに・・・！

製品名 | CPU型番 | Core/Thread数 | 総CPU容量 | Baseクロック / Core
---------|----------|---------|---------|---------
Minisforum HM90 | AMD Ryzen 9 4900H | 8/16 | 26.4 GHz | 3.3 GHz
NUC10i7FNH | Intel Core i7-10710U | 6/12 | 9.6 GHz | 1.6 GHz
NUC10i5FNH | Intel Core i5-10210U | 4/8 | 8.4 GHz | 2.1 GHz

# まとめ
まずはちゃんと動いたということで、良かったです・・ｗ　でも、せっかく2NICなモデルなので、1GbEの方が現時点で使えないのが少々残念なところ。USB NICで補うしかないですね。

今後は、vSANに組み込んだりNSXに組み込んでみて、様子を見てみます！