Software RAID под Ubuntu 9.04
Не так давно появилась новая версия не безызвестного дистрибутива Ubuntu 9.04, а с ним и новые проблемы.
Топик касается установки linux на все виды софтового рейда(DM-RAID/fakeRAID) и последующей загрузки с этих разделов.
Проблема точно существует для RAID, построенных на dmraid и mdadm.
Суть проблемы:
После установки, во время загрузки выскакивает сообщение приблизительного такого содержания:
no block devices found
no block devices found
ERROR: either the required RAID set was not found or more options required
no raid sets and with names: "no block devices found"
Gave up waiting for root device. Common problems:
- Boot args (cat /proc/cmdline)
- Check rootdelay= (did the system wait long enough?)
- Check root= (did the system wait for the right device?)
- Missing modules (cat /proc/modules; ls /dev)
ALERT! /dev/mapper/ddf1_ISISTIGER does not exist. Dropping to a shell!
И выбрасывает в консоль. Затем достаточно набрать exit, чтобы продолжить загрузку.
Аналогично и для mdadm
Почему так получаеться:
RAID диск с root каталогом не успевает инициализироваться за отпущенное время.
Как починить:
Надо добавить параметр rootdelay к строке инициализации ядра.
Этот параметр заставить загрузчик подождать пока рейд инициализируется.
Для этого:
- октрываем файл «/boot/grub/menu.lst»;
- находим раздел инициализирующий нашу загрузку:
title Ubuntu 9.04, kernel 2.6.28-11-generic
root (hd0,0)
kernel /vmlinuz-2.6.28-11-generic root=/dev/md3 ro splash
initrd /initrd.img-2.6.28-11-generic - Добавляем в конец rootdelay (в моём случае 40 секунд было вполне достаточно)
title Ubuntu 9.04, kernel 2.6.28-11-generic
root (hd0,0)
kernel /vmlinuz-2.6.28-11-generic root=/dev/md3 ro splash rootdelay=40
initrd /initrd.img-2.6.28-11-generic - Сохраняемся, перезапускаеся.
Литература:
Ubuntu Fake Raid Howto: https://help.ubuntu.com/community/FakeRaidHowto
Обсуждение лекарства: http://ubuntuforums.org/archive/index.php/t-985348.html
Описание траблы: https://answers.launchpad.net/ubuntu/+source/ubiquity/+question/71192
Комментарий by Sonique — 18.06.2009 @ 0:56
Я год назад тоже создавал software RAID на OpenSUSE, и после установки ОС благополучно не загружалась, как потом оказалось, при создании первого рейда нельзя было зеркалировать swap раздел (оно в принципе понятно почему) и для программного рейда требовалась партиция /boot, где должен был установлен GRUB. После всех манипуляций все заработало.
Комментарий by Aleksey Parshukov — 19.06.2009 @ 3:16
в моей конфигурации:
/boot – raid 1 (4 диска)
/ – raid 10 (4 диска)
swap – raid0 (4 диска, мега скорость, но полный ступор при падении любого диска, что не критично для данного проекта.)
как показывает практика больше всего мороки именно с /boot разделом. Один раз промучившись две недели с dmraid + CentOS 5 на ICH10 воткнул /boot на флешку под ext2. Это не решило всех проблем с dmraid, но зато система стала стабильно погружаться.