Intel NUCでHomelabを構築していますが、2022年になり構成の見直しを行ってみました。
当初の構成
- Intel NUC NUC7i3BNH x 2
- Synology DS416slim
- Cisco Catalyst 2960L-8TS-LL
- EdgeRouter X
- 無線Wifiルーター(検証環境にアクセスするため)
変更後の更新
- Intel NUC NUC7i3BNH x 2
- Crucial ノートPC用メモリ PC4-25600(DDR4-3200) 32GB x 1
- Crucial ノートPC用メモリ PC4-19200(DDR4-2400) 16GB x 1
- Western Digital SSD WD Blue NVMe M.2 PCIe Gen3×4 1TB x 1
- Western Digital SSD WD Blue SATA 2.5インチ 500GB x 1 (ブート領域)
- StarTech.com USB 3.0 - ギガビットイーサネットLANアダプタ x 1
- Synology DS416slim →廃止予定
- Cisco Catalyst 2960L-8TS-LL
- EdgeRouter X
- 無線Wifiルーター
更新のための検討事項について
静音の対応
自宅でHomelabを構築していると、どうしてもファンの音について考慮する必要がでてきます。Synology DS416slimは、コンパクトな大きさでファンの音がそこまで大きくはないのですが、静かな時間帯になるとどうしても音が気になってしまいます。そのため、NASを配置しないという構成ができないか検討しました。
NASの代わりに、ESXiの内蔵ディスクを増強し、内蔵ディスクに仮想マシンを展開する方針としました。また、NVMeであれば、シーケンシャルの読み取りが3500MB/s、シーケンシャルの書き込みが3000MB/s程度あるため、性能としてはNASと比較するとかなり良くなります。ただし、可用性は下がるので、可用性が下がることを許容した構成となります。
また、内蔵ディスクとしてもともとは256GBのNVMeを利用していましたが、容量が不足するため、1TBのNVMeに変更しました。
共有ストレージを利用しない構成
vMotionについても、共有ストレージを利用しないshared nothing vMotionが利用できため、利用上問題はないと考えました。 また、共有ストレージを利用せず、検証環境であるためDRSは無効とします。vSphere7.0u1からvCLS(vSphere Cluster Services)が実装されたため、vCLSのVMが自動的に展開されるため、vCLSも無効にします。
vCLSを無効にするためには、vCenter Server の詳細設定に以下の設定を追加します。
- 名前: config.vcls.clusters.domain-c8(対象環境のクラスタのオブジェクト名).enabled
- 値: false
ESXi 7.0のブート領域の変更
ESXi 7.0からは、USBフラッシュメモリブートの非推奨化されました。
USBフラッシュメモリでもインストール可能ですが、推奨構成に合わせるために、2.5インチのSSDを追加し、2.5インチのSSDにブート領域としてインストールします。 また、ブート領域がデフォルトで138GB消費されるため、検証環境のためサイズを節約するため、サイズを小さく指定します。
min(33 GB、1 台のディスクまたは組み込みのサーバ用) small(69 GB、512 GB 以上の RAM を搭載したサーバ用) default (138 GB) max(使用可能なすべての容量を使用、マルチテラバイトのサーバ用)
ブートメディアからのスタートアップでShift+Oを押し、オプションを指定します。Shift+Oの入力は素早くする必要があるので、電源を入れてから連打しておくとよいかと思います。
ブートオプションに systemMediaSize=small
を追加します。
runweasel cdromBoot systemMediaSize=small
ESXi 7.0のカスタムインストーラの作成
ESXi 7.0のブート領域の変更するため、新しくカスタムインストーラを用意します。カスタムインストーラはPowerCLIを利用することで作成することができます。
PowerCLIをインストールします。
ESXiのバイナリとUSB Network Native Driver for ESXiのバイナリを作業フォルダに配置します。(今回はESXi 7.0U2のイメージを利用しました。)
バイナリを追加します。
Add-EsxSoftwaredepot -DepotUrl .\VMware-ESXi-7.0U2e-19290878-depot.zip Add-EsxSoftwaredepot -DepotUrl .\ESXi702-VMKUSB-NIC-FLING-47140841-component-18150468.zip
パッケージを確認します。
Get-EsxSoftwarePackage |ft -AutoSize
イメージプロファイルを定義します。
$ip = (Get-EsxImageprofile)[0] New-EsxImageprofile -CloneProfile $ip -Vendor homelab -Name Intel-NUC-7.0U2e -AcceptanceLevel CommunitySupported
USB Network Native Driverのパッケージを追加します。
Add-EsxSoftwarePackage -ImageProfile Intel-NUC-7.0U2e -SoftwarePackage vmkusb-nic-fling
カスタムインストーラをzipファイルとisoファイルとしてエクスポートします。
Export-EsxImageprofile -Imageprofile Intel-NUC-7.0U2e -FilePath .\Intel-NUC-7.0U2e.zip -ExportToBundle Export-EsxImageprofile -Imageprofile Intel-NUC-7.0U2e -FilePath .\Intel-NUC-7.0U2e.iso -ExportToIso
UNetbootinを起動し、ディスクイメージにチェックを入れ、ISOを選択し、Intel-NUC-7.0U2e.isoを選択することで、USBドライブにブートイメージを作成します。 USBドライブをIntel NUCに接続し、電源をオンすることでESXiのインストーラーが起動します。
Western DigitalのNVMe SSD WDS100T3B0C-ECはCommunity NVMe Driver for ESXiをインストールせずに動作することが確認ができました。
メモリの増強について
NUC7i3BNHの最大メモリサイズは32GBですが、32GBサポートのIntel NUCで64GBのメモリまで認識することが以下の記事に上がっており、今回32GBのメモリが認識するか試してみました。16GBのメモリを32GBのメモリに入れ替え、全体で32GBから48GBになることが確認できました。
64GB memory on the Intel NUCs?
Intel Core i5のIntel NUCについて
Intel Core i5プロセッサーを利用したIntel NUCも検討しましたが、ファンの音が大きいというレビューがあり、静音を優先して今回は見送りました。
更新後の構成について
更新後のスペックとして、このようになりました。ほぼ無音で快適な環境になりました。今後Tanzu Community Editionなどメモリが必要な検証が可能か試してみようと思います。