Я недавно добавил диск в систему и успешно провел рейд (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 (автоматическое определение рейда) и также отмечен как загрузочный.
У меня есть две вещи, которые я хочу сделать.
Разделы диска:
$ 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.