Установка Ubuntu 20 в UEFI на RAID

В одной заметке я описывал как установить Ubuntu на ею же создаваемый в процессе установки RAID. То дело описывалось для классического инсталлятора и для Legacy системы. Однако на дворе уже давно властвуют UEFI системы. А может и не властвуют. Главное, что надо знать сейчас, так это то, что мы будем ставить Ubuntu на софтовый RAID в UEFI режиме.

Требований немного и они стандартны

  • Ubuntu 20 или 18
  • Система, на которую ставится Ubuntu, работает в UEFI режиме
  • Есть несколько дисков, на которых будет стоять система

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

Дойдя до шага разметки дисков, останавливаемся и выбираем настраиваемый вариант:

Выбираем один из дисков и делаем его загрузочным

Выбираем другой диск и делаем на нём резервный загрузочный раздел

Так повторяем с каждым диском в будущей группе RAID.

В итоге должна получится такая картина:

Таким образом сейчас мы создали два загрузочных диска, один из которых содержит главный EFI раздел с загрузчиком, и дополнительный с тем же самым загрузчиком, который при порче основного возьмёт управление загрузкой на себя

Теперь подготовим разделы для RAID-группы

Для каждого диска создаём новый GPT раздел.

В системах UEFI про MBR никто не хочет слышать

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

Так проделываем с каждым диском, добавляя пустой GPT-раздел. Он-то и будет служить основой для RAID-устройства.

Выбираем «Создать программный RAID»

Создали пустые разделы. Теперь создаём RAID-устройство

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

Помимо Active состояния диска, можно выбрать и Spare, чтобы держать диск в резерве

После создания RAID-устройства, выбираем его и создаём на нём GPT раздел.

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

Создадим, например, корневой раздел

Повторяем то же самое, создав домашний раздел и растянув его на весь остальной объём. Для этого оставляем поле ввода размера пустым, что логично.

Должна получиться вот такая картина: наверху логическая структура файловой системы, ниже неиспользуемые устройства (должно быть пустым, если все шаги были сделаны верно), и внизу используемые устройства с картой разметки. Как видно, на каждом есть EFI раздел и раздел для RAID. На самом устройстве RAID показаны созданные разделы.

Итоговая картина разметки дисков

На этом этапе разметка дисков закончена, можно нажать Done и продолжать ставить систему.

После загрузки структура разделов будет примерно такой:

Как выяснилось, ставить Ubuntu 20 или Ubuntu 18 в режиме UEFI на RAID оказалось не так сложно.

Сложнее будет при отказе диска и восстановлении загрузки.

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

lsblk -o +uuid

В выводе находим идентификатор EFI раздела. Для EFI — это что-то типа 012F-CD4F. Этот номер\идентификатор переносим на каждый резервный EFI раздел

mkdosfs -i 012FCD4F /dev/sdb1

Теперь скопируем содержимое активного загрузочного раздела на резервный, примонтировав резервный

 mount /dev/sdb1 /mnt
cp -R /boot/efi/EFI/ /mnt

И отмонтируем резервный раздел

umount /dev/sdb1

Повторять копирование для каждого раздела на каждом диске в массиве.

Теперь при пропаже основного диска (и загрузочной записи с него) система загрузится с резервного.

При отказе диска нужно восстановить массив. Добавим в систему новый исправный диск.

Запустим gdisk и создадим два раздела: 512 МБ для EFI раздела, и всё остальное для RAID.

gdisk /dev/sdb

Вводим n, задаём размер в 512 МБ, указываем тип раздела как ef00

Создаём второй раздел. Снова вводим n, ставим всё по-умолчанию, указываем тип раздела как fd00.

Записываем изменения нажатием клавиши w.

Добавляем в массив новый раздел

mdadm --add /dev/md0 /dev/sdb2

Начинаем процесс синхронизации

mdadm --assemble --scan

Пока идёт синхронизация, повторим шаги с копированием метки EFI раздела и его содержимого.

mkdosfs -i 012FCD4F /dev/sdb1
mount /dev/sdb1 /mnt
cp -R /boot/efi/EFI/ /mnt
umount /dev/sdb1

Всё. Диск заменён. Можно пить чай.

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

Ваш адрес email не будет опубликован.