Рассмотрим процедуру обновления драйвера и микрокода для оптического адаптера HPE StoreFabric SN1100Q P9D94A Rev:0A (PN:P9D94-63001 SPS:853011-001) DP FC 16Gb PCI-E HBA (QLogic QLE2692-HP BK3210407-20 F) в среде гипервизора VMware ESXi 8.0 U3, работающего на аппаратной серверной платформе YADRO Vegman R120 G1. Хотя модель сервера здесь не играет принципиального значения и процедура будет схожей для работы на другом серверном железе.
Обновление и настройка драйвера HPE SN1100Q
В нашей ситуации на сервере ESXi уже имеется драйвер qlnativefc трёх летней давности версии 5.4.80.1-1. На сайте HPE можно найти более свежий драйвер, совместимый с VMware ESXi 8.0 U3 и включающий в себя исправления некоторых проблем предыдущих версий. В пакет HPE QLogic Fibre Channel driver component for VMware vSphere 8.0 сборки 2025.05.01 (10 Jun 2025) включён драйвер версии 5.4.85.0-1.
Распаковываем архив и копируем по SSH vib-пакета драйвера во временный каталог на хост:
ls -la /tmp/*.vib
-rw-r--r-- 1 root root 882264 Jul 3 10:49 /tmp/MVL_bootbank_qlnativefc_5.4.85.0-1OEM.803.0.0.24022510.vib
Переводим хост в режим обслуживания, так как после обновления драйвера потребуется перезагрузка:
esxcli system maintenanceMode set --enable true
esxcli system maintenanceMode get
Enabled
Устанавливаем пакет и, после успешной установки, отправляем хост в перезагрузку:
esxcli software vib install -v /tmp/MVL_bootbank_qlnativefc_5.4.85.0-1OEM.803.0.0.24022510.vib
Installation Result
Message: The update completed successfully, but the system needs to be rebooted for the changes to be effective.
VIBs Installed: MVL_bootbank_qlnativefc_5.4.85.0-1OEM.803.0.0.24022510
VIBs Removed: VMware_bootbank_qlnativefc_5.4.80.1-15vmw.803.0.0.24022510
VIBs Skipped:
Reboot Required: true
DPU Results:
reboot
После перезагрузки можно проверить результат, например, в веб-интерфейсе ESXi Host Client, перейдя в структуре навигации в "Host" > "Manage" > "Packages" и выполнив поиск пакета по имени:

Проверить версию драйвера, как по версии установленного пакета, так и по версии загруженного модуля, можно в консоли хоста следующим образом:
esxcli software vib list | grep qlnativefc
qlnativefc 5.4.85.0-1OEM.803.0.0.24022510 MVL VMwareCertified 2025-07-03 host
vmkload_mod --showinfo qlnativefc | grep -i version
Version: 5.4.85.0-1OEM.803.0.0.24022510
После того как мы обновили драйвер и начнём просматривать свойства адаптеров хранения данных ("Storage" > "Adapters"), то можем обратить внимание на то, что вместо пары устройств, которые мы можем ожидать увидеть для каждого из двух портов адаптера (в нашем примере это vmhba2 и vmhba3) в системе фигурируют ещё два порта (в нашем примере это vmhba64 и vmhba65):

esxcli storage core adapter list | grep -iE 'qlogic'
vmhba2 qlnativefc link-up fc.51402ec0d45239a1:51402ec0d45239a0 Second Level Lun ID (0000:18:00.0) QLogic Corp QLE2692 Dual Port 16Gb Fibre Channel to PCIe Adapter
vmhba3 qlnativefc link-up fc.51402ec0d45239a3:51402ec0d45239a2 Second Level Lun ID (0000:18:00.1) QLogic Corp QLE2692 Dual Port 16Gb Fibre Channel to PCIe Adapter
vmhba64 qlnativefc link-up fc.51402ec0d45239a1:51402ec0d45239a0 (0000:18:00.0) QLogic Corp QLE2692 Dual Port 16Gb Fibre Channel to PCIe Adapter
vmhba65 qlnativefc link-up fc.51402ec0d45239a3:51402ec0d45239a2 (0000:18:00.1) QLogic Corp QLE2692 Dual Port 16Gb Fibre Channel to PCIe Adapter
Появление этих, как может показаться на первый взгляд, дублирующихся устройств происходит из-за новых версий драйверов с активированной по умолчанию опцией поддержкой NVMe over FC. Такое поведение фиксируется ещё с версии ESXi 7.0 U3 не только для драйвера QLogic (qlnativefc), но и для драйвера Emulex (lpfc).
Посмотрим описание опции и увидим что, если она явно не задана, то в конфигурации по умолчанию она включена:
esxcfg-module --show-info qlnativefc
...
Parameters:
...
ql2xnvmesupport: int
Description: Enable NVMeoFC support in driver.
Default: 1 = Enabled
0 = Disabled
...
Если у нас нет необходимости в использовании NVMe over FС, то можно отключить эту функциональность в драйвере.
Меняем конфигурацию драйвера, убеждаемся в том, что настройка сохранилась и отправляем в хост в перезагрузку:
esxcfg-module --set-options 'ql2xnvmesupport=0' qlnativefc esxcfg-module --get-options qlnativefc qlnativefc enabled = 1 options = 'ql2xnvmesupport=0' reboot
После перезагрузки проверяем то, как отображаются порты адаптера, например, в интерфейсе ESXi Host Client. И теперь мы видим, что дополнительных устройств, связанных с NVMe over FС, в системе нет.

esxcli storage core adapter list | grep -iE 'qlogic'
vmhba2 qlnativefc link-up fc.51402ec0d45239a1:51402ec0d45239a0 Second Level Lun ID (0000:18:00.0) QLogic Corp QLE2692 Dual Port 16Gb Fibre Channel to PCIe Adapter
vmhba3 qlnativefc link-up fc.51402ec0d45239a3:51402ec0d45239a2 Second Level Lun ID (0000:18:00.1) QLogic Corp QLE2692 Dual Port 16Gb Fibre Channel to PCIe Adapter
На этом настройку драйвера можем считать законченной и теперь можем перейти к процедуре обновления микрокода адаптера.
Обновление микрокода адаптера HPE SN1100Q
Скачать архив с последней совместимой с VMware 8.0 версией микрокода для адаптера HPE SN1100Q с сайта HPE можно по ссылке: HPE Firmware Flash for QLogic Fibre Channel Host Bus Adapters for VMware vSphere 8.0 | HPE Support Center. Здесь на вкладке "Installation Instructions" важно внимательно прочитать про особенности установки для текущей версии.
Выясним то, какие версии микрокода у нас используются на данный момент на адаптере. Можно получить эту информацию из консоли VMware. Для начала получим список всех адаптеров хранения:
/usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -d
Dumping all key-value instance names:
Key Value Instance: vmhba3/qlogic
Key Value Instance: vmhba2/qlogic
Key Value Instance: vmhba1/vmw_ahci
Key Value Instance: vmhba0/vmw_ahci
Key Value Instance: lsi_mr3-500605b01041c370/LSI Incorporation
Key Value Instance: MOD_PARM/qlogic
Теперь по имени инстанса получим информацию о версиях микрокода для интересующего нас адаптера:
/usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -l -i vmhba2/qlogic | grep version
FC Firmware Version: 8.07.18 (d0d5), Driver version 5.4.85.0
BIOS version 3.54
FCODE version 4.11
EFI version 6.47
Flash FW version 8.07.18
Driver version 5.4.85.0
Driver version 5.4.85.0
Как видим, основная версия микрокода адаптера (8.07.18) – устаревшая уже на несколько лет и для более адекватной работы адаптера с ранее обновлённой версией драйвера нам желательно актуализировать версию микрокода.
Скопируем по SSH на хост во временный каталог архив с утилитой обновления, которую мы скачали по выше представленной ссылке.
Проверим наличие файла на хосте, перейдём во временный каталог и распакуем
его:
ls -la /tmp/CP066317.zip
-rw-r--r-- 1 root root 7941461 Jul 3 11:48 /tmp/CP066317.zip
cd /tmp/
unzip CP066317.zip
ls -la /tmp/CP066317*
-rwx------ 1 root root 26620 Jul 3 11:51 /tmp/CP066317.vmexe
-rwx------ 1 root root 28328 Jul 3 11:51 /tmp/CP066317.vmexe64
-rw-r--r-- 1 root root 4419720 Jul 3 11:51 /tmp/CP066317.vmfile
-rw-r--r-- 1 root root 84165 Jul 3 11:51 /tmp/CP066317.xml
-rw-r--r-- 1 root root 7941461 Jul 3 11:48 /tmp/CP066317.zip
-rw-r--r-- 1 root root 195 Jul 3 11:51 /tmp/CP066317_BUILD_2.data
-rw-r--r-- 1 root root 3957826 Jul 3 11:51 /tmp/CP066317_VMw.zip
Файл CP*_VMw.zip делаем исполняемым:
chmod +x CP066317_VMw.zip
ls -la CP066317_VMw.zip
-rwxr-xr-x 1 root root 3957826 Jul 3 11:51 CP066317_VMw.zip
Выполняем установку
из этого файла:
esxcli software vib install -d /tmp/CP066317_VMw.zip
Installation Result
Message: Operation finished successfully.
VIBs Installed: HPE_bootbank_CP066317_2025.05.01.2-8.0.0.20613240
VIBs Removed:
VIBs Skipped:
Reboot Required: false
DPU Results:
Перезагрузка пока не требуется, так как в данный момент мы пока только установили пакет с утилитами обновления микрокода.
Переходим в каталог с программными компонентами установленного пакета и запускаем исполняемый файл утилиты обновления Execute_Component :
cd /opt/Smart_Component/CP066317/
./Execute_Component
Command [ ./Execute_Component ]
Number of parameters passed in [ 0 ]
The parameters are [ ]
ls: *.vmcfg: No such file or directory
./determine_which_OS.sh: Do nothing - environment already set up
... leaving ./determine_which_OS.sh in /opt/Smart_Component/CP066317 ...
execute hpsetup with parameters [ ]
Starting Smart Component...
argv[0]=[./hpsetup]
Calling OEMFLASHER.DOFLASH()...
Calling oem_do_discovery_with_files
m_oDiscoveryHeader.m_sDiscoveryFile=[/tmp/QLOGIC_FC_HBA_DISC.xml]
m_sFirmwareBinDir=[./Flash/]
Vendor Return Code for discovery={0} [The installation of the deliverable was successful. No reboot was required. Discovery was successful]
Load Component XML[./CP066317.xml]
Calling xmlParseFile to Update Discovery Data.
Update type=[QLOGIC]
Update alt_name=[HPE Firmware Flash for QLogic Fibre Channel Host Bus Adapters]
Update version=[2025.05.01]
Update product_id=[HPE SN1100Q 16Gb Dual Port Fibre Channel Host Bus Adapter]
Saving Discovery Data
Calling xmlParseFile to Load Discovery Data
Load xml successful; Fetching Discovered Data...
No. of devices[1]
No. of FW Items for device[0]=[1]
*********************************
Calling oem_do_full_flash_PCI
Firmware=[./Flash/bk020409.bin] ForceInstall=[0]
PCI Bus=[24] Device=[0] Function=[0]
Vendor Return Code ={201} [Return code description not found.]
*********************************
SC Return Code for Discovery={1} [The installation of the deliverable was successful. A reboot is required for the deliverable to be enabled]
Ending flasher ...
SCEXE_SUCCESS_REBOOT:-->1
... END [ ./Execute_Component - Return value is 1 ] ...
Из вывода видим, что обновление микрокода успешно выполнено и требуется перезагрузка хоста.
Отправляем хост в перезагрузку и в ходе загрузки, можем заглянуть в BIOS сервера и посмотреть там информацию о микрокоде FC HBA, если серверная платформа это позволяет. В нашем случае на сервере YADRO Vegman R120 G1 используется AMI BIOS версии 2.22.1285 и в этой версии можно пройти в меню по пунктам "Advanced" > "HBA" > "Adapter Information", чтобы увидеть информацию о версиях микрокода нашего FC HBA:

После загрузки ESXi можем проверить версии микрокода из консоли:
/usr/lib/vmware/vmkmgmt_keyval/vmkmgmt_keyval -l -i vmhba2/qlogic | grep version
FC Firmware Version: 9.15.05 (d0d5), Driver version 5.4.85.0
BIOS version 3.68
FCODE version 4.11
EFI version 7.28
Flash FW version 9.15.05
Driver version 5.4.85.0
Driver version 5.4.85.0
На этом процедуры обновления драйвера и микрокода нашего FC HBA можем считать законченными и теперь можно вывести хост из режима обслуживания:
esxcli system maintenanceMode set --enable false
esxcli system maintenanceMode get
Disabled
RSS - Записи
Добавить комментарий