CentOS 7 и контроллер HPE B320i

  • Tutorial

Понадобилось на днях установить старенький 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

    Пример получения списка физических дисков
    Пример получения списка физических дисков
Реклама
AdBlock похитил этот баннер, но баннеры не зубы — отрастут

Подробнее

Комментарии 8

    +3
    Этот раид контроллер и так и так программный. что на уровне ОС ради делать, что на уровне драйвера. только во втором случае программный слой будет скрыт от ОС.

    В таком случае, делать раид средствами ОС даже предпочтительнее, т.к. обладает бОльшей управляемость и предсказуемостью в случае выхода из строя диска
      0

      Очень верно подмечено. Плюс залипнуть на одной версии ядра. Мне в свое время хватило печального опыта с подобными контроллерами, которые достались на серваках с боевыми системами, когда нужен был апгрейд, но фигушки.
      Хотя справедливости ради, стоит отметить, что в том же EL8 редхаты выпилили поддержку кучи аппаратных контроллеров, которые еще вполне себе актуальны и пользуются спросом на вторичке типа lsi 2x08.

        0
        Обратите внимание, драйвер rhel7u8 спокойно работает в текущей CentOS 7.9. И в 6-ке конкретно на этой машине пройдено не мало апдейтов, все ровно. Благо, она в парке всего одна с таким адаптером. Год лежала без дела, дождалась, нашлось ей применение. )
        На грабли можно наступить и с отказом вполне надежных настоящих аппаратных и Адаптеков и LSI — через это тоже проходили.
        Выпилили старье — и не надо держаться за это «наследие». Оно тянет назад. Нет смысла поддерживать его во всем многообразии везде и всюду. Ядро будет несоразмерно распухшим. Старому железу — старые ОС, 7-ка еще до 2024 поддерживается.
        0
        Да, он по сути программный. Однако управляется нормально, причем единообразно и в M$ Окнах, и в Linux, и в ESXi (который, будучи энтерпрайзным продуктом, чисто программные массивы не поддерживает вообще). Об управлении из ОС есть раздел в статье.
        После замены диска контроллер сам соберет массив без каких либо дополнительных настроек со стороны ОС.
        О потенциальной опасности этого (как, впрочем, и любого другого с железной составляющей) контроллера против программного массива есть предупреждение. Но надо помнить, что идеальная надежность — штука почти не достижимая и надо понимать, против каких рисков какие меры следует применять.
        0
        А потом Redhat что-то поменяет в ядре и текущий драйвер превратится в тыкву с обновлением. Насколько я помню такое уже было один раз точно. Аналогично разок сам наступил на такие же грабли со связкой CentOS 7 + DKMS + ixgbe. Нативный драйвер сетёвки любил чудить переставляя пакеты в буфере местами (как на приеме, так и на отправке). Для TCP ничего критичного, но вот MPEG2TS-over-IP страдал. Собрал свежий igxbe без таких чудес из исходников, инсталлировал через DKMS и спустя год весь этот карточный домик на костылях рухнул при обновлении ядра. К тому моменту, к счастью, эту багу пофиксили в нативном модуле.
          0
          Никого не оправдываю, но у всех бывают ошибки. И у Intel'а и RH и M$ и у <впишите своего любимого вендора>. RedHat не так часто вносит критические изменения и для этого есть какие-то причины. А если что-то и не работает, у Вас же есть подписка и можете обратиться в ТП? )) Ну а если нет — система живет без гарантии, на свой страх и риск. Об этом всегда следует помнить, не зависимо от от любви или ненависти к Linux. Равно как и в ОС от M$ тоже случаются чудеса, кратно усиливающиеся после обновлений, вплоть до BSoD.
          0
          Вроде еще в доке для CentOS 5 был описан данный метод подгрузки драйвера во время инсталляции ОС. Перевод просто запостили?
            0
            В документации ОС процесс обновления описан как для 5-ки (и более ранним)), так и по 7-ке, в статье есть ссылка на него. Любопытные могут ознакомиться, там много интересного. Есть и по 8.
            Опять же в родной документации к ОС есть и описание этой ситуации. В статье также есть на нее ссылка.
            Перевод чего? Если уже говорить о переводах, то это скорее что-то около HPE-шное. Но статья — туториал, а не перевод. Просто обмен опытом по вполне конкретной задаче. На HPE-шные ресурсы тоже указаны ссылки.
            Итого: статья полное пошаговое руководство по конкретной задаче с отсылкой к первоисточникам.

            Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

            Самое читаемое