2009-12-02
Описанные ранее способы создания программного RAID прямыми командами соответствующих утилит отличаются гибкостью, но требуют самой малости — наличия уже установленной системы. И потому не позволяют непосредственно разместить на массиве корень файловой иерархии. Правда, создание массива можно выполнить и перед установкой системы — например, с LiveCD. Однако не факт, что он будет опознан инсталляционной программой произвольного дистрибутива.
Однако существуют дистрибутивы, инсталляционные программы которых позволяют создать программный RAID уже на стадии установки и даже разместить на нём корневую файловую систему. С полной определённостью могу сказать это за Anaconda, используемую в RHEL, Fedora и практически всех их клонах и дериватах, вплоть до ASPLinux, Debian Installer одноимённого дистрибутива, как в текстовой, так и графической его ипостаси, инсталлятора Ubuntu. При этом от пользователя не требуется знание команд и опций — вся процедура осуществляется в графическом режиме простым выбором вариантов. За что, правда, подчас приходится платить некоторой утратой гибкости — что мы скоро увидим на примере рассматриваемого здесь инсталлятора Fedora.
Итак, начинаем инсталляцию Fedora — пусть для определённости это будет последняя, 12-я, версия в модификации Russian Remix. До момента дисковой разметки всё происходит обычным порядком — как было описано на соответствующей странице. А тут, естественно, надо выбрать пункт Собственное разбиение:


... Так что если мы хотим поместить на RAID нулевого уровня корень файловой иерархии, то перво-наперво нам нужно создать на первом из имеющихся дисков раздел под загрузочный каталог /boot. Потому как GRUB способен загрузить ядро Linux только с массива 1-го уровня (да, думаю, и LILO тоже). Делается это обычным, ранее описанным, порядком:

А вот после этого фиксируем курсор мыши на первом из наличных дисков, смело жмём на кнопку RAID и получаем в ответ предложение создать раздел программного RAID'а (собственно, больше ничего в этой панели пока сделать и нельзя):


/home, порядок действий не имеет значения. Предположим для определённости, что мы решили не откладывать создание массива под будущий корень:

/;/dev/md0, также нет смысла отказываться;

/home и повторяем процедуру: создаём пару одинаковых разделов на обоих дисках и объединяем их в массив? предварительно подумав над его уровнем, во-первых, и файловой системе на нём — во-вторых. Возможно, пущей надёжности ради ему стоит определить Level 1 — тогда в случае краха одного из физических носителей удастся спасти пользовательские данные.
Если же пожертвовать надёжностью ради быстродействия, есть смысл подумать о файловой системе XFS — ведь не секрет, что наибольший объём в ряду данных занимает, фигурально говоря, всякого рода "парнуха" — фильмы, музыка etc. То есть большие файлы, требующие под себя большой файловой системы — а именно для этой цели и создавалась XFS. Которая лучше всего и показывает себя на аппаратных и программных RAID'ах. Но это совсем отдельная история, к которой я вернусь после рассмотрения файловых систем вообще.
Тем не менее, я пошёл по более простому пути, разместив на обоих RAID-устройствах файловую систему ext4, что в итоге дало следующую картину:
/dev/sda1 on /boot type ext3 (rw) /dev/md0 on / type ext4 (rw) /dev/md1 on /home type ext4 (rw)А теперь подведём краткий итог: создание soft RAID средствами инсталлятора Fedora выполняется не сложнее создания обычных разделов. Конечно, по сравнению с той же процедурой, осуществляемой прямыми командами, оно несколько менее гибко: в частности, под каждую выделяемую ветвь файлового древа приходится свой отдельный массив из пары разделов; возможности разметить единый массив на разделы тут нет. Что, впрочем, никаких неудобств не доставляет, напротив: позволяет комбинировать для разных каталогов разные уровни. Вплоть до того, что при достаточном объёме дискового пространства можно было бы поместить
/home на RAID Level 0+1.