ミニPCにESXi8をインストールしてパッチを当てる。
この記事はなんですか
自宅サーバの検証環境としてミニPCにESXi8を導入する際のメモとなります。
この作業のモチベーションはなんですか
自宅に仮想基盤があるとサーバ系の検証環境が仮想HWレベルでいつでも作って壊せる上、スナップショットで簡単に戻せるので心理的安全性を保ちながら検証やお遊びができます。
私の観測範囲では2025年2月現在のselfhosting界隈において脱vSpehre及びProxmoxが盛り上がっておりますが、私はESXi8のライセンスを所持しており、セキュリティパッチが継続して入手できることから、慣れた操作感等を捨ててまでProxmoxをメインに据えるメリットがないため、継続してESXiを利用していきたいと思います。 Proxmoxについては過去に何度か触った経験があるため、使用していないノートPC等に導入してみたメモのようなものを後日残せたら良いなと考えています。
準備
必要なもの
# | 品目 | 備考 |
---|---|---|
1 | PC | ESXi8を導入するPC(サーバ) |
2 | ESXi8のインストーラーisoイメージ | 本記事では8.0U2-22380479を利用する |
3 | ESXi8のプロダクトキー | プロダクトキーが無くてもインストールはできるが、認証しないと試用モードのため60日経つと基本機能が制限される≒使用できなくなる |
4 | ブータブルUSB作成用作業PC | 本記事ではWindowsを利用する |
5 | Rufus | ブータブルUSB作成用のソフトウェア |
6 | USBメモリ | データが消えても良いもの。ESXi8のisoイメージの容量が605MBだったので1GB以上あれば足りるはず |
(備考)今回ESXi8をインストールするミニPCのスペック
僕のような中学生向けのデザインだけどトップフロー型で通気性は良く、シロッコファンのように小径では無いので静音性能も実用的だと感じる。※AOOSTARから発売してるものはディスコン
項目 | スペック | 備考 |
---|---|---|
CPU | AMD Ryzen7 5700U 8C16T | https://www.amd.com/ja/support/downloads/drivers.html/processors/ryzen/ryzen-5000-series/amd-ryzen-7-5700u.html |
メモリ | シリコンパワー DDR4-3200 64GB(32x2枚) | ESXiインストールのこの手順の作成時はビルトインの32GBのメモリを使用。運用時は32GBでは少ないため増設。64GBではオーバースペックだが仕方なく散財 |
ストレージ | KIOXIA M.2 Type 2280 SSD 1TB EXCERIA NVMe PLUS SSD | ビルトインのSSDは別端末に使用中 |
LANポート | 2ポート Intel製NIC2.5G+Realtec製NIC1G | ノーカスタムのESXi8のインストーラでは対応しているNICが必須。1G側はESXi8をインストール後ドライバを追加で導入する必要がある。 |
ブータブルUSBの作成(必要なもの#4作業PCで作業)
- そもそもなぜこの作業が必要なのか
- ISOイメージから起動するには以下の工程が必要である。
- ①光学メディア(CDかDVD)に焼く
- ②①で焼いたイメージを挿入した光学ドライブをPC(サーバ)に接続し光学ドライブから起動する
- ISOイメージから起動するには以下の工程が必要である。
- しかし光学メディアに焼くのは時間がかかる上に、USBメモリと比べて読み込みが遅く、メディアや光学ドライブを用意するのも手間になることからUSBメモリで代替したいので、ISOイメージを起動できるUSBメモリ≒ブータブルUSBの作成を行う。
- Rufusのインストール
https://rufus.ie/ja/ - USBメモリ(必要なもの#5)にISOイメージを書き込む
- USBメモリを作業用PCに差し込む
- RufusでデバイスのプルダウンメニューからUSBメモリを指定後、ブートの種類-->[選択]からESXi8のインストーラISOイメージを指定する
- [スタート]をクリックしてUSBメモリが指定されていることを確認し[OK]をクリックする
- 待つ
- プログレスバーが進みきり、準備完了になったのを確認し、[閉じる]をクリックし、Rufusを終了する。※終了しました的なダイアログが表示された気がしたが...
- 作業用PCからUSBメモリを抜く。一応安全な取り外しをしておく。
- USBメモリを作業用PCに差し込む
ESXi8のインストール(必要なもの#1導入するミニPCで作業)
- ミニPC(導入対象のPC、サーバへ)へ作成したブータブルUSBを挿す
- USBメモリから起動する。このミニPCの場合起動時にDeleteキー長押しでブートメニューに入り、Save & Exitタブ-->Boot Override-->[ブータブルUSB](画像ではUEFI:TOSHIBA TransMemory 1.00,Partition 1)へカーソル移動してEnterキーで選択する。
- インストールメニューが出るまで待つ。
- Enterキーを押下してインストールを開始する
- F11キーを押下してEULAに同意する
- (デバイスのスキャンが開始される)
-
インストール先のストレージをカーソルで選択しEnterキーを押下する。この記事で使用するミニPCの構成では"NVMe KIOXIA-EXCERIA PLUS SSD...931.51GB"
-
インストール先ストレージのデータがすべて上書きされて消える警告が表示されるのでEnterキーを押下する。
-
キーボードレイアウトを選択する。この記事では日本語キーボードを使用しているため"Japanese"をカーソルで選択しEnternキーを押下する
-
パスワードを2回入力する※先ほどキーボードレイアウトを日本語に設定したが、黄色いログイン画面ではなぜかUS配列になる事象に過去遭遇したことがあるので@等をパスワードに含めるのは注意しておいたほうが良い。
-
再度インストールを進めるにあたりインストール先ストレージのデータがすべて上書きされて消える警告が表示されるのでEnterキーを押下する。
-
(インストールが始まる)
-
インストールに使用したブータブルUSBを抜去し、Enterキーを押下して再起動する
-
ネットワークの設定を行う(LANケーブルを挿せばデフォルトでDHCPが働くため、任意)
- F2設定画面を開く※以下の証跡では"Warning:DHCP lookup failed.~と表示されているが、誤って認識されていない1G側のLANポートにLANケーブルを挿しているためネットワークが認識されておらずIPアドレスが自動付与されていない。正しくルータ(DHCPサーバ)へ疎通が取れていればこのメッセージは表示されず、付与されたIPアドレスが表示される
- 設定したrootユーザのパスワードを入力する
- [Configure Mnagement Network]をカーソルで選択しEnterキーを押下する
- IPv4アドレスの設定を行う。[IPv4 Configuration]をカーソルで選択しEnterキーを押下後、[Set static IPv4 addresss and network config]をカーソルで選択しspaceキーを押下して"o"マークを付ける
- IPv4アドレス、サブネットマスク、デフォルトゲートウェイを入力後、Enterキーを押下する
- IPv6アドレスを無効化する[IPv6 Configuration]をカーソルで選択しEnterキーを押下後、[Disable IPv6(restart required)]をカーソルで選択しspaceキーを押下して"o"マークを付け、Enterキーを押下する
- DNSサーバとホスト名を設定する。[DNS Configuration]をカーソルで選択しEnterキーを押下する
- プライマリDNS、セカンダリDNS(任意)、ホスト名を入力後Enterキーを押下する
- Escキーを押下後、Yを押下して再起動を行う
- F2設定画面を開く※以下の証跡では"Warning:DHCP lookup failed.~と表示されているが、誤って認識されていない1G側のLANポートにLANケーブルを挿しているためネットワークが認識されておらずIPアドレスが自動付与されていない。正しくルータ(DHCPサーバ)へ疎通が取れていればこのメッセージは表示されず、付与されたIPアドレスが表示される
-
To manage this host,go to:以下に表示されたIPアドレスにLANが同じ≒疎通できる作業用PCのブラウザからアクセスする(※このミニPCの場合2.5G側のNICにLANを挿しておくこと)
-
(証明書エラーが出るので)[詳細設定]-->[(設定したIPアドレス)に進む (安全ではありません)]をクリックする。※chromium系ブラウザの場合
-
Webコンソールにログインする。初期ユーザはroot、パスワードは設定したパスワードを入力する
-
CEIPについて任意で選択し[OK]をクリックする
-
ライセンスを登録する。[ホスト]-->[管理]-->[ライセンス]-->[ライセンスの割り当て]-->(ライセンス入力)-->[ライセンスの確認]-->[ライセンスの割り当て]
-
(シャットダウンする)
- [ホスト]-->[アクション]-->[シャットダウン]--->[シャットダウン]
- [ホスト]-->[アクション]-->[シャットダウン]--->[シャットダウン]
セキュリティパッチのインストール
-
リリースノートを見るとESXi8はUpdate 3cが(2025-02-28時点で)最新のようです
https://techdocs.broadcom.com/jp/ja/vmware-cis/vsphere/vsphere/8-0/release-notes/esxi-update-and-patch-release-notes/vsphere-esxi-80u3c-release-notes.html -
Broadcomのポータルにログイン後VMware-ESXi-8.0Ux-xxxxxxx-depot.zipをダウンロードします。
- とてもわかりにくいですが、ここから
https://support.broadcom.com/web/ecx/solutiondetails?patchId=5632
- とてもわかりにくいですが、ここから
-
ESXi8が稼働しているサーバへ転送します。SCPでもできますが今回はブラウザからアップロードします。
- 構築時にデフォルトで作成されるdatastore1の直下に配置します。
- なんで直下なのかというとまだ資材を大量に配置しているわけではないので管理上問題ないのと、後段作業で入力するコマンドでは必ずファイルのフルパス指定が必要なため、コマンドが長くなるのがちょっと嫌だからです。
(WebUIにログイン後)[ストレージ]-->[datastore1]-->[データストア ブラウザ]-->[↑アップロード]をクリックしてさっきダウンロードしたzipファイルをアップロードします。
※ファイルアップロードの進捗は最近のタスクカラムに表示されます。
- なんで直下なのかというとまだ資材を大量に配置しているわけではないので管理上問題ないのと、後段作業で入力するコマンドでは必ずファイルのフルパス指定が必要なため、コマンドが長くなるのがちょっと嫌だからです。
- 構築時にデフォルトで作成されるdatastore1の直下に配置します。
-
メンテナンスモードに切り替え
- 仮想マシンが稼働している場合はすべてシャットダウンしてください※アップデートのコマンドを打つ前に
[ホスト]-->[アクション]-->[メンテナンスモードへの切り替え]をクリックする
[はい]
状態がメンテナンスモードになったことを確認する
- 仮想マシンが稼働している場合はすべてシャットダウンしてください※アップデートのコマンドを打つ前に
-
SSHの有効化
- sshでサーバへログインしてコマンドを入力する必要がありますがsshのサービス(デーモン)はデフォルトで無効になっているので一時的に有効(再起動するまで)にする必要があります。
[ホスト]-->[アクション]-->[サービス]-->[SSHの有効化]をクリックする。
- sshでサーバへログインしてコマンドを入力する必要がありますがsshのサービス(デーモン)はデフォルトで無効になっているので一時的に有効(再起動するまで)にする必要があります。
-
SSHでログイン
- 今回はTeratermを使用します。サービスはSSH、ポートは22(デフォルト)
- 初回接続時のセキュリティ警告は[続行(C)]で良いです。※接続先が合っていて初回時だとわかっているので。
-
ユーザはroot(※デフォルト)で、ここでキーボードインタラクティブ認証を選んでください。
-
パスワードを入力後、[OK]をクリックする。
-
パッチ(zip)のプロファイル確認。ディレクトリの/vmfs/volumes/datastore1/と~zipの~部分は読み替えてください。
esxcli software sources profile list -d /vmfs/volumes/datastore1/VMware-ESXi-8.0U3c-24414501-depot.zip
Name Vendor Acceptance Level Creation Time Modification Time
----------------------------- ------------ ---------------- ------------------- -----------------
ESXi-8.0U3c-24414501-no-tools VMware, Inc. PartnerSupported 2024-12-12T00:00:00 2024-12-12T00:00:00
ESXi-8.0U3c-24414501-standard VMware, Inc. PartnerSupported 2024-12-12T00:00:00 2024-12-12T00:00:00
- 現在のバージョン確認
esxcli software profile get
8.0U2b~standard
ESXi-8.0U2b-23305546-standard
Name: ESXi-8.0U2b-23305546-standard
Vendor: VMware, Inc.
- パッチ適用
- esxcli software profile update -d [配置したzipファイルの場所] -p [適合するプロファイル※バージョン確認の結果からstandardを選択]
esxcli software profile update -d /vmfs/volumes/datastore1/VMware-ESXi-8.0U3c-24414501-depot.zip -p ESXi-8.0U3c-24414501-standard
successfullyと表示されれば成功です。
Update Result
Message: The update completed successfully,
- 再起動
reboot
- バージョン確認後、メンテナンスモードの解除
- しばらく待った後、WebUIにログインします。
[ホスト]をクリックしてバージョンを確認後、[アクション]-->[メンテンスモードの終了]をクリックする。
- しばらく待った後、WebUIにログインします。
8.0 Update 3
状態が標準に戻り、メンテンスモードが解除されたことを確認する。
【だめでした】1GLANポートの有効化(ドライバ導入)
lspciした結果1G側のLANはRealtek製のRTL8111/8168/8211/8411
と表示されました。ESXi6系までならvidファイル追加で対応していたと思いますが、ESXi7、8では非対応です。
なんかそれっぽいのを見つけましたが型番が合わない...
家にこれ(2019モデル)が余ってたのでとりあえずNICを増設したい場合これを挿せばいいですね。
Discussion