MINISFORUM EliteMini HX90 に仮想化環境を構築する(カスタムインストーラーで構築成功編)
MINISFORUMへの仮想化環境構築の完結編です。
内容
MacでVMwareの公式のESXiのインストールISOファイルからインストールUSBを作成してMINISFORUMにインストールして失敗
インストールするならカスタムインストーラーを作る必要があるということでカスタムインストーラーについて情報を探した。
作成情報の収集
始めは「ISOの内容をコピーしたUSBメモリに対応するドライバファイルを置けばいいのかな?」と考えていた。 ネットでESXiのカスタムインストーラーの作成方法をみてみたところ下記のサイトが良くまとまっていたので読んでみた
サイトによるとVMwareのCLIツールであるPowerCLIを使う必要があるとのことで「えっ、PowerCLIって確かWindowsしか動かないんだよな?」と思い調べたところ、最近のPowerCLIはMacでもインストールできるようだったが肝心のインストーラー作成はWindows版でしか出来ないとのことで諦めてMacのParallelsにあるWindowsを立ち上げて作業することにした。
カスタムインストーラー作成前に
作業に入る前に予め、ESXiのインストールイメージ、コミュニティ版のNICドライバ・NVMeドライバ等をダウンロードしておく ESXiのインストールイメージはESXiのダウンロードする際にOfflineBundleという名前のzipファイルをダウンロード
コミュニティ版のドライバは下記のサイトに入ってESXiの項目をクリックするとESXiに関連したソフトの一覧が表示されるのでその中にある
- USB Network Native Driver for ESX
- Community NVMe Driver for ESXi
- Community Networking Driver for ESXi
を参考サイトを元にダウンロードした。
PowerCLIのインストール
PowerSchellのターミナルを管理者権限で起動し
下記コマンドでPowerCLIをインストールする
> Install-Module -Name VMware.PowerCLI
PowerCLIの動作する際のセキュリティ警告を無効にする、Set-ExecutionPolicyで質問されるので[Y]を入力
> Set-ExecutionPolicy RemoteSigned > Set-PowerCLIConfiguration -Scope User -ParticipateInCEIP $false
カスタムインストールの作成
インストーラーの作成手順は参考にしたサイトの手順に従って
1.インストールイメージを読み込む
> Add-EsxSoftwareDepot -DepotUrl .\VMware-ESXi-7.0U3c-19193900-depot.zip Depot Url --------- zip:C:\ESXi_custom\VMware-ESXi-7.0U3c-19193900-depot.zip?index.xml
2.イメージの確認一覧で表示されたイメージでstandard書かれたイメージを使う
> Get-EsxImageProfile Name Vendor Last Modified Acceptance Level ---- ------ ------------- ---------------- ESXi-7.0U3c-19193900-no-tools VMware, Inc. 2022/01/12 0... PartnerSupported ESXi-7.0U3c-19193900-standard VMware, Inc. 2022/01/18 0... PartnerSupported ←これを使う
3.使用するイメージを設定
> $ip = (Get-EsxImageProfile)[1]
4.USB NICドライバを登録
> Add-EsxSoftwareDepot -DepotUrl .\ESXi703-VMKUSB-NIC-FLING-51233328-component-18902399.zip Depot Url --------- zip:C:\ESXi_custom\ESXi703-VMKUSB-NIC-FLING-51233328-component-18902399.zip?index.xml
5.コミュニティ版ネットワークカードドライバを登録
> Add-EsxSoftwareDepot -DepotUrl .\Net-Community-Driver_1.2.2.0-1vmw.700.1.0.15843807_18835109.zip Depot Url --------- zip:C:\ESXi_custom\Net-Community-Driver_1.2.2.0-1vmw.700.1.0.15843807_18835109.zip?index.xml
6.コミュニティ版NVMeドライバを登録
> Add-EsxSoftwareDepot -DepotUrl .\nvme-community-driver_1.0.1.0-3vmw.700.1.0.15843807-component-18902434.zip Depot Url --------- zip:C:\ESXi_custom\nvme-community-driver_1.0.1.0-3vmw.700.1.0.15843807-component-18902434.zip?index.xml
7.ドライバが登録されたか確認
> Get-EsxSoftwarePackage | ft -AutoSize
ドライバ一覧が表示されるが下記があることを確認
- nvme-community
- net-community
- vmkusb-nic-fling
8.新しいイメージプロファイルを作成
> $ip2 = New-EsxImageProfile -CloneProfile $ip -Name MINISFORUM-HX90-7.0.u3c -Vendor kwmtlab -AcceptanceLevel CommunitySupported
9.ドライバをイメージプロファイルに登録
> Add-EsxSoftwarePackage -ImageProfile $ip2 -SoftwarePackage nvme-comunity,net-community, vmkusb-nic-fling \ Name Vendor Last Modified Acceptance Level ---- ------ ------------- ---------------- MINISFORUM-HX90-7.0.u2c kwmtlab 2022/02/06 1... CommunitySupported > Export-EsxImageProfile -ImageProfile $ip2 -FilePath .\MINISFORUM-HX90-7.0.u2c.zip -ExportToBundle
10.イメージプロファイルからISOイメージを作成
> Export-EsxImageProfile -ImageProfile $ip2 -FilePath .\MINISFORUM-HX90-7.0.u3c.iso -ExportToISO
しかしISOイメージの作成で下記エラーが表示されてしまい失敗してしまった。orz
Export-EsxImageProfile : Error retrieving file for VIB 'VMW_bootbank_vmkusb-nic-fling_1.8-3vmw.703.0.15.51233328': ("<z ipfile.ZipExtFile name='vib20/vmkusb-nic-fling/VMW_bootbank_vmkusb-nic-fling_1.8-3vmw.703.0.15.51233328.vib' mode='r' c ompress_type=deflate>", "Error opening file object for VIB 'VMW_bootbank_vmkusb-nic-fling_1.8-3vmw.703.0.15.51233328': Expected value '[]' for attribute 'swplatforms', but found value '[<vmware.esximage.Vib.SoftwarePlatform object at 0x00 00018313AF2208>]'."). 発生場所 行:1 文字:1 + Export-EsxImageProfile -ImageProfile $ip2 -FilePath .\MINISFORUM-HX90 ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:) [Export-EsxImageProfile], SoapException + FullyQualifiedErrorId : System.Web.Services.Protocols.SoapException,VMware.ImageBuilder.Commands.ExportProfile
一時頭を抱えたのだがメッセージを読んでみるとどうもUSB Network Native Driver for ESXでトラブルが出ていると思われたので登録を削除してみた
> Remove-EsxSoftwarePackage -ImageProfile $ip2 -SoftwarePackage vmkusb-nic-fling
そして再度ISOイメージを作成したところ成功
> Export-EsxImageProfile -ImageProfile $ip2 -FilePath .\MINISFORUM-HX90-7.0.u3c.iso -ExportToISO
インストールUSBメモリ作成
作成されたISOイメージをMacに持ってきてUSBメモリーにISOファイルの中身をコピーして前回と同じように
- コピーしたファイルの中からISOLINUX.CFGというファイルを探して名前をSYSLINUX.CFGという名前に変更
2.変更したSYSLINUX.CFGをエディタで開いて下記の部分を変更
APPEND -c boot.cfg ↓ APPEND -c boot.cfg -p 1
3.boot.cfgをエディタで開いて下記の内容を追加
kernelopt=runweasel cdromBoot systemMediaSize=min
4.USBメモリをアンマウント
こうして作成したUSBメモリをMINISFORUMに取り付けて起動、今度はデバイスが見つからないという警告も表示されずに無事インストールが終了、ブラウザからMINISFORUMにブラウザで接続して管理画面も表示されることも確認して一通りの作業は終了した。
インストール後の確認
一通りインストールが終わったのだが、ネットで情報を収集していた際にESXi7.0ではシステムストレージのレイアウトが変わった関係でシステムの入っているストレージに頻繁に書き込みが行われるようで、書き込み限界の少ないSSDの使用は推奨されないという情報があった。
これの対策としてはいくつか方法があるのだが、メインメモリ内にRAMディスクというストレージのように使用する領域を作成するというのが一番手間が掛からなそうだったため、SSHでMINISFORUMのESXiにログインし下記のコマンドで確認
# esxcli system settings advanced list -o /UserVars/ToolsRamdisk Path: /UserVars/ToolsRamdisk Type: integer Int Value: 1 Default Int Value: 1 Min Value: 0 Max Value: 1 String Value: Default String Value: Valid Characters: Description: Use VMware Tools repository from /tools ramdisk.
Int Valueが0の場合、1に設定し直して再起動する必要があったのだが1に設定されており、Default Int Valueも1となっていることからどうやらバージョンアップでここの部分は変更されたのではと思われる。
ということで、何とかESXiのインストールが終了し仮想化環境が使える状況となった。
色々やってみたいことはあるのだが、ひとまず前職でやっていたことのおさらいと、色々と試したい検証等もあるのでそれをやっていく予定である。
MacBook Proとの使い分けについてはMacBook Proでは一時的な検証環境、MINISFORUMで中期~本番環境に近い形の検証に使っていこうかと考えている。
色々あって時間が確保できるかが気になるのだが、何とか活用していこうと思う。