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

Ubuntu 22 на Intel RST

Ubuntu

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

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

raid

Система не грузится, диск не найден. Попадаем в 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.

raid

А вот никаких разделов не найдено. Не видишь разделы? А они есть. Давайте просто вручную добавим разделы. Смотрим в /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.

raid

Пробуем продолжить загрузку: Ctrl + d. Операционная система загрузилась нормально.

Теперь нам нужно автоматизировать этот процесс. Переходим в директорию, работаем под рутом.

cd /etc/initramfs-tools/scripts/local-top

raid

Создаём свой скрипт.

touch forceraid

Содержимое скрипта:

#!/bin/bash
PREREQS=""
prereqs()
{
    echo $PREREQS
}
case $1 in
# get pre-requisites
prereqs)
    prereqs
    exit 0
    ;;
esac
/sbin/kpartx -a /dev/mapper/isw_dgdiggbfff_SYSTEM

raid

Дадим право на исполнение.

chmod +x ./forceraid

Собираем initramfs.

update-initramfs -u -k all

raid

Перезагружаемся и радуемся своему уму и сообразительности. Всячески хвалим себя за то что догадались зайти на internet-lab.ru.

 

Похожие материалы

Intel RST RAID1 — замена дисков на меньший объём

Замена дисков в RAID 1 возможна на диски того же или большего объёма. При этом операция осуществляется банально: сначала меняем первый диск, дожидаемся синхронизации массива, затем меняем второй диск. А что если нам нужно заменить диски в RAID 1 на диски меньшего объёма?