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

Ubuntu 20 на Intel RST не грузится после установки mdadm

Ubuntu

Поймал очень интересный и опасный баг. Если у вас имеется операционная система Ubuntu Desktop 20.04.6, которая установлена на программный массив Intel RST, и вы установили утилиту mdadm, то ОС после перезагрузки не может распознать системный диск.

Программные массивы Intel RST сейчас доступны на многих материнских платах. Другие названия:

  • Intel RST (Intel Rapid Storage Technology)
  • Intel RSTe (Intel Rapid Enterprise)
  • Intel VROC (Virtual RAID on CPU)
  • FakeRAID
  • Программный массив

Система работает, грузится. Ставим mdadm.

apt install mdadm

mdadm

Перезагружаемся, и...

mdadm

Система не грузится, диск не найден. Попадаем в initramfs. Это означает, что ядро не может загрузить корневой раздел. Загруженная в этом режиме файловая система не имеет ничего общего с обычной операционной системой, это содержимое образа initramfs, которое содержит только самые необходимые компоненты, используемые ядром для загрузки.

cat /proc/mdstat
mdadm --detail /dev/md126

mdadm

Получается, mdadm перехватил работу с массивами, создал их, но как-то криво. Почему-то не цепляются разделы массива при загрузке.

cd /dev
ls

raid

Диск есть, а разделов нет. Давайте смонтируем RAID массив не через mdadm, а через 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).

Останавливаем массивы mdadm.

mdadm --stop /dev/md126
mdadm --stop /dev/md127
cat /proc/mdstat

raid

Монтируем массивы через dmraid:

dmraid -ay -f isw

raid

Проверяем.

cd /dev
ls

raid

Ага, у нас появились разделы dm-1 и md-2.

cd /dev/mapper
ls

raid

И в mapper тоже разделы видны. Пробуем продолжить загрузку: Ctrl + d.

raid

Великолепно. Система загрузилась. Скорее сносим mdadm.

apt remove mdadm
apt purge mdadm

Ubuntu 20 полечили. Есть, наверное, и другие способы восстановления загрузки, к примеру, с помощью kpartx, но я не проверял.

Теги

 

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

Windows — Intel Virtual RAID on CPU

Если на вашей материнской плате стоит чип Intel, поддерживающий технологию Intel RST (Rapid Storage Technology), Intel RSTe (Intel Rapid Enterprise) или Intel VROC (Virtual RAID on CPU), то вы можете собрать RAID массив из жёстких дисков SATA или PCIe и обеспечить отказоустойчивость данных. Если из строй выйдет один диск, то вы продолжаете работать.

Теги