Обновляем драйвер и прошивку контроллера FC HBA HP FC2242SR (Emulex LightPulse FC HBA LPE11002) Dual-Port PCI-E 4Gb в CentOS Linux 7.2

imageВ этой части мы продолжим рассмотрение пост-установочных процедур после установки ОС CentOS Linux 7.2 на сервер HP ProLiant DL360 G5. Рассмотрим ещё один пример обновления драйверов и прошивок firmware для двух-портового оптического контроллера Fibre Channel (FC) Host Bus Adapter (HBA) Emulex LightPulse FC HBA LPE11002 (FC1110406-01 Rev.C) или, по классификации HP, FC2242SR (A8003A).

Идентификация оборудования

Определяем то, как Linux-система видит наш двух-портовый FC HBA контроллер на шине PCI, например с помощью утилиты lspci:

# lspci | grep Emulex

13:00.0 Fibre Channel: Emulex Corporation Zephyr-X LightPulse Fibre Channel Host Adapter (rev 02)
13:00.1 Fibre Channel: Emulex Corporation Zephyr-X LightPulse Fibre Channel Host Adapter (rev 02)

В логе /var/log/dmesg смотрим то, какой драйвер был подгружен в процессе загрузки ОС для FC контроллера:

# cat /var/log/dmesg | grep Emulex

[0.896753] Emulex LightPulse Fibre Channel SCSI driver 10.7.0.1
[0.896758] Copyright(c) 2004-2014 Emulex.  All rights reserved.
[0.898479] scsi host2: Emulex LPe11000 PCIe Fibre Channel Adapter  on PCI bus 13 device 00 irq 17
[2.141352] scsi host3: Emulex LPe11000 PCIe Fibre Channel Adapter  on PCI bus 13 device 01 irq 18

Посмотрим информацию о модуле ядра lpfc, который является драйвером для контроллеров Emulex

# modinfo lpfc

filename:       /lib/modules/3.10.0-327.18.2.el7.x86_64/kernel/drivers/scsi/lpfc/lpfc.ko
version:        0:10.7.0.1
author:         Emulex Corporation - tech.support@emulex.com
description:    Emulex LightPulse Fibre Channel SCSI driver 10.7.0.1
license:        GPL
rhelversion:    7.2
...
depends:        scsi_transport_fc,crc-t10dif
intree:         Y
vermagic:       3.10.0-327.18.2.el7.x86_64 SMP mod_unload modversions
....

Дополнительно для более удобной идентификации FC контроллеров можно скачать и установить пакет утилит Fibreutils for HPE Storage Fibre Channel Host Bus Adapters for Linux (x86_64). Текущая версия 3.2-6(F) (01.04.2016). Загрузить можно отсюда. Загружаем и устанавливаем текущую версию:

# wget http://ftp.hp.com/pub/softlib2/software1/pubsw-linux/p1224445687/v112798/fibreutils-3.2-6.x86_64.rpm -P ~/HP/
# yum install ~/HP/fibreutils-3.2-6.x86_64.rpm

Пакет устанавливается в каталог /opt/hp/hp_fibreutils/ и содержит такие скрипты и утилиты, как lssd, lssg, adapter_info, hp_rescan, scsi_info. В частности скрипт adapter_info дополнительно поможет нам в идентификации контроллеров, показав нам информацию о модели контроллера, версии используемого драйвера, версии прошивки и прочей информации в одном месте

# adapter_info -v
/sys/class/scsi_host/host1: vendor: Emulex model: A8003A state: Online vid: 0x10df did: 0xfe00 ssvid: 0x10df ssdid: 0xfe00 wwnn: 0x20000000c9a98458 wwpn: 0x10000000c9a98458 driver version: Emulex LightPulse Fibre Channel SCSI driver 10.7.0.1 firmware version: 2.82X4 (Z3F2.82X4), sli-3 /sys/class/scsi_host/host3: ...

Итак, с текущими версиями драйвера и прошивки определились, переходим к обновлению.

 

Обновляем драйвер

Драйвер контроллера FC2242SR для ОС RHEL7 удалось найти по ранее описанной схеме. Судя по  странице загрузки драйверов для этой модели контроллера можно подумать, что драйвер доступен максимум для RHEL6. На самом же деле драйвер для RHEL7 таки есть и в ходит в пакет под называнием Red Hat Enterprise Linux 7 Server FCoE/FC Driver Kit for HPE Emulex CNAs, HBAs and mezzanine HBAs and CNAs. Загрузить его можно со страницы одного из современных HBA поддерживаемых эти пакетом, например отсюда. Текущая версия пакета драйверов 10.7.110.34 (01.04.2016) доступна к загрузке здесь. Несмотря на то, что на веб-странице замечаний о версии в списке поддерживаемых контроллеров нет информации о том, что наш контроллер поддерживается этим пакетом драйверов, если заглянуть в файл Release Notes, находящийся здесь же, то в нём мы таки увидим информацию о поддержке нашего контроллера. "Классика жанра" от HP...

Загружаем и устанавливаем пакет с драйвером:

# wget http://ftp.hp.com/pub/softlib2/software1/pubsw-linux/p2105197211/v115776/kmod-elx-lpfc-10.7.110.34-1.rhel7u2.x86_64.rpm -P ~/HP/ 
# yum install ~/HP/kmod-elx-lpfc-10.7.110.34-1.rhel7u2.x86_64.rpm

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

# cat /var/log/dmesg | grep Emulex

[0.943472] Emulex LightPulse Fibre Channel SCSI driver 10.7.110.34
[0.943474] Copyright(c) 2004-2015 Emulex.  All rights reserved.
[0.944596] scsi host1: Emulex LPe11000 PCIe Fibre Channel Adapter  on PCI bus 13 device 00 irq 17
[2.095408] scsi host3: Emulex LPe11000 PCIe Fibre Channel Adapter  on PCI bus 13 device 01 irq 18

Проверим информацию об обновлённой версии модуля ядра lpfc:

# modinfo lpfc

filename:       /lib/modules/3.10.0-327.18.2.el7.x86_64/weak-updates/elx-lpfc/lpfc.ko
supported:      external
version:        0:10.7.110.34
author:         Emulex Corporation - tech.support@emulex.com
description:    Emulex LightPulse Fibre Channel SCSI driver 10.7.110.34
license:        GPL
rhelversion:    7.2
...
depends:        scsi_transport_fc,crc-t10dif
vermagic:       3.10.0-327.el7.x86_64 SMP mod_unload modversions
...

Драйвер обновлён.

 

Устанавливаем HPE Fibre Channel Enablement Kit

Для работы утилиты обновления прошивки, которую мы будем использовать в дальнейшем, потребуется наличие установленного пакета утилит HPE Fibre Channel Enablement Kit for Red Hat Enterprise Linux 7 Server – Emulex.

Загружаем и устанавливаем текущую версию 10.7.110.34 (01.04.2016):

# wget http://ftp.hp.com/pub/softlib2/software1/pubsw-linux/p1248469662/v115770/HP-CNA-FC-Emulex-Enablement-Kit-10.7.110.34-1.rhel7.x86_64.rpm -P ~/HP/ 
# yum install ~/HP/HP-CNA-FC-Emulex-Enablement-Kit-10.7.110.34-1.rhel7.x86_64.rpm

 

Обновляем Firmware

Находим на сайте HP утилиту обновления HPE Firmware Flash for Emulex Fibre Channel Host Bus Adapters - Linux (x64). Текущая версия 2016.02.02 (01.04.2016). В инструкции по установке находим требование о том, что перед использованием этой утилиты предварительно уже должны быть установлены пакет утилит и драйвер совместимой версии (их мы установили ранее):

The HPE supplied Emulex driver and enablement kit must be installed prior to this firmware component being identified by HP SUM for deployment.
* Linux FC Driver Kit for HPE Branded Emulex FC HBAs and mezz cards, version 10.7.110.34, for Red Hat 6, Red Hat 7, and Novell SUSE 11, SUSE12
* HPE Fibre Channel Enablement Kit for Linux, HP-CNA-FC-Emulex_Enablement-Kit, version 10.7.110.34.
The Enablement Kit requires that the target environment have the libHBAAPI package installed from your OS installation media.
Install the FC Driver Kit, reboot, and then install the Enablement Kit.
Additional requirements:
* Environment must be running the syslog daemon for the flash engine to run
* Environment must have 32-bit netlink library (libnl.so) installed for component to be able to discover Emulex HBAs

Убедившись в том, что данная версия утилиты является самой свежей переходим на вкладку информации об этой версии и проверяем, если ли там поддержка нашего контроллера. В данном случае этой информации нет, значит нужно перейти на вкладку истории версий и выбрать предыдущую версию прошивки. Это приходится делать потому, что пакет не является кумулятивным и от версии к версии меняет состав входящих в него прошивок для разных контроллеров Emulex. Таким образом мы ищем информацию о поддержке нашего контроллера в предыдущих релизах и добираемся до версии 2015.02.01 (30.03.2015), где эта поддержка присутствует.

Загружаем и устанавливаем пакет с утилитой обновления firmware:

# wget http://ftp.hp.com/pub/softlib2/software1/sc-linux-fw-sys/p90363882/v101478/RPMS/x86_64/hp-firmware-fc-emulex-2015.02.01-1.1.x86_64.rpm -P ~/HP/
# yum install ~/HP/hp-firmware-fc-emulex-2015.02.01-1.1.x86_64.rpm

Установка пакета развернёт утилиту обновления в каталог /usr/lib/x86_64-linux-gnu (на 64-битной системе) или /usr/lib/i386-linux-gnu (на 32-битной системе)

# ls -la /usr/lib/x86_64-linux-gnu

drwxr-xr-x.  2 root root 4096 Jun  6 19:14 hp-firmware-fc-emulex-2015.02.01-1.1
drwxr-xr-x.  2 root root 4096 Jun  6 19:14 hp-scexe-compat

 Переходим в подпапку с новой версией firmware и запускаем скрипт обновления .hpsetup

# cd /usr/lib/x86_64-linux-gnu/hp-firmware-fc-emulex-2015.02.01-1.1/
# ./.hpsetup

image

В моём случае прошивка контроллера уже была обновлена ранее через HP SPP, поэтому скрипт сообщает о том, что ничего делать не требуется. Кстати здесь же, в каталоге, где расположена утилита обновления прошивки, есть два текстовых файла – readme.txt и fwmatrix.txt. Эти файлы содержат информацию о поддерживаемых данным пакетом прошивок моделей FC контроллеров. 

image

И здесь мы можем убедиться в том, что данный пакет прошивок содержит туже версию прошивки, что уже используется на нашем контроллере (напомню, что информацию о версии прошивки мы получали ранее с помощью утилиты adapter_info).

Только один комментарий Комментировать

  1. Алексей Максимов / Автор записи

    Последняя версия пакета драйвера, в которой имеется поддержка контроллеров FC HBA HP FC2242SR (Emulex LightPulse FC HBA LPE11002) Dual-Port PCI-E 4Gb: 11.1.183.21(C)(17 Apr 2017)

    Для ручной загрузки и установки драйвера:

    wget https://downloads.hpe.com/pub/softlib2/software1/pubsw-linux/p2105197211/v125807/kmod-elx-lpfc-11.1.183.21-1.rhel7u2.x86_64.rpm -P ~/HP/
    yum install ~/HP/kmod-elx-lpfc-11.1.183.21-1.rhel7u2.x86_64.rpm

    Начиная с версии 11.2.254.6 (12 Jul 2017) драйвер FC2242SR из пакета исключён, поэтому во избежание проблем желательно отключить автоматическое обновление пакета kmod-elx-lpfc из репозиториев HP SPP. Для этого в файл репозитория, например /etc/yum.repos.d/HP-SPP-Current.repo, про который упоминалось ранее в конец секции [HP-SPP-Current], описывающей параметры репозитория можно добавить строку exclude=kmod-elx-lpfc*

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