Проблема: имеем 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 в центе по-человечески? Точнее что сделать, чтобы скрипт автозапуска таки запускался при старте?