TerraにESXiをインストールにあたって以下のサイトを参考にMacでカスタムイメージを作成した。
Powershellが必要なので普通はWindowsで作成するが、この手順ではMacでも作成できた。
参考にしたサイト:
はじめよう、おうちクラウド 第3回
PowerCLI13 で VMware.ImageBuilder がマルチプラットフォーム対応にしたので試してみる
事前準備
Mac(MBP2018, macOS Venture 13.5)に以下のソフトウェアをインストールする。
以降の操作はMacのterminalで実行する。
- PowerShell
- python 3.7
- パッケージ(six, psutil, lxml, pyopenssl)
まずbrewでPowerShellをインストールする。
$ brew install --cask powershell
続いて、Python 3.7をインストールする。
$ brew install python@3.7
最後にpipでパッケージをインストールする。
$ python3.7 -m pip install six psutil lxml pyopenssl
インストールしたパッケージのバージョン。
$ python3.7 -m pip list
Package Version
------------ -------
six 1.16.0
psutil 5.9.5
lxml 4.9.2
pyOpenSSL 23.2.0
ESXiのdepotファイルと、VMware Flingsからコミュニティドライバをダウンロードしておく。
ここではすべて/tmp/VMware/
フォルダに保存しておく。
あとの作業でzipファイルはフルパスで指定する必要があるので、短いパスの方が入力が楽になる。
- ESXi depotファイル
- VMware-ESXi-8.0U1-21495797-depot.zip
- NIC
- Net-Community-Driver_1.2.7.0-1vmw.700.1.0.15843807_19480755.zip
- NVMe
- nvme-community-driver_1.0.1.0-3vmw.700.1.0.15843807-component-18902434.zip
deprecatedだけど、試しで追加した。
- nvme-community-driver_1.0.1.0-3vmw.700.1.0.15843807-component-18902434.zip
ESXiイメージの作成
PowerShellの立ち上げ
pwsh
コマンドでPowerShellに入る。
$ pwsh
PowerShell 7.3.4
PS /private/tmp/VMware>
作業用の/tmp/VMware
フォルダに移動する。
PS /private/tmp/VMware> cd /tmp/VMware/
ファイルの追加
Add-EsxSoftwareDepot
コマンドでESXiのdepotファイルを追加する。
ちなみにzipファイルはフルパスで指定する必要がある。相対パスだとエラーになる。
PS /tmp/VMware> Add-EsxSoftwareDepot /tmp/VMware/VMware-ESXi-8.0U1-21495797-depot.zip
Depot Url
---------
zip:/tmp/VMware/VMware-ESXi-8.0U1-21495797-depot.zip?index.xml
PS /tmp/VMware>
Add-EsxSoftwareDepot
コマンドで、NVMeのコミュニティドライバファイルを追加する。
PS /tmp/VMware> Add-EsxSoftwareDepot /tmp/VMware/nvme-community-driver_1.0.1.0-3vmw.700.1.0.15843807-component-18902434.zip
Depot Url
---------
zip:/tmp/VMware/nvme-community-driver_1.0.1.0-3vmw.700.1.0.15843807-component-18902434.zip?index.xml
PS /tmp/VMware>
同じ手順で、NICのコミュニティドライバファイルを追加する。
PS /tmp/VMware> Add-EsxSoftwareDepot /tmp/VMware/Net-Community-Driver_1.2.7.0-1vmw.700.1.0.15843807_19480755.zip
Depot Url
---------
zip:/tmp/VMware/Net-Community-Driver_1.2.7.0-1vmw.700.1.0.15843807_19480755.zip?index.xml
PS /tmp/VMware>
カスタムイメージの作成
Get-EsxImageProfile
コマンドで、ESXiのプロファイルを表示する。
PS /tmp/VMware> Get-EsxImageProfile
Name Vendor Last Modified Acceptance Level
---- ------ ------------- ----------------
ESXi-8.0U1-21495797-no-tools VMware, Inc. 2023/03/25 2:0… PartnerSupported
ESXi-8.0U1-21495797-standard VMware, Inc. 2023/04/18 0:0… PartnerSupported
PS /tmp/VMware>
今回は、ESXi-8.0U1-21495797-standard
をベースにカスタムイメージを作成する。
操作を簡単にするため変数を使用する。
変数$ipに、Get-EsxImageProfileの要素1番目を入れる。(0始まりなので2個目)
PS /tmp/VMware> $ip = (Get-EsxImageProfile)[1]
変数$ipを表示してみる。
PS /tmp/VMware> $ip
Name Vendor Last Modified Acceptance Level
---- ------ ------------- ----------------
ESXi-8.0U1-21495797-standard VMware, Inc. 2023/04/18 0:0… PartnerSupported
PS /tmp/VMware>
変数$ip2に、クローンした$ipを入れる。名前とベンダー名、AcceptanceLevelを指定する。 ここでは名前はHomeLab、ベンダー名はvolanja, AcceptanceLevelはCommunitySupportedにした。
PS /tmp/VMware> $ip2 = New-EsxImageProfile -CloneProfile $ip -Name HomeLab -Vendor volanja -AcceptanceLevel CommunitySupported
イメージプロファイルの$ip2を表示してみる。
PS /tmp/VMware> $ip2
Name Vendor Last Modified Acceptance Level
---- ------ ------------- ----------------
HomeLab volanja 2023/08/06 22:… CommunitySupported
PS /tmp/VMware>
イメージプロファイルの$ip2に、パッケージnvme-community,net-communityを追加する。
PS /tmp/VMware> Add-EsxSoftwarePackage -ImageProfile $ip2 -SoftwarePackage nvme-community,net-community
Name Vendor Last Modified Acceptance Level
---- ------ ------------- ----------------
HomeLab volanja 2023/08/06 22:… CommunitySupported
PS /tmp/VMware>
この時点でのパッケージ一覧を表示する。
PS /tmp/VMware> Get-EsxSoftwarePackage | Sort-Object -Property Name | ft -AutoSize
結果をクリックして表示
Name Version Vendor Creation Date
---- ------- ------ -------------
atlantic 1.0.3.0-11vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
bcm-mpi3 8.4.2.0.0.0-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
bfedac-esxio 0.1-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:38
bmcal 8.0.1-0.0.21495797 VMware 2023/03/25 1:07:49
bmcal-esxio 8.0.1-0.0.21495797 VMware 2023/03/25 1:07:30
bnxtnet 223.0.0.0-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:57
bnxtroce 223.0.0.0-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:57
brcmfcoe 12.0.1500.3-4vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
clusterstore 8.0.1-0.0.21495797 VMware 2023/03/25 1:08:13
cndi-igc 1.2.10.0-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
cpu-microcode 8.0.1-0.0.21495797 VMware 2023/03/25 1:07:00
crx 8.0.1-0.0.21495797 VMware 2023/03/25 1:08:13
dwi2c 0.1-7vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
dwi2c-esxio 0.1-7vmw.801.0.0.21495797 VMW 2023/03/25 1:06:38
elx-esx-libelxima.so 12.0.1200.0-6vmw.801.0.0.21495797 VMware 2023/03/25 1:07:49
elxiscsi 12.0.1200.0-11vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
elxnet 12.0.1250.0-8vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
esx-base 8.0.1-0.0.21495797 VMware 2023/03/25 1:07:29
esx-dvfilter-generic-fastpath 8.0.1-0.0.21495797 VMware 2023/03/25 1:07:45
esx-ui 2.12.0-21482143 VMware 2023/03/22 11:07:40
esx-update 8.0.1-0.0.21495797 VMware 2023/03/25 1:07:30
esx-xserver 8.0.1-0.0.21495797 VMware 2023/03/25 1:07:45
esxio 8.0.1-0.0.21495797 VMware 2023/03/25 1:07:30
esxio-base 8.0.1-0.0.21495797 VMware 2023/03/25 1:07:11
esxio-combiner 8.0.1-0.0.21495797 VMware 2023/03/25 1:08:13
esxio-combiner-esxio 8.0.1-0.0.21495797 VMware 2023/03/25 1:07:30
esxio-dvfilter-generic-fastpath 8.0.1-0.0.21495797 VMware 2023/03/25 1:07:24
esxio-update 8.0.1-0.0.21495797 VMware 2023/03/25 1:07:11
gc 8.0.1-0.0.21495797 VMware 2023/03/25 1:07:15
gc-esxio 8.0.1-0.0.21495797 VMware 2023/03/25 1:06:55
i40en 1.11.3.5-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:57
iavmd 3.0.0.1010-8vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
icen 1.5.1.21-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:57
igbn 1.4.11.7-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:57
intelgpio 0.1-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
ionic-en 20.0.0-40vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
ionic-en-esxio 20.0.0-40vmw.801.0.0.21495797 VMW 2023/03/25 1:06:37
irdman 1.3.1.25-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:57
iser 1.1.0.2-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
ixgben 1.7.1.40-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:57
loadesx 8.0.1-0.0.21495797 VMware 2023/03/25 1:07:29
loadesxio 8.0.1-0.0.21495797 VMware 2023/03/25 1:07:11
lpfc 14.2.560.8-23vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
lpnic 11.4.62.0-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
lsi-mr3 7.724.03.00-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
lsi-msgpt2 20.00.06.00-4vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
lsi-msgpt3 17.00.13.00-2vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
lsi-msgpt35 26.00.00.00-3vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
lsuv2-hpv2-hpsa-plugin 1.0.0-4vmw.801.0.0.21495797 VMware 2023/03/25 1:07:49
lsuv2-intelv2-nvme-vmd-plugin 2.7.2173-2vmw.801.0.0.21495797 VMware 2023/03/25 1:07:49
lsuv2-lsiv2-drivers-plugin 1.0.2-1vmw.801.0.0.21495797 VMware 2023/03/25 1:07:49
lsuv2-nvme-pcie-plugin 1.0.0-1vmw.801.0.0.21495797 VMware 2023/03/25 1:07:49
lsuv2-oem-dell-plugin 1.0.0-2vmw.801.0.0.21495797 VMware 2023/03/25 1:07:49
lsuv2-oem-lenovo-plugin 1.0.0-2vmw.801.0.0.21495797 VMware 2023/03/25 1:07:49
lsuv2-smartpqiv2-plugin 1.0.0-10vmw.801.0.0.21495797 VMware 2023/03/25 1:07:49
mlnx-bfbootctl-esxio 0.1-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:38
mnet-esxio 0.1-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:38
mtip32xx-native 3.9.8-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
native-misc-drivers 8.0.1-0.0.21495797 VMware 2023/03/25 1:07:00
native-misc-drivers-esxio 8.0.1-0.0.21495797 VMware 2023/03/25 1:06:42
ne1000 0.9.0-2vmw.801.0.0.21495797 VMW 2023/03/25 1:06:57
nenic 1.0.35.0-5vmw.801.0.0.21495797 VMW 2023/03/25 1:06:57
net-community //追加 1.2.7.0-1vmw.700.1.0.15843807 VMW 2022/03/10 21:21:26
nfnic 5.0.0.35-4vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
nhpsa 70.0051.0.100-4vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
nmlx5-core 4.23.0.36-14vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
nmlx5-core-esxio 4.23.0.36-14vmw.801.0.0.21495797 VMW 2023/03/25 1:06:37
nmlx5-rdma 4.23.0.36-14vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
nmlx5-rdma-esxio 4.23.0.36-14vmw.801.0.0.21495797 VMW 2023/03/25 1:06:37
nmlxbf-gige-esxio 2.2-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:37
nmlxbf-pmc-esxio 0.1-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:38
ntg3 4.1.10.0-4vmw.801.0.0.21495797 VMW 2023/03/25 1:06:57
nvme-community //追加 1.0.1.0-3vmw.700.1.0.15843807 VMW 2020/01/08 12:04:19
nvme-pcie 1.2.4.7-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
nvme-pcie-esxio 1.2.4.7-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:38
nvmerdma 1.0.3.9-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:57
nvmetcp 1.0.1.7-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:57
nvmxnet3 2.0.0.31-2vmw.801.0.0.21495797 VMW 2023/03/25 1:06:57
nvmxnet3-ens 2.0.0.23-2vmw.801.0.0.21495797 VMW 2023/03/25 1:06:57
nvmxnet3-ens-esxio 2.0.0.23-2vmw.801.0.0.21495797 VMW 2023/03/25 1:06:38
nvmxnet3-esxio 2.0.0.31-2vmw.801.0.0.21495797 VMW 2023/03/25 1:06:38
penedac-esxio 0.1-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:38
pengpio-esxio 0.1-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:38
pensandoatlas 1.46.0.E.28.1.303-2vmw.800.1.0.20796881 VMW 2022/11/15 18:28:45
penspi-esxio 0.1-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:38
pvscsi 0.1-5vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
pvscsi-esxio 0.1-5vmw.801.0.0.21495797 VMW 2023/03/25 1:06:38
qcnic 1.0.15.0-22vmw.801.0.0.21495797 VMW 2023/03/25 1:06:57
qedentv 3.40.5.70-7vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
qedrntv 3.40.5.70-3vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
qfle3 1.0.67.0-32vmw.801.0.0.21495797 VMW 2023/03/25 1:06:57
qfle3f 1.0.51.0-32vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
qfle3i 1.0.15.0-20vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
qflge 1.1.0.11-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:57
qlnativefc 5.4.69.0-16vmw.801.0.0.21495797 VMware 2023/03/25 1:06:56
rd1173-esxio 0.1-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:38
rdmahl 1.0.0-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:57
rste 2.0.2.0088-7vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
sfvmk 2.4.0.2010-15vmw.801.0.0.21495797 VMW 2023/03/25 1:06:57
smartpqi 80.4385.0.200-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
spidev-esxio 0.1-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:38
tools-light 12.2.0.21223074-21495797 VMware 2023/03/25 1:07:30
trx 8.0.1-0.0.21495797 VMware 2023/03/25 1:08:13
vdfs 8.0.1-0.0.21495797 VMware 2023/03/25 1:08:12
vds-vsip 8.0.1-0.0.21495797 VMware 2023/03/25 1:08:13
vmkata 0.1-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
vmksdhci 1.0.3-3vmw.801.0.0.21495797 VMW 2023/03/25 1:06:57
vmksdhci-esxio 1.0.3-3vmw.801.0.0.21495797 VMW 2023/03/25 1:06:38
vmkusb 0.1-16vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
vmkusb-esxio 0.1-16vmw.801.0.0.21495797 VMW 2023/03/25 1:06:38
vmw-ahci 2.0.15-1vmw.801.0.0.21495797 VMW 2023/03/25 1:06:56
vmware-esx-esxcli-nvme-plugin 1.2.0.52-1vmw.801.0.0.21495797 VMware 2023/03/25 1:07:46
vmware-esx-esxcli-nvme-plugin-esxio 1.2.0.52-1vmw.801.0.0.21495797 VMware 2023/03/25 1:07:25
vsan 8.0.1-0.0.21495797 VMware 2023/03/25 1:08:01
vsanhealth 8.0.1-0.0.21495797 VMware 2023/03/25 1:08:12
エクスポート
最後に、イメージプロファイルの$ip2をisoイメージファイルにエクスポートする。
PS /tmp/VMware> Export-EsxImageProfile -ImageProfile $ip2 -FilePath Terra_8.0U1-21495797.iso -ExportToIso
エクスポートしたisoファイルはQiitaの記事を参考にして、USBメモリに書き込む。