PowerCLI に含まれる Image Builder では、標準では含まれない VIB を追加したインストーラの
ISO イメージファイルを作成することができます。
今回は ESXi 6.5 に、RealTek の NIC ドライバを追加してみます。
ちなみに、ドライバを追加した ISO イメージファイルを作成する場合、
最近では Andreas Peetz さんが作成した ESXi-Customizer-PS という
PowerShell / PowerCLI ベースのツールが利用されることが多いです。
このツールについては、下記のブログで紹介されています。
ESXi-Customizer-PS
https://www.v-front.de/p/esxi-customizer-ps.html
しかし今回は、あえて標準的な PowerCLI / Image Builder を使用して
ISO イメージファイルを作成してみます。
今回利用するファイルについて。
ESXi 6.5 は最新のパッチ(ESXi650-201712001.zip)を MyVMware からダウンロードずみです。
RealTek の NIC ドライバの VIB は、おなじく
Andreas Peetz さんの下記の Web サイトで公開されているもの(Net55-r8168)を
利用させていただきます。
今回のイメージに追加するファイルは、
.vib ファイルではなくオフラインバンドルを利用してみます。
これは VIB が含まれた ZIP ファイルで、net55-r8168-8.045-napi-offline_bundle.zip です。
※せっかくオフライン バンドルも提供していただいているので・・・
List of currently available ESXi packages
https://vibsdepot.v-front.de/wiki/index.php/List_of_currently_available_ESXi_packages
ファイルは下記のように同じディレクトリに配置しています。
PowerCLI> ls .\ESXi650-201712001.zip,net55-r8168-8.045-napi-offline_bundle.zip | select Name,Length
Name Length
---- ------
ESXi650-201712001.zip 478519869
net55-r8168-8.045-napi-offline_bundle.zip 1131520
なお、PowerCLI も、インストールずみです。
ISO イメージ ファイルの作成。
まず、ESXi のパッチ(オフラインバンドル)を読み込みます。
今回も、不具合修正&セキュリティ修正の両方と、VMware Tools が含まれるイメージ プロファイルである
ESXi-6.5.0-20171204001-standardを利用します。
PowerCLI> Add-EsxSoftwareDepot .\ESXi650-201712001.zip
PowerCLI> Get-EsxImageProfile | where {$_.Name -notmatch "s-standard|-no-tools"} | ft -AutoSize
Name Vendor Last Modified Acceptance Level
---- ------ ------------- ----------------
ESXi-6.5.0-20171204001-standard VMware, Inc. 2017/12/18 11:40:25 PartnerSupported
RealTek ドライバのオフラインバンドルを読み込みつつ、
ついでに含まれている VIB の名前を見ておきます。
VIB の名前は、net55-r8168 です。
PowerCLI> Add-EsxSoftwareDepot .\net55-r8168-8.045-napi-offline_bundle.zip | Get-EsxSoftwarePackage | ft -AutoSize
Name Version Vendor Creation Date
---- ------- ------ -------------
net55-r8168 8.045-napi Realtek 2018/02/08 12:46:36
ちなみに、VIB のファイル名も確認できたりします。
PowerCLI> Get-EsxSoftwarePackage -AcceptanceLevel CommunitySupported -Name net55-r8168 | select SourceUrls
SourceUrls
----------
{zip:D:\work\net55-r8168-8.045-napi-offline_bundle.zip?net55-r8168-8.045-napi.x86_64.vib}
今回 読み込んだ VIB パッケージの中で、net55-r8168 だけは
他よりも許容レベル(AcceptanceLevel)が低く、CommunitySupported のパッケージです。
PowerCLI> Get-EsxSoftwarePackage -AcceptanceLevel CommunitySupported | ft -AutoSize
Name Version Vendor Creation Date
---- ------- ------ -------------
net55-r8168 8.045-napi Realtek 2018/02/08 12:46:36
イメージ プロファイルの 許容レベル については、ドキュメントでは下記のあたりに説明があります。
そこで新しく作成するイメージ プロファイルも、許容レベルを CommunitySupported にします。
新しいプロファイル名は、わかりやすく ESXi-6.5.0-20171204001-with-realtek にしました。
Vendor の指定も必須になるので、今回は HomeLab としています。
PowerCLI> New-EsxImageProfile -CloneProfile $image_profile -Vendor HomeLab -Name ESXi-6.5.0-20171204001-with-realtek -AcceptanceLevel CommunitySupported | fl Name,Vendor,AcceptanceLevel
Name : ESXi-6.5.0-20171204001-with-realtek
Vendor : HomeLab
AcceptanceLevel : CommunitySupported
作成したプロファイルに、ドライバを追加します。
PowerCLI> Add-EsxSoftwarePackage -ImageProfile ESXi-6.5.0-20171204001-with-realtek -SoftwarePackage net55-r8168
Name Vendor Last Modified Acceptance Level
---- ------ ------------- ----------------
ESXi-6.5.0-20171204001-with... HomeLab 2018/02/10 1... CommunitySupported
ドライバの VIB パッケージが追加されています。
PowerCLI> Get-EsxImageProfile -Name ESXi-6.5.0-20171204001-with-realtek | select -ExpandProperty VibList | where {$_.Name -eq "net55-r8168"} | ft -AutoSize
Name Version Vendor Creation Date
---- ------- ------ -------------
net55-r8168 8.045-napi Realtek 2018/02/08 12:46:36
ISO イメージ ファイルとしてエクスポートします。
PowerCLI> Export-EsxImageProfile -ImageProfile ESXi-6.5.0-20171204001-with-realtek -ExportToIso -FilePath .\ESXi-6.5.0-20171204001-with-realtek.iso
ついでに、ドライバを追加したイメージ プロファイルの
オフラインバンドルもエクスポートしておきます。
これは、後でこのイメージにさらに VIB を追加したい場合などに利用できます。
PowerCLI> Export-EsxImageProfile -ImageProfile ESXi-6.5.0-20171204001-with-realtek -ExportToBundle -FilePath .\ESXi-6.5.0-20171204001-with-realtek.zip
結果として、下記のようなファイルが作成されます。
PowerCLI> ls | select Name,Length
Name Length
---- ------
ESXi-6.5.0-20171204001-with-realtek.iso 350390272
ESXi-6.5.0-20171204001-with-realtek.zip 341466626
ESXi650-201712001.zip 478519869
net55-r8168-8.045-napi-offline_bundle.zip 1131520
この ISO イメージファイルで ESXi をインストールすると、
通常のインストーラでは認識できない RealTek の NIC が認識できるようになります。
ちなみに ESX Shell や SSH で直接ログインして確認すると、下記のように認識されています。
[root@localhost:~] vmware -vl
VMware ESXi 6.5.0 build-7388607
VMware ESXi 6.5.0 Update 1
[root@localhost:~] esxcli network nic list
Name PCI Device Driver Admin Status Link Status Speed Duplex MAC Address MTU Description
------ ------------ ------ ------------ ----------- ----- ------ ----------------- ---- -----------------------------------------------------------------------------------------
vmnic0 0000:01:00.0 r8168 Up Up 1000 Full d8:9e:f3:7c:91:c6 1500 Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
おまけ。
以前に似たようなことをしていましたので、こちらもどうぞ・・・
ESXi のオフライン バンドルから ISO イメージ ファイルを作成してみる。
ESXi 5.5 を Intel NUC にインストールしてみる。
ESXi 5.5 を Intel Haswell NUC にインストールしてみた。
ネステッドESXi 用 VMware Tools 導入済みの ESXi 5.5 を作成してみました。(Image Builder PowerCLI)
以上、ESXi 6.5 でカスタムイメージを作成してみる話でした。