Понадобилось на днях установить старенький CentOS 7 на старенький ProLiant 360e Gen8. Задача уже экзотическая, но мало ли - вдруг кому пригодится, Maintenance updates для 7-ки обещаны еще до июня 2024, и gen8 еще могут послужить. Сперва опишу проблему, далее будет пошаговое руководство.

Intro

Итак, имеем CentOS/RHEL 7 и ProLiant Gen8 с Dynamic Smart Array B120i/B320i SATA RAID Controller. B120i и B320i очень похожи, отличаются количеством поддерживаемых физических дисков (6 и 8 соответственно) и опциональной поддержкой SAS дисков с дополнительной лицензией в B320i. Контроллеры являются "облегченными" и без проприетарного драйвера не работают, в отличие от полноценных Smart Array (без Dynamic). Руководство применимо ко всем моделям с этим контроллером.

Проблема описана на в статье Is the HP Smart Array B320i, B140i, B120i, B110i controller supported by RHEL or RHELOSP сайте Red Hat. В руководстве по установке можно посмотреть подробнее о параметрах загрузчика.

Issue: Some of the HP Gen8 and Gen9 systems are shipping with either a Smart Array B320i, B140i, B120i, B110i, or other Bxxxi controller that requires a closed source driver to make RAID functionality available to the OS.

Выхода здесь два:

  • переключить контроллер в SATA режим и собрать массив программно средствами ОС;

  • предоставить драйвер программе установки ОС.

Подробности есть в документе HP Dynamic Smart Array B120i and B320i Controllers - Driver Support and Configuration на сайте HPE, здесь же есть о переключении режима контроллера. Документация - QuickSpecs и User Guide для Dynamic Smart Array Controllers.

Нам же интересен 2-й вариант. Контроллер есть, уже куплен - надо использовать! Из очевидных плюсов - простота, никаких дополнительных шагов для загрузчика, boot раздела и т.д.

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

Пошаговое руководство.

  1. Загрузить тот самый драйвер. HPE Dynamic Smart Array B120i/B320i SATA RAID Controller Driver for Red Hat Enterprise Linux 7 (64-bit).

  2. Перейти в папку с загруженным файлом, распаковать его и изменить расширение на iso:
    $ gunzip hpvsa-1.2.16-136.rhel7u8.x86_64.dd.gz && \
    mv hpvsa-1.2.16-136.rhel7u8.x86_64.dd hpvsa-1.2.16-136.rhel7u8.x86_64.iso

  3. Создать образ флоппи-диска (шаг можно пропустить при наличии физического доступа к машине, записав iso-файл на отформатированный в fat32 USB-накопитель):
    $ mkfs.msdos -C hpvsa.rhel7.floppy.img 1440
    $ mkdir /tmp/hpvsa.rhel7.floppy
    $ sudo mount -o loop hpvsa.rhel7.floppy.img /tmp/hpvsa.rhel7.floppy
    $ sudo cp hpvsa-1.2.16-136.rhel7u8.x86_64.iso /tmp/hpvsa.rhel7.floppy
    $ sudo umount /tmp/hpvsa.rhel7.floppy
    $ rm -r /tmp/hpvsa.rhel7.floppy

  4. Подключаем в iLO Remote Console образы дистрибутива и флоппи-диска с драйвером, загружаемся с загрузочного диска, F11 Boot Menu.

  5. В параметры загрузчика дописываем (по нажатию Tab):
    (Прим.: в 5 и 6 было linux dd blacklist=ahci с добавлением vmalloc=384M для 32-битных ядер)
    modprobe.blacklist=ahci inst.dd

    Добавление параметров ядра
    Добавление параметров ядра
  6. Выбираем драйвер:

    Выбор драйвера
    Выбор драйвера
  7. Продолжаем обычную установку.

На этом все. К сожалению, не удалось найти действующий репозиторий с модулями ядра, чтобы автоматически поддерживать его актуальность. Последний в репозиториях - старый rhel7u5.

Дополнение

Для работы с контроллером и массивом непосредственно из ОС можно установить программу Command Line Smart Storage Administrator - ssacli.

  1. Импортируем публичный ключ HPE:
    rpm --import https://downloads.linux.hpe.com/SDR/hpePublicKey2048_key1.pub

  2. Создаем репозиторий

    vim /etc/yum.repos.d/mcp.repo
    [mcp] name=Management Component Pack
    baseurl=http://downloads.linux.hpe.com/repo/mcp/centos/$releasever/$basearch/current/
    enabled=1
    gpgkey=file:///etc/pki/rpm-gpg/GPG-KEY-mcp

  3. Установка:
    yum install amsd ssacli

  4. Использование:
    ssacli help

    Пример получения списка физических дисков
    Пример получения списка физических дисков