/boot on RAID1
Ubuntu 18.04
Setup KVM
Рассмотрим шаги про добавление 2-го диска.
На последнем шаге обязательно ставим галочку:

в следующем шаге в Add Hardware добавляем второй диск:

только после этого запускаем установку.
Установка Ubuntu 18.04
Рассмотрим часть про создание разделов:

Далее создаем на обеих дисках разметку без указания файловой системы:

Делаем разбивку каждого диска на 2-е части (1Gb и остаток от диска), в Вашем случае размеры могут быть другими.



Указав пустое поле Size, будет задействован весь оставшийся размер диска.

в итоге у нас получится:

Приводим второй диск к такому же состоянию:


Теперь мы можем создать RAID1 - 2 штука:

Выбираем partition одинакового размера:


В итоге у нас должно получится в AVAILABLE DEVICES два устройства:

Приступаем к созданию partition на устройствах md0 и md1:

В моем случае md0 (он меньшего размера) идет под /boot:

А md1 идет под корень системы:

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

Далее Done и в следующем окне Continue :
Вся информация будет удалена, диски будут отформатированы

Далее следуем по меню чтобы завершить установку системы:

Reboot
Install GRUB
Смотрим информацию по дискам:
В output интересуют имена дисков (vda и vdb), далее сам процес установки grub:
Ошибка при выполнении grub-install на vdb ожидаемая, так как там нету раздела по него.
Создаем раздел:
Все прошло успешно, повторяем попытку grub-install:
Мы получили систему которая может грузиться с любого из /boot в случае выхода какого то из дисков. Далее мы протестируем как это работает и возможные применения такой схемы на практике.
Тесты
Переключение на загрузку со второго диска
Проверяем что с рейдами все ОК!
[UU] - нам говорит о том что рейдах участвует по два диска, в нашем случае partition.

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

Запускаем систему. Система загрузилась с VirtIO Disk 2.
VirtIO Disk 1 мы можем безболезненно отключить от системы, и система у нас останется в рабочем состоянии.
Второй диск вышел из строя
Представим ситуацию что какой-то из дисков, в нашем случае будет VirtlO Disk2, вышел из строя. Для имитации поломки, мы его удалим из системы.
До начала эксперимента проверяем что у нас все ок, и создадим в папке root файл, чтоб проверить синхронизацию с новым диском при отключении VirtlO Disk1 😁 .
P.S. Да у нас авария за аварией!
Выключаем машину, удаляем диск из системы, а загрузочным ставим VirtlO Disk1


В системе остался один диск:


Запускаем систему и проверяем состояние дисков, рейдов, файлов
[U_] - у нас в md0/md1 не хватает по одному диску.
Но система продолжает быть в рабочем состоянии.
Восстанавливаемся:
Создаем чистый не размеченный диск, подключаем его к системе, такого же размера как оставшийся диск в системе, предварительно выключив систему.


Запускаем систему, проверяем диски, рейд
Размечаем диск vdb по partition как у vda, для более корректного отображения в дереве, разметку делаем в том же порядке:
смотрим что у нас получилось по дискам:
Теперь можем восстановить "первый" RAID1 (md0):
К сожалению вывода у команды нет, но если запустить в отдельном окне:
можно увидеть как идет восстановление md0 :

Восстанавливаем "второй" RAID1 (md1):

Дожидаемся конца восстановления.
Проверяем состояние:
RAID1(md0/md1) в порядке, мы обратно вернули разметку дискам, файлы на месте, с теми же данными что были созданы на отключенном (удаленном) диске.
Устанавливаем grub на новый диск и пробуем с него запустить систему.
Выключаем систему, переключаем диск для загрузки


Запускаем систему, система загрузилась с VirtIO Disc 2.
Добавление 3-го диска
Создаем и добавляем в систему 3-й диск


Запускаем систему, смотрим имя диска, и розмечаем его как при востановлении:
Добавляем новые разделы в md0/md1:
Расширяем рейды с 2-х дисков до 3-ч.

Устанавливаем на него grub
Теперь в системе 3 диска в RAID1 и с любого из них можно произвести загрузку системы.
Last updated