Назад | Перейти на главную страницу

GRUB2 не определяет ОС на разделах raid

Я недавно добавил диск в систему и успешно провел рейд (RAID-1) по разделам, за исключением загрузочного раздела. У меня он готов и отзеркален, но не могу заставить GRUB2 (update-grub) его найти.

Система: Ubuntu 11.04 Raid Метаданные: 1.2

Если я запускаю update-grub, он находит образы ядра в разделе / ​​dev / sda2 (текущий корень), но не изображения в / dev / md127.

/ dev / md127 состоит из «пропавших без вести» и «/ dev / sdb2».

fdisk на / dev / sdb подтверждает, что sdb2 относится к типу fd (автоматическое определение рейда) и также отмечен как загрузочный.

У меня есть две вещи, которые я хочу сделать.

  1. Сделайте boot.cfg на / dev / sdb2 опцией меню, чтобы корень был / dev / md127
  2. Установите grub на / dev / md127, чтобы использовать исходный файл boot.cfg.

Разделы диска:

$ sudo sfdisk -l /dev/sda

Disk /dev/sda: 30394 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sda1          0+     13      14-    112423+  de  Dell Utility
/dev/sda2   *     14    7837    7824   62846280   83  Linux
/dev/sda3       7838    8882    1045    8393962+  82  Linux swap / Solaris
/dev/sda4       8883   30393   21511  172787107+   5  Extended
/dev/sda5       8883+  30393   21511- 172787076   83  Linux

$ sudo sfdisk -l /dev/sdb

Disk /dev/sdb: 30394 cylinders, 255 heads, 63 sectors/track
Units = cylinders of 8225280 bytes, blocks of 1024 bytes, counting from 0

   Device Boot Start     End   #cyls    #blocks   Id  System
/dev/sdb1          0+     13      14-    112423+  de  Dell Utility
/dev/sdb2   *     14    7837    7824   62846280   fd  Linux raid autodetect
/dev/sdb3       7838    8882    1045    8393962+  82  Linux swap / Solaris
/dev/sdb4       8883   30393   21511  172787107+   5  Extended
/dev/sdb5       8883+  30393   21511- 172787076   fd  Linux raid autodetect

Здесь следует отметить, что / dev / sdb2 является частью рейда, а / dev / sda2 - нет. / dev / sda2 - это текущая загрузка без рейда, которая работает нормально. Я хотел бы переключиться на загрузку raid, и когда это будет хорошо, преобразовать sda2 в raid и добавить его к «отсутствующему» raid-диску.

$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md5 : active raid1 sda5[2] sdb5[1]
      172785980 blocks super 1.2 [2/2] [UU]

md127 : active raid1 sdb2[1]
      62846208 blocks [2/1] [_U]

Хвостовая часть mdadm.conf. Это было автоматически создано / usr / share / mdadm / mkconf

# This file was auto-generated on Thu, 30 Jun 2011 14:38:15 -0500
# by mkconf $Id$
ARRAY /dev/md127 UUID=352d87d1:23d5c92d:04cfec0a:0340cbb1
ARRAY /dev/md/5 metadata=1.2 UUID=7ea17a90:6cbf0816:feef74da:5fa4f88a name=ramuh:5

Файл grub.cfg, который отлично загружается с / dev / sda2

    menuentry 'Ubuntu, with Linux 2.6.38-11-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
        recordfail
        set gfxpayload=$linux_gfx_mode
        insmod part_msdos
        insmod ext2
        set root='(/dev/sda,msdos2)'
        search --no-floppy --fs-uuid --set=root 7bbe19ee-c62c-4674-b0ca-281d1cedac00
        linux   /boot/vmlinuz-2.6.38-11-generic-pae root=UUID=7bbe19ee-c62c-4674-b0ca-281d1cedac00 ro   quiet splash vt.handoff=7
        initrd  /boot/initrd.img-2.6.38-11-generic-pae

Спасибо!

Grub2 теперь понимает md устройств. При необходимости он должен предоставляться через загружаемые модули.

Убедитесь, что ваша система понимает, что ей нужны md устройства для загрузки. Убедитесь, что все массивы перечислены в /etc/mdadm/mdadm.conf и запустите:

# dpkg-reconfigure mdadm

(Примечание: недавно у меня было что-то подобное в моей системе Debian, но это должно применяться и для Ubuntu)

В меню grub нажмите «e», чтобы отредактировать запись в меню, и вручную измените аргумент root = kernel, чтобы он указывал на массив raid и загружался с него вручную. Затем запустите update-grub, и он увидит, что вы в данный момент загружаетесь из массива raid, и настроит себя для этого в будущем.

Кроме того, вам не нужен отдельный раздел / boot.