Содержание материала

Особенности построение Soft-RAID-1 в Linux
c установленным udev, используя mdadm

Введение

Пытаясь построить программный RAID-массив, используя найденные в сети Интернет описания и руководства, я столкнулся с проблемой, описание решения которой я найти не смог. Кроме того настроенный сервер может проработать довольно долго, и когда произойдет серьезный сбой, вероятность подобной неприятности нельзя исключать никогда, систему возможно придется ставить с нуля.
Все мои записи сейчас разбросаны как попало. И чтобы их как-то упорядочить, я решил написать это руководство. Понятно, что пишу его я в основном для себя, но если оно поможет еще кому-нибудь, я буду только рад.

udev и mdadm

Как уже было сказано, построить RAID согласно различным описаниям и How-To я не смог. Дело в том, что на моем сервере я планировал поднять несколько RAID-массивов. Для каждого массива должен быть файл устройства /dev/mdN (где N – номер устройства), и если соответствующего файла нет, его нужно создать:

mknod /dev/md0 b 9 0
mknod /dev/md1 b 9 1
...
mknod /dev/mdN b 9 N

И все бы хорошо, но после перезагрузки созданные файлы /dev/mdN бесследно исчезают. Все, кроме /dev/md0. Соответственно RAID-массивы не запускаются, ссылаясь на отсутствие файлов устройств.
Виноват в исчезновении файлов udev.
Что такое udev? Вольный перевод соответствующего определения с man-страницы в man (8) udev, это - поддержка настраиваемого динамического именования устройств в Linux.
В отличие от devfs, udev - не новая поддерживаемая ядром файловая система, пусть и виртуальная, а обычная пользовательская программа. Более того, при ее использовании необходимость в поддержке devfs как будто бы отпадает вообще.
Правда, для своего функционирования udev нуждается в еще одной виртуальной файловой системе - sysfs, но ее поддержка в ядрах серии 2.6.X осуществляется автоматически (а сама эта файловая система монтируется по умолчанию в каталог /sys), основываясь на информации из которой, udev и присваивает имена всяческим устройствам.
В отличие от raidtools, на котором и строятся RAID-массивы во всех руководствах, mdadm, заявленный в тех же руководствах просто как более удобная и простая альтернатива raidtools, умеет автоматически создавать файлы /dev/mdN, если они отсутствуют.