Обновление драйвера и микрокода FC HBA HPE SN1100Q (QLogic QLE2692-HP) на сервере YADRO Vegman R120 G1 с VMware ESXi 8.0 U3

Updating the qlnativefc driver, disabling vmhba64 and vmhba65 devices, and updating the FC HBA HPE SN1100Q (QLogic QLE2692-HP) firmware on a YADRO Vegman R120 G1 server running VMware ESXi 8.0 U3Рассмотрим процедуру обновления драйвера и микрокода для оптического адаптера 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" и выполнив поиск пакета по имени:

How to find the ESXi Host Client driver package version in the ESXi Host Client web interface on VMWare ESXi 8.0

Проверить версию драйвера, как по версии установленного пакета, так и по версии загруженного модуля, можно в консоли хоста следующим образом:

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):

Duplicate vmhba64 and vmhba65 devices are shown in the ESXi Host Client web interface on VMWare ESXi 8.0 for QLogic HBAs with the qlnativefc driver

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С, в системе нет.

vmhba64 and vmhba65 devices are not displayed in the ESXi Host Client web interface on VMWare ESXi 8.0 for QLogic HBAs with the qlnativefc driver (NVMe over FC is disabled)

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:

How to view the QLogic HBA firmware version on a YADRO Vegman R120 G1 server in the AMI BIOS interface

После загрузки 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

Добавить комментарий