На вопросе выбора между стилями разметки останавливаться не буду – в условиях настольной системы практического значения он не имеет, за одним исключением: применение таблицы MBR (именуемой также не вполне точно разметкой в стиле MSDOS) проще, поэтому далее будет рассматриваться именно она.
Так или иначе, на одном из дисков требуется создать раздел под будущий корень файловой иерархии (размером около 10 ГБ или немного больше), а затем на обоих – по разделу примерно одинакового объёма, которые будут объединяться в RAID. Я в случае двухдисковых конфигураций создаю обычно два обычных раздела – на один устанавливается система для практической работы, на другой – для экспериментов, раздел же под /home на RAID Level 0 для них оказывается общим.
В принципе, никто не запрещает и корень файловой иерархии разместить на программном RAID Level 0. Но, поскольку загрузка ядра Linux с последнего невозможна, в этом случае придётся создавать на одном из дисков небольшой (несколько десятком мегабайт) раздел под будущий каталог/boot. Выигрыша же в быстродействии от размещения корня на RAID я не наблюдал, особенно если система устанавливается не на традиционные винчестеры, а на SSD.
Вне зависимости от используемых для разметки инструментов, важный момент – правильное определение идентификаторов типа файловой системы создаваемых разделов. Если для разделов под корень (или под /boot) его следует сохранить присвоенный по умолчанию тип 83 (Linux native), то для разделов под RAID он должен быть изменён на fd (Linux raid autodetected).
Закончив с разметкой диска, приступаем к созданию программного RAID'а. Это делается с помощью утилиты mdadm, которая в рассматриваемом случае запускается в такой форме:
# mdadm --create /dev/md0 --auto=yes --level=0 --raid-devices=2 /dev/sd[a,b]2
Здесь --create (или -C) – субкоманда создания массива, в качестве аргумента которой указывается имя его файла устройства, --level – определение его уровня, --raid-devices – число входящих в массив устройств с указанием их имён (/dev/sda2 и /dev/sdb2). Опция же --auto=yes предписывает создать устройство именно с указанным в примере именем. Иначе после перезагрузки оно может оказаться чем-нибудь вроде /dev/md127, что потребует дополнительных действий по редактированию /etc/fstab. И, разумеется, имена файлов устройств должны быть указаны в соответствие с реалиями целевой машины.
После создания RAID'а результат выполненных действий может быть проверен такой командой:
# mdadm --detail /dev/md0
Если всё было сделано правильно, вывод её должен выглядеть примерно так:
1 8 18 1 active sync /dev/sdb2
Вместо субкоманды --detail можно использовать её сокращённую форму -D. А подробную справку по субкомандам mdadm и её опциям можно получить с помощью общей директивы:
$ mdadm --help
Которая может детализироваться для отдельных субкоманд:
$ mdadm --create --help
Из вывода последней можно узнать о таких дополнительных параметрах, как указание размера блока «распараллеливания» (Chunk Size), который теоретически должен влиять на быстродействие (чем больше, тем лучше), Однако сведений, насколько это чувствительно в десктопной обстановке, я не нашёл, и потому проще положиться на умолчание mdadm; как можно видеть из вывода субкоманды -D, оно составляет 512 Кбайт.
Завершив создание RAID, на нём (и на обычных разделах) можно создать и файловые системы одной из команд семейства mkfs (mkfs.ext4, mkfs.xfs и так далее – в зависимости от того, какие из них предполагается использовать). Но это вполне возможно выполнить и из инсталлятора, который запускается командой setup. Единственный момент, требующий внимания – после определения корневого раздела (например, /dev/sda1) и его форматирования не забыть выбрать для форматирования и монтирования устройство программного RAID (в примере – /dev/md0).
Есть ли особенности при установке на SSD?
До недавнего времени широко обсуждался вопрос об особенностях установки Linux на SSD. Это было связано с необходимостью выравнивания разделов на твердотельных накопителях по границам так называемых «блоков стирания». Невыполнение этого требования угрожало как снижением быстродействия дисковых операций, так и повышенным износом накопителей.
Ныне вопрос этот потерял актуальность. Во-первых, современные версии всех утилит дисковой разметки, перечисленных в предыдущем разделе статьи, выравнивают границы дисковых разделов оптимальным образом. Во-вторых и главных, совершенствование контроллеров SSD «массового уровня» увеличило ресурс записи на них до величин, практически недостижимых в условиях десктопного применения. В промышленных же серверах, где эта проблема по-прежнему может возникать, разумными людьми применяются накопители другого уровня (и другой стоимости).