hidemium's blog

日々学んだことをアウトプットする。

Homelabの2022年の更新について

Intel NUCでHomelabを構築していますが、2022年になり構成の見直しを行ってみました。

当初の構成

変更後の更新

更新のための検討事項について

静音の対応

自宅で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フラッシュメモリブートの非推奨化されました。

VMware Knowledge Base

USBフラッシュメモリでもインストール可能ですが、推奨構成に合わせるために、2.5インチのSSDを追加し、2.5インチのSSDにブート領域としてインストールします。 また、ブート領域がデフォルトで138GB消費されるため、検証環境のためサイズを節約するため、サイズを小さく指定します。

min(33 GB、1 台のディスクまたは組み込みのサーバ用)
small(69 GB、512 GB 以上の RAM を搭載したサーバ用)
default (138 GB)
max(使用可能なすべての容量を使用、マルチテラバイトのサーバ用)

ESXi のシステム ストレージの概要

ブートメディアからのスタートアップで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 i5Intel NUCについて

Intel Core i5プロセッサーを利用したIntel NUCも検討しましたが、ファンの音が大きいというレビューがあり、静音を優先して今回は見送りました。

更新後の構成について

更新後のスペックとして、このようになりました。ほぼ無音で快適な環境になりました。今後Tanzu Community Editionなどメモリが必要な検証が可能か試してみようと思います。

参考

自宅らぼ再入門 おうちクラウドのすすめ 20210922