Книга: Погружение в Salix

Установка на программный RAID

Установка на программный RAID

На стадии выбора режима инсталляции будущему применителю предоставляется ещё один вариант выбора – пункт Exit Installation с выходом из программы установки в командную оболочку. Командой

root@salix64:/#echo $SHELL

она определяется как /bin/sh, то есть POSIX Shell, однако на самом деле представляет собой оболочку Альмквиста (ash) из набора Busybox. Она предоставляет такие возможности для комфортной интерактивной работы, как автодополнение команд и путей, историю команд, контроль заданий. В сборку Busybox включено более 500 утилит командной строки, преимущественно административного назначения. А из вида приглашения командной строки можно заключить, что запущена оболочка с правами суперпользователя.

Таким образом, в руках будущего применителя Salix фактически оказывается весьма полная консольная система. Зачем она ему может понадобиться? Ответить нетрудно: хотя инсталлятор этого дистрибутива и позволяет использовать более одного целевого диска, например, подмонтировав второй в качестве /home, но по-настоящему мультидисковых конфигураций не поддерживает. То есть на стадии установки штатно нельзя задействовать ни программный RAID, ни менеджер томов LVM. Так что если в таковых есть потребность – их надо настроить до запуска инсталлятора, вручную.

Конечно, подготовить диски для softRAID или LVM можно с помощью специализированных LiveCD, вроде Image Magic, причём сделать это в «культурной» обстановке графического режима, с помощью наглядной графической утилиты GParted. Однако это было бы умножением сущностей – установочный носитель Salix позволяет проделать всю ту же работу и, на мой взгляд, гораздо проще. Всё необходимое для этого – поддержку в ядре мультидисковых устройств и набор утилит из пакетов mdadm и lvm2 (для работы с программным RAID и LVM, соответственно) командная среда дистрибутива Salix предоставляет.

Подготовку дисков для установки на LVM остаётся для рассмотрения заинтересованными лицами. Я же ниже опишу процесс создания программного RAID для целей десктопного (не серверного!) применения. В дискуссию о том, нужен ли RAID на десктопе, и если нужен — зачем, какого уровня и какие ветви файловой иерархии на нём размещать, я вступать не буду, ибо ранее неоднократно высказывался по этому поводу. А потому буду исходить из следующих постулатов:

   • при наличии в машине двух и более дисков программный RAID в ряде случаев оказывается целесообразным;

   • на типичном применительском десктопа имеет смысл использовать softRAID Level 0;

   • размещаться на нём должна ветка /home файлового древа.

Подготовка дисков к созданию RAID начинается с их разметки. Это можно сделать с помощью одной из пары утилит:

   1. fdisk или cfdisk при использовании таблицы разделов MBR;

   2. gdisk или cgdisk – при разметке в стиле GPT.

Кроме того, в командной среде Salix доступна и универсальная утилита parted, позволяющая оперировать обоими стилями разметки, а также создавать файловые системы. Но, на мой взгляд, она неоправданно усложнена. Чего совершенно нет у утилиты GNOME Disks (о которой написано здесь).

На вопросе выбора между стилями разметки останавливаться не буду – в условиях настольной системы практического значения он не имеет, за одним исключением: применение таблицы 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).

Оглавление книги


Генерация: 1.060. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз