Ubuntu 22 не устанавливается на программный массив Intel RST. Более того, если обновить Ubuntu 20 до более новой версии, то всё перестанет работать. Починим. Решение может подойти для Ubuntu 23.
Программные массивы Intel RST сейчас доступны на многих материнских платах. Другие названия:
- Intel RST (Intel Rapid Storage Technology)
- Intel RSTe (Intel Rapid Enterprise)
- Intel VROC (Virtual RAID on CPU)
- FakeRAID
- Программный массив
Программный массив позволяет воспользоваться всеми преимуществами RAID на своей системе, устанавливаем Ubuntu Desktop 22.04.3 LTS на собранный программный RAID1 на базе Intel RST.
Установка Ubuntu Desktop 22.04.3 LTS на сервер Supermicro
Сама установка проходит без проблем. Перезагружаем сервер, и...
Система не грузится, диск не найден. Попадаем в initramfs. Это означает, что ядро не может загрузить корневой раздел. Загруженная в этом режиме файловая система не имеет ничего общего с обычной операционной системой, это содержимое образа initramfs, которое содержит только самые необходимые компоненты, используемые ядром для загрузки.
По умолчанию Ubuntu использует для определения программных массивов dmraid (Device-Mapper Software RAID support tool). Утилита dmraid обнаруживает, активирует, деактивирует и показывает свойства программных RAID массивов. Поддерживаются массивы:
dmraid -l
asr : Adaptec HostRAID ASR (0,1,10) ddf1 : SNIA DDF1 (0,1,4,5,linear) hpt37x : Highpoint HPT37X (S,0,1,10,01) hpt45x : Highpoint HPT45X (S,0,1,10) isw : Intel Software RAID (0,1,5,01) jmicron : JMicron ATARAID (S,0,1) lsi : LSI Logic MegaRAID (0,1,10) nvidia : NVidia RAID (S,0,1,10,5) pdc : Promise FastTrack (S,0,1,10) sil : Silicon Image(tm) Medley(tm) (0,1,10) via : VIA Software RAID (S,0,1,10) dos : DOS partitions on SW RAIDs
В нашем случае используется isw: Intel Software RAID (0,1,5,01).
Если заглянуть в папку /dev, то можно увидеть, что массив собрался, у нас имеется устройство dm-0.
А вот никаких разделов не найдено. Не видишь разделы? А они есть. Давайте просто вручную добавим разделы. Смотрим в /dev/mapper.
ls /dev/mapper
У нас имеется массив isw_dgdiggbfff_SYSTEM. Как раз при создании массива я указывал ему имя "SYSTEM". Добавляем все разделы массива.
kpartx -a /dev/mapper/isw_dgdiggbfff_SYSTEM
kpartx — инструмент на основе partx util-linux, который создаёт карту устройств (device map) для разделов блочного устройства.
Снова смотрим в /dev/mapper.
ls /dev/mapper
И у нас добавились два раздела isw_dgdiggbfff_SYSTEM1 и isw_dgdiggbfff_SYSTEM2.
Пробуем продолжить загрузку: Ctrl + d. Операционная система загрузилась нормально.
Теперь нам нужно автоматизировать этот процесс. Переходим в директорию, работаем под рутом.
cd /etc/initramfs-tools/scripts/local-top
Создаём свой скрипт.
touch forceraid
Содержимое скрипта:
#!/bin/sh PREREQS="" prereqs() { echo $PREREQS } case $1 in # get pre-requisites prereqs) prereqs exit 0 ;; esac /sbin/kpartx -a /dev/mapper/isw_dgdiggbfff_SYSTEM
Дадим право на исполнение.
chmod +x ./forceraid
Собираем initramfs.
update-initramfs -u -k all
Перезагружаемся и радуемся своему уму и сообразительности. Всячески хвалим себя за то что догадались зайти на internet-lab.ru.