Итак, однажды я столкнулся с одним интересным и стареньким RAID-контроллером intel RS2BL040. Сервер попал на обслуживание и массив жёстких дисков давно начал разваливаться. После обслуживания, диагностики и удаления вышедших из строя жёстких дисков хотелось собрать RAID10 из оставшихся накопителей и настроить удалённый мониторинг и управление данным контроллером, чтобы избежать подобных ситуаций в будущем.
Данный контроллер поддерживает горячее извлечение накопителей и горячий резерв (Hotspare). Данная технология позволяет пометить свободный жёсткий диск как резервный, и в случае выхода из строя одного из накопителей в массиве он автоматически встанет на его место с полным копированием данных с зеркала. Это крайне удобно для отказоустойчивости и непрерывной работы сервера. Ведь в ином случае придётся ехать в серверную, останавливать сервер, менять жёсткий диск, запускать и ждать перестроения массива из BIOS самого контроллера с простоем всех сервисов на сервере. А это такое себе удовольствие как для администратора, так и для пользователей.
Первым делом за программным обеспечением я конечно же пошёл на сайт производителя intel, но обнаружил на нём лишь старые драйвера для различных операционных систем. Я конечно понимаю, что контроллер крайне старенький и поддерживать актуальное ПО нет смысла, но сносить-то всё зачем? На сторонних сайтах удалось найти старенькую версию intel Raid Web Console 2 для Linux, которая отказывалась корректно заводиться на Debian. Копался я в данной утилите долго и обнаружил упоминание о совсем другом продукте – MegaRAID Storage Manager, который не имеет отношения к intel, как-будто они взяли чужое программное обеспечение и просто поменяли название и логотип.
При дальнейших поисках выяснилось, что оказывается данный контроллер обычный LSI 9260-4i от Avago. В 2016 году Avago Technologies Limited сменила название на Broadcom и приобрела Broadcom Corporation, поэтому финальные поиски привели меня на broadcom.com. И как же замечательно, что свои старые продукты они поддерживают до сих пор! И вместо старой intel Raid Web Console мне наконец-то удалось заполучить свежую версию MegaRAID Storage Manager 17.05.06.00 22 года выпуска для семейства Linux Red Hat. RPM пакеты не предназначены для установки на Debian, но в будущем для нас с тобой это не будет проблемой. Читаем файл read.me и убеждаемся, что наш MegaRAID SAS 9260-4i отлично поддерживается.
Настройка сервера
Ну что ж, после столь увлекательного приключения приступаем к установке!
Для данного сервера был выбран гипервизор Proxmox на базе Debian, в дальнейшем с ней и будем работать. Данная статья подойдёт для всех операционных систем семейства Debian, например той же Ubuntu.
Поехали?! Подключайся по SSH и обновляй операционную систему.
apt update && apt upgrade -y
Скачивай ранее найденный дистрибутив утилиты MegaRAID Storage Manager для Linux.
wget https://docs.broadcom.com/docs-and-downloads/17.05.06.00_MSM_Linux-x64.zip
Дистрибутив лежит в архиве zip, для распаковки тебе понадобиться пакет unzip, если он у тебя не установлен в системе.
apt install unzip
У меня он стоял из коробки, поэтому распаковываю скаченный архив в ту же директорию.
unzip 17.05.06.00_MSM_Linux-x64.zip
В архиве лежит текстовый документ с контрольной суммой MD5 и дистрибутив утилиты, упакованный в еще один архив в формате tar.gz. Распаковывай так же в текущую директорию.
tar -xzvf MSM_linux_x64_installer-17.05.06-00.tar.gz
Все извлечённые файлы окажутся в каталоге disk, но нас с тобой интересуют только rpm пакеты, которые не предназначены для Debian. Для преобразования файлов rpm в deb тебе понадобится установить пакет alien.
apt install alien
Переходи в каталог disk и преобразуй все rpm пакеты в deb. Это может занять какое-то время.
cd disk
alien --scripts *.rpm
Судя по документации, для работы нашей утилиты нужны ещё несколько пакетов. Один из них Libstdc++. Он у меня уже стоит в Proxmox из коробки, но если у тебя голая система, то надо бы установить.
apt install libstdc++6
По умолчанию библиотека лежит в каталоге для 32-битных приложений. Чтобы наша 64-битная утилита с ней работала, создай каталог, если он отсутствует, и сделай в нём символическую ссылку на нашу библиотеку.
mkdir /usr/lib64/
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib64/libstdc++.so.6
Так же тебе понадобится Java RE. После установки можешь проверить версию, чтобы убедиться в корректной установке.
apt install default-jre
java -version
Ну вот и приступаем наконец-то к тому, зачем мы здесь сегодня собрались! Посмотри какие пакеты deb у тебя есть в текущем каталоге disk, установи только следующие пакеты MegaRAID Storage Manager и перезагрузись.
ls *.deb
dpkg -i lib-utils2_1.00-12_all.deb
dpkg -i megaraid-storage-manager_17.05.06-1_all.deb
reboot
Запусти службу MegaRAID Storage Manager.
systemctl start vivaldiframeworkd.service
Добавь её в автозапуск при старте сервера.
systemctl enable vivaldiframeworkd.service
Проверь работу службы.
systemctl status vivaldiframeworkd.service
Если всё прошло успешно, увидишь следующую радостную картину. Служба активна и никаких ошибок не наблюдаем.

Настройка клиента
Теперь мы хотим удаленно мониторить жёсткие диски и управлять RAID-контроллером через графический интерфейс на компьютере под управлением Windows в той же локальной сети.
Переходи туда же на сайт broadcom.com в раздел «Management Software and Tools» и скачивай MegaRAID Storage Manager 17.05.06.00 для Windows.
Для работы приложения под Windows так же нужен Java RE. Шагай на сайт java.com и качай установщик 32-битной или 64-битной версии, в зависимости от разрядности твоей операционной системы. Запускай установщик, никаких особенных настроек не нужно, просто жми кнопку install и через минуту получишь сообщение об успешной установке.

Распакуй ранее скачанный архив с MegaRAID Storage Manager для Windows, в нём так же лежит файл с контрольной суммой MD5 и ещё один архив непосредственно с самой программой. Распакуй и его. Запусти setup.exe, нажми далее и согласись с лицензионным соглашением, папку установки оставляем по умолчанию. Далее выбери выборочную установку и установи только клиент.


Откажись от конфигурации LDAP.

На следующем этапе желательно выбрать размер ключа шифрования соединения 2048 бит из соображений безопасности, но если ты выбрал шифрование в 1024 бита, то ничего страшного, далее я расскажу тебе как переключиться на него на сервере, иначе твой клиент просто не увидит сервер или будет получать ошибку sslSession is INVALID.

Далее выбери с какого момента можно генерировать оповещения о проблемах на своё усмотрение: с момента последнего отключения, очистки лога или перезагрузки, и заверши установку.
При первом запуске MegaRAID Storage Manager, я просто уверен, выдаст ошибку «Не удается найти “\bin\javaw”. Проверьте, правильно ли указано имя и повторите попытку».

Всё дело в том, что приложение написано на Java, и запуск происходит при помощи bat-файла – startupui.bat. В нем путь до исполняемого модуля javaw прописан через переменную окружения JRE_HOME, которая не указана у тебя в системе. Давай сделаем это!
Открой окно «Выполнить» сочетанием клавиш Windows+R, введи sysdm.cpl и нажми ОК для запуска. В открывшемся окне свойств системы переходи во вкладку «Дополнительно», далее нажми кнопку «Переменные среды» в правом нижнем углу окна.

Создай новую системную переменную окружения с именем JRE_HOME, и в значении переменной укажи путь до установленного экземпляра Java RE, у меня это C:\”Program Files”\Java\jre1.8.0_451\. Обрати внимание, что слова в путях, разделённые пробелами, всегда заключаются в кавычки, в моём случае это «Program Files».

Закрой все окна на кнопки ОК для сохранения внесённых изменений. Для вступления в силу настроек желательно перезагрузить компьютер.
После запуска MegaRAID Storage Manager убери галочку с «Use LDAP Login», пропиши IP-адрес своего сервера с RAID-контроллером и нажми кнопку «Discover Host» для поиска. У меня клиент не видит сервер, так как при установке клиента я указал 1024-битный ключ шифрования, а на сервере по умолчанию стоит 2048 бит. Помнишь я обещал показать как это исправить?

Подключайся к серверу по SSH и останавливай службу MegaRAID Storage Manager.
systemctl stop vivaldiframeworkd.service
Нам необходимо отредактировать следующие три файла. Закомментируй строку с параметром vivaldikeys2048 символом решётки и раскомментируй строку ниже как показано на скриншоте ниже. Сохрани внесённые изменения сочетанием клавиш Ctrl+O и нажми Enter для подтверждения. Выйти из редактора nano можно сочетанием клавиш Ctrl+X. Внеси данные изменения в оставшиеся два файла.
nano /usr/local/MegaRAID\ Storage\ Manager/vivaldikey.properties
nano /usr/local/MegaRAID\ Storage\ Manager/MegaPopup/vivaldikey.properties
nano /usr/local/MegaRAID\ Storage\ Manager/Framework/vivaldikey.properties

После успешного внесения изменений в конфигурационные файлы, можешь запускать службу и подключаться.
systemctl start vivaldiframeworkd.service
Теперь клиент видит сервер и ты можешь спокойно подключиться, используя логин и пароль администратора Debian от своего сервера.

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

Ну вот мы и в графическом интерфейсе управления нашим старичком. Тут можно посмотреть подробную информацию о массиве, физических и виртуальных дисках, обновить прошивку, подготовить диск для горячей замены или извлечения и много ещё чего. В целом интерфейс не сложный и достаточно удобный. Кстати, мне он помог устранить одну небольшую проблему и подготовить резервный накопитель не выходя из офиса. Красота, не правда ли?
Обзор возможностей данной утилиты, пожалуй, тема для отдельной статьи. Так что на этом у меня всё. Рад если помог тебе разобраться в данном непростом вопросе, и удачи в этом интересном мире технологий!