基于8.0 Update 3b 的ESXi-Arm Fling

很久没有更新过 ESXi-Arm 的版本了,博通旗下的 VMware 居然把它更新到了 8.0U3b。

下载地址:https://community.broadcom.com/flings

我准备使用离线更新,就没有下载 ISO,直接下载ESXi-Arm-Offline-Depot-2_00-dl.zip

scp 上传到 ESXi 里,将运行的 VM suspend,进入维护模式。

开始更新

esxcli software profile update -p ESXi-8.0U3b-24364478-standard -d /tmp/ESXi-Arm-Offline-Depot-2_00-dl.zip

USB Network Native Driver for ESXi 8.0U1 (v1.12) and 8.0U2 (v1.13)

 因为 VMware 在被 Broadcom 收购后关闭了 Flings 网站,此社区版驱动文档迁移到了 USB Network Native Driver for ESXi Documentation – VMware Technology Network VMTN

之前发布的8.0U1 和 8.0U2 的下载链接暂时无法从 VMware 官网获得,不过有网友事先通过 archive.org留存了备份,如下https://archive.org/download/flings.vmware.com/Flings/USB%20Network%20Native%20Driver%20for%20ESXi/

请注意以下更新提示

Changelog

Sep 21, 2023 – v1.13

  • Added support for ESXi 8.0 Update 2
  • ESXi80U2-VMKUSB-NIC-FLING-67561870-component-22416446.zip (md5: bf62144b4e695c3d00cb614a4ecfb2c3)

Note:

This is ONLY for ESXi 8.0 Update 2, for other ESXi versions (including update releases), please ensure you are using the correct version of driver.


Apr 26, 2023 – v1.12

  • Added support for ESXi 8.0 Update 1
  • Added support for new DLINK RTL8156 device (0x2001:0xb301)
  • Fixed 2.5GbE link speed issue for RTL8156 adapter
  • Updated maximum supported USB Network devices to 12 and persists setting over module parameters
  • ESXi800-VMKUSB-NIC-FLING-64098182-component-21668107.zip (md5: 4a35899f77ce4635d0cfa76a7975504d)
  • ESXi80U1-VMKUSB-NIC-FLING-64098092-component-21669994.zip (md5: 9c41b5f488ec5cee325207e16b047c10)

Note 1:

This is ONLY for ESXi 8.0 & 8.0 Update 1, for other ESXi versions (including update releases), please ensure you are using the correct version of driver.

Note 2:

Known performance issue with RTL8156, TX up to 2.35Gbps while RX up to 2.15Gbps ​

ESXi for ARM 1.15

官方文档页面已从 Flings 迁移到 ESXi-Arm Fling 1.15 Refresh – VMware Technology Network VMTN

下载地址为 https://customerconnect.vmware.com/downloads/get-download?downloadGroup=ESXI-ARM

需要VMware Customer Connect 账号登录。

更新如下:

Changes in this release

  • Support Virtual CPU Performance Counters.
  • Fix Virtual UEFI for the Arm Architecture Compliance Suite.
  • Update EQOS driver:
    • Fix byte-swapped MAC address (important note below!)
    • Add IEEE 802.3x flow control support
  • Support for PCIe devices on Raspberry Pi Compute Module 4 (important note below!)
  • Report Arm DEN0028 defined SoC version and revision (as returned by the SMCCC_ARCH_SOC_ID SMC call) via telemetry.

其中有一点是对树莓派CM4的 PCIe 支持(只测试过 NVMe)。 ​

ESXi for ARM 最新下载地址

由于VMware决定关闭 flings.vmware.com 网站,内容被迁移到不同的地方,网站跳转到 https://developer.vmware.com/samples

ESXi for ARM的下载地址迁移到了 https://customerconnect.vmware.com/downloads/get-download?downloadGroup=ESXI-ARM,需要使用VMware Customer Connect账号登录。

相关文档迁移到了 https://communities.vmware.com/t5/ESXi-Arm-Fling-Documents/VMware-ESXi-Arm-Documentation/ta-p/2993062

目前最新版还是20230901的1.14版本。

USB Network Native Driver for ESXi更新支持ESXi8.0

 在ESXi8.0发布一个多月后,社区版的USB网卡驱动终于在flings上更新了,USB Network Native Driver for ESXi | VMware Flings

Nov 23, 2022 – v1.11
Added support for ESXi 8.0
      ESXi800-VMKUSB-NIC-FLING-61054763-component-20826251.zip
      md5: 55087041545d2500c1b22deb65107f22

Note: This is ONLY for ESXi 8.0, for other ESXi versions (including update releases), please ensure you are using the correct version of driver.

https://flings.vmware.com/usb-network-native-driver-for-esxi#changelog

来尝试下封装驱动,PowerCLI近期也更新到了13.0,https://www.powershellgallery.com/packages/VMware.PowerCLI/13.0.0.20829139

Install-Module -Name VMware.PowerCLI

接着验证下安装的版本

Get-Module -Name VMware.PowerCLI | Select-Object -Property Name,Version
验证安装的版本

需要注意的是,PowerCLI 13.0中的VMware.ImageBuilder 模块是依赖Python3.7的,参照https://developer.vmware.com/docs/15315/powercli-user-s-guide/GUID-9081EBAF-BF85-48B1-82A0-D1C49F3FF1E8.html

这里需要做几点:

  1. 下载 Python 3.7 https://www.python.org/downloads/release/python-370/.
  2. 安装Python 3.7.
  3. 保存 get-pip.py https://bootstrap.pypa.io/get-pip.py.
  4. 打开终端安装pip.<python3.7-directory>\python.exe <get-pip-directory>\get-pip.py
  5. 安装所需的Python模块.<python3.7-directory>\Scripts\pip3.7.exe install six psutil lxml pyopenssl
https://vdc-repo.vmware.com/vmwb-repository/dcr-public/9619cb6d-3975-4bff-aa1f-0e785283a1a9/4e10b776-59b2-42f9-af52-c8cca2b7ecbe/GUID-F98FF88D-D31F-48F0-8C3A-1C6492CD8AFB.html

在Powershell中配置Python3.7路径

  • 在Windows上 Set-PowerCLIConfiguration –PythonPath <python3.7-directory>\python.exe –Scope User

https://vdc-repo.vmware.com/vmwb-repository/dcr-public/9619cb6d-3975-4bff-aa1f-0e785283a1a9/4e10b776-59b2-42f9-af52-c8cca2b7ecbe/GUID-EB16871E-D52B-4B46-9675-241AD42C1BE6.html

https://github.com/VFrontDe-Org/ESXi-Customizer-PS 下载封装脚本,最新为2.9.0.

下载原版的ESXi 8.0离线包 VMware-ESXi-8.0-20513097-depot.zip

下载最新的 支持8.0的USB网卡驱动 ESXi800-VMKUSB-NIC-FLING-61054763-component-20826251.zip

以管理员权限运行Powershell

封装成功

由于我之前已经在机器上安装了原版ESXi 8.0,这里就不重新安装了。在现有ESXi上安装这个驱动再插上USB网卡试试。

成功安装驱动

安装后需要重启ESXi。

Web Console里有提示

我一般习惯把开机的VM Suspend,然后进入维护模式后重启ESXi。

重启开机就识别到了

使用PowerCli来创建自定义ESXi ISO镜像

之前我们封装ESXi ISO镜像大多使用的是GitHub – VFrontDe/ESXi-Customizer-PS: PowerCLI script that greatly simplifies and automates the process of creating fully patched and customized VMware ESXi installation images 这个项目的powershell脚本,把一些社区版驱动(比如网卡驱动,USB网卡驱动等)封装进ESXi ISO,这样安装时就可以直接识别相应的硬件了。

实际上上述脚本就是基于VMware.PowerCLI 来实现的。PowerCLI是VMware的一个非常强大的Powershell命令库,有近700 cmdlets 可以用来管理和自动化VMware很多产品(比如vSphere, vCloud Director, vRealize Operations Manager, vSAN, NSX-T, VMware Cloud Services, VMware Cloud on AWS, VMware HCX, VMware Site Recovery Manager, and VMware Horizon environments)。而PowerCLI 12.0.0版本更新中,关于ISO镜像,有如下描述:

New cmdlets for managing auto-bootstrapping and new-style depots in vSphere 7.0 have been added to the VMware.DeployAutomation and VMware.ImageBuilder module:

New/Set/Reset-LCMClusterRuleWithTransform
Get-DepotAddons
Get-DepotBaseImages
Get-DepotComponents
Get-DepotInfo
Get-DepotVibs
New-IsoImage
New-PxeImage

我们注意到它提到了加入了 New-IsoImage (通过VMware.ImageBuilder module)。

查询相关文档,New-IsoImage Command | VMware PowerCLI ReferenceCreate a Custom ESXi ISO Image with PowerCLI Cmdlets (vmware.com) 有很详细的使用方法。

接下来我们在Windows 11 (Windows 10同理)环境下配置下环境来学习下用法。

  1. “以管理员身份运行” Windows Powershell 或者Windows Terminal。
  2. Install-Module -Name VMware.PowerCLI 此过程中如果有提示是否安装NuGet以及是否要从”PSGallery”安装模块请选择“是”,“全是”。视网络情况,此安装过程可能需要几分钟。
  3. 设置Execution policy, Windows 默认不允许执行此类第三方脚本Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope LocalMachine 具体详细用法可以参照 Set-ExecutionPolicy (Microsoft.PowerShell.Security) – PowerShell | Microsoft Docs
  4. Import-Module VMware.ImageBuilder
  5. 我们先使用VMwre的官方online repo来查看有哪些Image profile Get-DepotBaseImages -Depot https://hostupdate.vmware.com/software/VUM/PRODUCTION/main/vmw-depot-index.xml 查询需要几十秒:

Version Vendor Release date
——- —— ————
7.0.0-1.25.16324942 VMware, Inc. 06/15/2020 23:00:00
7.0.0-1.20.16321839 VMware, Inc. 06/15/2020 23:00:00
7.0.0-1.0.15843807 VMware, Inc. 03/16/2020 08:40:41
7.0.1-0.35.19324898 VMware, Inc. 02/14/2022 23:00:00
7.0.1-0.15.17168206 VMware, Inc. 11/18/2020 23:00:00
7.0.1-0.10.17119627 VMware, Inc. 11/03/2020 23:00:00
7.0.1-0.25.17325551 VMware, Inc. 12/16/2020 23:00:00
7.0.1-0.20.17325020 VMware, Inc. 12/16/2020 23:00:00
7.0.1-0.30.17551050 VMware, Inc. 02/03/2021 23:00:00
7.0.1-0.0.16850804 VMware, Inc. 09/04/2020 16:33:22
7.0.2-0.0.17867351 VMware, Inc. 04/28/2021 23:00:00
7.0.2-0.15.18295176 VMware, Inc. 08/23/2021 23:00:00
7.0.2-0.20.18426014 VMware, Inc. 08/23/2021 23:00:00
7.0.2-0.25.18538813 VMware, Inc. 09/13/2021 23:00:00
7.0.2-0.30.19290878 VMware, Inc. 02/14/2022 23:00:00
7.0.3-0.20.19193900 VMware, Inc. 01/17/2022 23:00:00
7.0.3-0.30.19482531 VMware, Inc. 03/28/2022 23:00:00
7.0.3-0.35.19482537 VMware, Inc. 03/28/2022 23:00:00

其实-Depot这个参数也是可以指向一个本地的离线包(非ISO),比如:

Get-DepotBaseImages -Depot C:\CustomImage\VMware-ESXi-7.0U3c-19193900-depot.zip

Version Vendor Release date
——- —— ————
7.0.3-0.20.19193900 VMware, Inc. 01/17/2022 23:00:00

类似的还有Get-DepotAddons 和 Get-DepotComponents

比如可以查询社区版网卡驱动包:

Get-DepotComponents -Depot C:\CustomImage\Net-Community-Driver_1.2.7.0-1vmw.700.1.0.15843807_19480755.zip

  • 接下来创建一个自定义镜像的Spec (json格式):
{
    "base_image": {
        "version": "7.0.3-0.35.19482537"
    },
    "components": {
       "Net-Community-Driver": "1.2.7.0-1vmw.700.1.0.15843807"
   }
}
  • 利用前面查询到的离线包,驱动文件和spec文件来制作自定义镜像:
New-IsoImage -Depots "c:\CustomImage\VMware-ESXi-7.0U3c-19193900-depot.zip" , "c:\CustomImage\Net-Community-Driver_1.2.7.0-1vmw.700.1.0.15843807_19480755.zip" -SoftwareSpec "c:\CustomImage\spec.json" -Destination "c:\CustomImage\ESXi-70U3c-custom.iso"

此方法尝试封装USB NIC Flings时会报错,是该驱动的一个小bug,估计后续会修复。

New-IsoImage : Error retrieving file for VIB 'VMW_bootbank_vmkusb-nic-fling_1.8-3vmw.703.0.15.51233328':
("<zipfile.ZipExtFile name='vib20/vmkusb-nic-fling/VMW_bootbank_vmkusb-nic-fling_1.8-3vmw.703.0.15.51233328.vib'
mode='r' compress_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 0x0000015A1ECEBB08>]'.").

ESXi 社区版网卡驱动

最近 VMware的flings网站里新增加了Community Networking Driver for ESXi | VMware Flings.

此驱动旨在对一些官方安装包里不支持的网卡提供一个相对稳定的网卡驱动,可以通过封装到安装镜像或者在现有的ESXi主机上安装来使用.

从requirements一页中可以看到此驱动支持了哪些网卡.

2.5GbE
1GbE

看了下NUC8和NUC11 Pro and Performance的网卡都属于这个驱动可以支持的.

PS: 此前也有一个类似的社区版网卡驱动,之前已经集成到了ESXi7.0.1里.

ESXi社区版ne1000 VIB驱动的更新

原文出自https://www.virtuallyghetto.com/2020/08/enhancements-to-the-community-ne1000-vib-for-intel-nuc-10.html本篇是征求原作者同意后的简要中文翻译。

使用Intel NUC 10(寒霜峡谷)做ESXi主机的玩家应该知道ESXi默认自带的驱动不能识别板载的Intel i219V(8086:0d4f)网卡,需要使用一个社区版的ne1000驱动来封装ESXi ISO进行安装。因此而造成的副作用就是当给ESXi打补丁或者升级时,这个社区版的ne1000驱动会被默认的新版本驱动替换,导致网卡再次无法被ESXi识别。

一个变通的办法是再次安装这个社区版的ne1000 VIB,网络连接就可以恢复了。还可以通过创建vSphere Image Profile来把补丁或者升级包中的驱动用社区版ne1000 VIB替换,再进行补丁或升级安装。原作者在和Songtao(另一个VMware的工程师,USB Network Native Driver for ESXi的开发者)交流后,Songtao提供了一个非常简单的解决方案。这个办法就是给社区版ne1000 VIB取一个不同的名字,这样社区版ne1000 VIB就可以和默认的驱动共存了,更重要的一点,打补丁或者升级ESXi之后它也会一直保留。

下面是新的社区版 ne1000 VIB (离线包):

https://download3.vmware.com/software/vmw-tools/Intel-NUC-ne1000_0.8.4-3vmw.670.0.0.8169922-offline_bundle-16654787.zip

使用vSphere Image Builder UI工具或者PowerCLI版的Image Builder来封装离线包的详细指南可以参考这篇博客(英文)。

最后,一些网友在相关网站中提出对一些其它版本的i219网卡支持的需求,Songtao在此次驱动更新中,添加了如下i219网卡版本的支持:

8086:0d4e – Ethernet Connection (10) I219-LM

8086:0d4f – Ethernet Connection (10) I219-V

8086:0d4c – Ethernet Connection (11) I219-LM

8086:0d4d – Ethernet Connection (11) I219-V

8086:0d53 – Ethernet Connection (12) I219-LM

8086:0d55 – Ethernet Connection (12) I219-V

8086:15fb – Ethernet Connection (13) I219-LM

8086:15fc – Ethernet Connection (13) I219-V

8086:15f9 – Ethernet Connection (14) I219-LM

8086:15fa – Ethernet Connection (14) I219-V

8086:15f4 – Ethernet Connection (15) I219-LM

8086:15f5 – Ethernet Connection (15) I219-V

8086:1a1e – Ethernet Connection (16) I219-LM

8086:1a1f – Ethernet Connection (16) I219-V

8086:1a1c – Ethernet Connection (17) I219-LM

8086:1a1d – Ethernet Connection (17) I219-V

这些额外的版本支持除了因为来自社区的用户反馈,还因为这些设备都是i219家族的网卡,但这并不意味着对其它网卡的改进或者支持。希望使用i219家族网卡的用户能从这次更新中获益。