LINUX.ORG.RU
ФорумAdmin

Автостарт mdadm после перезагрузки CentOS (RHEL)

 , ,


0

1

Проблема: имеем XenServer 6.1, то есть по сути CentOS 5. К нему подключены 4 диска, внимание, размером 3Tb. Хочется RAID10. Курим man mdadm, убеждаемся, что нужно использовать суперблоки версии 1, а не 0.9. Собственно весь цивилизованный мир их и использует и у меня никогда не было с ними проблем.

Как всегда даём стандартную команду:

mdadm --create --verbose /dev/md0 --level=10 --metadata=1.2 --raid-devices=4 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1

Дальше кидаем поверх LVM ну и т.д. Радуемся прекрасной работе. До перезагрузки. После перезагрузки, вот удивление, как всегда происходит с CentOS - нифига не работает.

Ладно, начинаем копать. Выясняется, что цент не содержит вообще ни одного скрипта для обслуживания mdadm! Ни настроек, ни мониторинга, ни автозапуска - ничего. Нет, я понимаю, что в тепличных условиях ядро вам соберёт 0.90 суперблоки само. Но поддержка 0.90 объявлена устаревшей чёрт знает когда и у меня, блин, 3Tb!

С матюгами копирую из дебиана /etc/init.d/mdadm-raid, /etc/default/mdadm, /usr/share/mdadm/*, /etc/cron.*/mdadm, /etc/init.d/mdadm и файлик для bash comletion. Попутно выясняется, что в центе нету start-stop-daemon, равно как и никакой замены для него. Так что про постоянный мониторинг можно забыть, без костылей не делается. /lib/lsb/ содержит каких-то 2-3 кастрированных функции, так что всё логгирование из mdadm-raid вырезаем, пихаем всё на место, делаем

chkconfig --add mdadm-raidэ

перезагружаемся и закономерно нифига, хотя при ручном запуске service mdadm-raid start всё работает. Вопрос: как же заставить работать mdadm в центе по-человечески? Точнее что сделать, чтобы скрипт автозапуска таки запускался при старте?

Оказалось, что мониторинг есть. Кроме этого оказалось, что всего лишь надо было дописать кроме INIT INFO ещё пару строчек в стартовый скрипт:

# chkconfig: 2345 14 86
# description: this script assembles a system's MD arrays
# config: /etc/mdadm/mdadm.conf

дабы оно запускалось до и гасилось после mdmonitor. Попутно нашёлся этот самый mdmonitor, который является кастрированной версией дебиановского скрипта, но нехитрым напильником приводится в божеский вид. Особенность всех скриптов цента в том, что они жётско прибит к OBSOLETE /etc/mdadm.conf, так что пришлось сделать на всякий симлинк

ln -s /etc/mdadm/mdadm.conf /etc/mdadm.conf

В итоге алгоритм такой: копируем всё из дебиана кроме init.d/mdadm (мониторинг), удаляем логгирование из mdadm-raid, дописываем туда chkconfig'овскую инфу и меняем ранлевелы в INIT INFO, правим mdmonitor, запускаем mkconf и радуемся жизни. ЦентОС - собери Linux сам!

Malamut
() автор топика
Ответ на: комментарий от Malamut

[краткий мануал как из двух дистрибутивов собрать слаку]

berrywizard ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.