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

Алексей Федорчук

В инсталляторе Void’а нет штатной возможности установить систему на LVM или программный RAID. Точнее, не предусмотрено создание этих систем размещения данных. Потому что в списке пакетов Live-носителя можно обнаружить инструментарий и для того, и для другого:

$ xbps-query -l | grep -E "lvm2|mdadm" 
ii lvm2-2.02.131_1   Logical Volume Manager 2 utilities
ii mdadm-3.3.4_1   A tool for managing/monitoring Linux md device arrays

Более того, их можно обнаружить и в списке процессов, запускаемых при старте системы:

$ ps aux | grep -E "lvm2|mdadm"
root 675 0.0 0.0 4068 756 ? Ss 11:27 0:00 runsv mdadm
root 686 0.0 0.0 4068 716 ? Ss 11:27 0:00 runsv lvmetad
root 706 0.0 0.1 4840 2160 ? S 11:27 0:00 mdadm --monitor --scan --syslog
root 709 0.0 0.0 10960 1056 ? S 11:27 0:00 lvmetad -f

Возникает предположение, что можно всю подготовительную работу по созданию LVM или softRAID проделать в Live-режиме, а потом уже запускать инсталлятор «на готовенькое». Теоретически — да. Однако пример LMDE2, где ситуация очень похожа, показывает, что грубая практика не всегда согласуется с высокой теорией. И потому предположение это требовало экспериментального подтверждения.

LVM для меня в настоящий момент была не актуальна (да и вообще интерес к ней потерян), а вот поэкспериментировать с softRAID’ом случая я не упустил, благо к тому склоняло наличие двух абсолютно одинаковых SSD. Хотя, разумеется, сначала опыт был произведён в виртуальной машине, скриншотами которой и иллюстрируется дальнейшее повествование. Сочинённое после того, как эксперимент был воспроизведён на реальном «железе».

В обоих случаях использовался образ void-live-x86_64-20150713-cinnamon.iso, то есть с Cinnamon в качестве рабочей среды: хотя меня и Xfce’ями соблазняли, Cinnamon’е я не изменил.

При установке в виртуалке я для начала убедился, что в данной машине дисков у меня действительно два (как подключить к одной VM два диска — говорилось отдельно):

$ ls /dev/sd*
/dev/sda /dev/sdb

void-soft-raid_001

В реале картина была намного сложнее, но для дальнейшего повествования важно только то, что в ней присутствовали два одинаковых SSD, которые и предназначались для заклания на алтарь softRAID’а. Первый:

$ sudo fdisk -l /dev/sdb   
Disk /dev/sdb: 111,8 GiB, 120034123776 bytes, 234441648 sectors
Единицы: sectors по 1 * 512 = 512 байт
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Тип метки диска: dos
...

И второй:

$ sudo fdisk -l /dev/sdc 
Disk /dev/sdc: 111,8 GiB, 120034123776 bytes, 234441648 sectors
Единицы: sectors по 1 * 512 = 512 байт
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Тип метки диска: dos
...

А всё последующее — идентично и для «виртуального», и для реального случая (за единственной оговоркой, которая будет сделана своевременно). То есть первым делом имеет смысл получить права root’а перманентно. Я это делаю так (почему — объяснять не место):

$ sudo -s

После этого я занялся разметкой диска — с помощью fdisk в реальности (мне так проще) и cfdisk — в виртуальности, дабы проиллюстрировать изложение. В виртуалке после

# cfdisk /dev/sda

картина получилась следующая:

void-soft-raid_002

А после

# cfdisk /dev/sdb

как не трудно догадаться, точно такая же:

void-soft-raid_003

В реальности результаты разметки выглядели, соответственно, так:

# fdisk -l /dev/sdb
...
Устр-во    Загрузочный   Start Конец Секторы   Size Id Тип
/dev/sdb1                 2048   1050623   1048576   512M 83 Linux
/dev/sdb2              1050624 234441647 233391024 111,3G fd Автоопределение Linux raid

И вот так:

# fdisk -l /dev/sdc
777
Устр-во    Загрузочный   Start Конец Секторы   Size Id Тип
/dev/sdc1                 2048   1050623   1048576   512M 83 Linux
/dev/sdc2              1050624 234441647 233391024 111,3G fd Автоопределение Linux raid

соответственно.

После этого я приступил к созданию RAID’ов. Для чего перво-наперво открыл ещё одну вкладку в окне терминала (напоминаю, что среда — Cinnamon, к которой по штату полагается gnome-terminal), и дал в ней команду

$ mdadm --help

Чисто для страховки, дабы ничего не забыть.

void-soft-raid_004

Впрочем, последовательность действий я помнил и так. Для начала следовало расправиться с двумя маленькими разделами, которым предстояло стать массивом первого уровня, дабы с него можно было загрузиться:

# mdadm --create /dev/md0 --auto=yes --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1

В реальности этого оказалось достаточно. А вот в виртуалке последовало сообщение, что создаваемого устройство не может быть загрузочным, и предалаглось либо смириться с этим, либо решить проблему более иными способами, один из которых я и выбрал:

# mdadm --create /dev/md0 --auto=yes --level=1 --raid-devices=2 --metadata=0.90 /dev/sda1 /dev/sdb1

После чего последовало сообщение о старте устройства /dev/md0:

void-soft-raid_005

Со второй парой разделов, поскольку им предстояло слиться в экстазе RAID Level 0, никаких неожиданностей не было, и команда

# mdadm --create /dev/md1 --auto=yes --level=0 --raid-devices=2 /dev/sda2 /dev/sdb2

Также завершилась стартом устройства /dev/md1. В успехе обоих стартов можно було тут же убедиться командой

# mdadm --detail /dev/md0

для первого устройства:

void-soft-raid_006

И симметричной командой

# mdadm --detail /dev/md1

для второго:

void-soft-raid_007

После чего наступило время запуска программы установки:

# void-installer

Она вызвала к жизни всё тот же вводный экран:

void-soft-raid_008

А затем — меню инсталлятора:

void-soft-raid_009

Процессу становки протекал точно так же, как и в случае одиночного диска. С той только разницей, что на этот раз в реале я набрался терпения установить локаль ru_RU.utf8, поскольку уже выяснил, что локаль en_US.utf8 (а она в некоторых случаях оказывается нужной) при этом генерируется автоматически.

Некоторого раздумья потребовал пункт BootLoader:

void-soft-raid_010

Разумеется, в списке пригодных для установки загрузчика устройств ни малейшего /dev/md0 не значилось:

void-soft-raid_011

Поэтому тут следует выбрать то устройство, которое в BIOS стоит первым в очереди оных. В виртуальном случае это /dev/sda, в реальном, в зависимости от ситуации, разное (у меня — /dev/sdb).

Далее пункт Partition пропускается — все необходимые разделы, aka md-устройства, созданы заранее. И надо переходить к пункту Filesystems:

void-soft-raid_012

Где уже можно видеть и /dev/md0, и /dev/md1:

void-soft-raid_013

Первый из них, /dev/md0, выбирается для создания файловой системы ext4 (более иные варианты или нежелательны, или не приемлемы — позвольте не вдаваться в обоснование):

void-soft-raid_014

И монтируется он в каталог /boot:

void-soft-raid_015

После чего следует согласиться с тем, что на нём будет создана новая файловая система:

void-soft-raid_016

А затем происходит возврат в предыдущую панель, где выбирается устройство /dev/md1:

void-soft-raid_017

С ним повторяется процедура определения файловой системы

void-soft-raid_018

и точки монтирования (теперь — в корень файловой иерархии)

void-soft-raid_019

а аткже согласия с собственным выбором:

void-soft-raid_020

Из появившейся следом панели выбора разделов для редактирования следует принудительно выйти через Back

void-soft-raid_021

И перейти в пункт Ibstall главного меню установщика:

void-soft-raid_022

За этим последует грозное китайское предупреждение:

void-soft-raid_023

И начинается процесс установки, который выглядит следующим образом:

void-soft-raid_024

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

void-soft-raid_025

Каковая и происходит в случае согласия. Ну а что будет дальше — составит предмет давно обещанного следующего очерка.

Оглавление

Void Linux. Установка на программный RAID: 2 комментария

  1. Повторять разметку на втором и последующем дисках удобно при помощи sfdisk:

    # sfdisk -d /dev/sda | sfdisk —Linux /dev/sdb

Добавить комментарий