Всем привет. Ниже будет пафосный лонгрид про Linux, RAID и Fujitsu. Тем, кто равнодушен к этим словам, можно смело пропустить этот пост. Как обычно, пишу в основном для себя, чтобы впоследствии вспомнить ход мыслей и пути решения проблемы.
Год назад возникла необходимость поднять сервер сетевых дисков на Fujitsu Primergy RX1330. Моя любимая операционка для таких задач - Debian. Уже несколько лет я её использую и как серверную, и как бытовую операционку на личном ноутбуке. В комплектацию RX1330 входит аппаратный RAID контроллер. В моём распоряжении было два SAS диска по 1 ТБ, и я решил создать зеркальный RAID1 массив. С наскоку поднять RAID не удалось, а так как работать пришлось в жестком дефиците времени, я временно развернул сервер только на одном диске, решив вернуться к вопросу позже.
И вот момент настал. За это время у меня появился успешный опыт подъёма RAID1 и установки Windows Server на Fujitsu Primergy RX200. Удалось не с первой попытки. Мне не хватило терпения дождаться завершения инициализации массива. На недоинициализированном массиве установка операционки начиналась, но в процессе вылетала в BSOD. Вскоре я понял свою ошибку, изучая сообщения RAID-а с помощью сервисного DVD от Fujitsu. После окончания инициализации установка завершилась успешно.
С этими сведениями я вернулся к RX1330, решив, что год назад совершил аналогичную ошибку. Но инициализация массива завершилась, а Debian по-прежнему устанавливаться в режиме RAID не захотел. Пришлось углубиться в изучение вопроса.
Ошибка возникала на этапе установки GRUB, при этом установщик спрашивал путь установки, предлагая на выбор /dev/sda и /dev/sdb - физические диски, из которых состоит RAID. Любой выбор приводил к ошибке, а после перезагрузки RAID оказывался деградированным, целостность массива была нарушена. Завариваем кофе и начинаем курить форумы.
Здесь я бы хотел "поблагодарить" форумных охотников за репутацией, которые не имея доступа к соответствующему оборудованию, начинают давать советы из гугла. Так, я впустую потратил время на ключ установки dmraid=true (как оказалось, он нужен для дешевых неполноценных RAID-контроллеров в составе бытовых материнских плат, так называемых fakeraid), на попытки ручного ввода путей установки GRUB (/dev/md1, /dev/md126, /dev/md126p1, /dev/md127...), на установку GRUB одновременно на оба физических диска (это, разумеется, не спасало RAID от деградации).
К этому моменту я начал понимать, что Debian не видит железного RAID как устройства, а пытается работать с software RAID. Это говорит об отсутствии драйвера (спасибо, кэп). Название драйвера отсутствует в спецификациях на сайте производителя, но его можно увидеть в утилите ServerView Installation Manager из сервисного DVD. Нужный нам драйвер называется megasr, и в Debian он действительно отсутствует (в интернете можно найти следы его поддержки, но тут, похоже, сыграла роль доступности исходников). Заявленные производителем поддерживаемые операционки - Red Hat Linux и Suse Linux, оба rpm-дистрибутивы.
Некоторое время я рассматривал, как вариант, программный RAID от Debian. Но тогда нужен отдельный маленький раздел GRUB вне RAID, что приводит к ассимметричной геометрии, и соответственно, к потере возможности горячей замены повреждённого диска. Это была основная причина, по которой я решил отказаться от идеи использовать Debian на этом сервере. Начинаем изучать альтернативы.
Red Hat и Suse - платные дистрибутивы, стоимость подписки начинается от 349 долларов в год. Но у них есть бесплатные близнецы, на которых производится обкатка новых программ. Для Red Hat это Fedora, для Suse - OpenSuse. Мне не удалось найти упоминания о наличии поддержки megasr в Fedora. Эксперимент это подтвердил - установщик Fedora не смог увидеть RAID контроллер. Но OpenSuse Leap 15.1 успешно справился с задачей.
Что меня искренне радует в Linux, не смотря на различия менеджеров пакетов, большинство программ идентичны для всех дистрибутивов. После запуска сервера на настройку сетевых дисков ушли минуты - ssh, samba, ufw, crontab в OpenSuse те же самые, что и в Debian. Менеджер пакетов zypper от aptitude, разумеется, отличается, но не критично.
Итоговый алгоритм простой: используя сервисный DVD определить название драйвера, затем найти дистрибутив, который его поддерживает.
No comments:
Post a Comment