Алексей Федорчук
В инсталляторе 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
В реале картина была намного сложнее, но для дальнейшего повествования важно только то, что в ней присутствовали два одинаковых 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
картина получилась следующая:
А после
# cfdisk /dev/sdb
как не трудно догадаться, точно такая же:
В реальности результаты разметки выглядели, соответственно, так:
# 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
Чисто для страховки, дабы ничего не забыть.
Впрочем, последовательность действий я помнил и так. Для начала следовало расправиться с двумя маленькими разделами, которым предстояло стать массивом первого уровня, дабы с него можно было загрузиться:
# 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
:
Со второй парой разделов, поскольку им предстояло слиться в экстазе RAID Level 0, никаких неожиданностей не было, и команда
# mdadm --create /dev/md1 --auto=yes --level=0 --raid-devices=2 /dev/sda2 /dev/sdb2
Также завершилась стартом устройства /dev/md1
. В успехе обоих стартов можно було тут же убедиться командой
# mdadm --detail /dev/md0
для первого устройства:
И симметричной командой
# mdadm --detail /dev/md1
для второго:
После чего наступило время запуска программы установки:
# void-installer
Она вызвала к жизни всё тот же вводный экран:
А затем — меню инсталлятора:
Процессу становки протекал точно так же, как и в случае одиночного диска. С той только разницей, что на этот раз в реале я набрался терпения установить локаль ru_RU.utf8
, поскольку уже выяснил, что локаль en_US.utf8
(а она в некоторых случаях оказывается нужной) при этом генерируется автоматически.
Некоторого раздумья потребовал пункт BootLoader:
Разумеется, в списке пригодных для установки загрузчика устройств ни малейшего /dev/md0
не значилось:
Поэтому тут следует выбрать то устройство, которое в BIOS стоит первым в очереди оных. В виртуальном случае это /dev/sda
, в реальном, в зависимости от ситуации, разное (у меня — /dev/sdb
).
Далее пункт Partition
пропускается — все необходимые разделы, aka md-устройства, созданы заранее. И надо переходить к пункту Filesystems
:
Где уже можно видеть и /dev/md0
, и /dev/md1
:
Первый из них, /dev/md0
, выбирается для создания файловой системы ext4 (более иные варианты или нежелательны, или не приемлемы — позвольте не вдаваться в обоснование):
И монтируется он в каталог /boot
:
После чего следует согласиться с тем, что на нём будет создана новая файловая система:
А затем происходит возврат в предыдущую панель, где выбирается устройство /dev/md1
:
С ним повторяется процедура определения файловой системы
и точки монтирования (теперь — в корень файловой иерархии)
а аткже согласия с собственным выбором:
Из появившейся следом панели выбора разделов для редактирования следует принудительно выйти через Back
И перейти в пункт Ibstall главного меню установщика:
За этим последует грозное китайское предупреждение:
И начинается процесс установки, который выглядит следующим образом:
При появлении чего можно идти курить, чтобы, вернувшись, увидеть сообщение об успешном окончании установки и предложение перезагрузить систему:
Каковая и происходит в случае согласия. Ну а что будет дальше — составит предмет давно обещанного следующего очерка.
2 комментария на «“Void Linux. Установка на программный RAID”»
Повторять разметку на втором и последующем дисках удобно при помощи sfdisk:
# sfdisk -d /dev/sda | sfdisk —Linux /dev/sdb
Спасибо, не знал.