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

как я могу загрузить Linux с массива программного рейда 1

Я пытаюсь сделать массив рейдов на существующей установке linux ubuntu.

Я следую этому руководству ... http://howtoforge.org/software-raid1-grub-boot-fedora-8

Пройдя по списку миллион раз, я наконец понимаю, что происходит. Вы делаете рейд-устройство на своем новом пустом диске, копируете на него старый / диск, настраиваете grub menu.lst, fstab, mtab initrd и grub MBR так, чтобы все они указывали на рейд-устройство (которое я определил и работает ), а затем перезагружаетесь. После загрузки вы запускаете устройство raid (/ dev / md0). Затем вы просто подключаете исходный диск к массиву raid, он синхронизируется и готово.

Поэтому я настроил свой menu.lst так, чтобы в первую очередь загружать ядро ​​и initrd с устройства raid и переключаться на исходный (все еще неповрежденный) старый диск. И при перезагрузке всегда происходит сбой. Я загружаю машину, запускаю новую запись grub и получаю сообщение «файл ошибки 15 не найден». В сети много всего об этом, но, похоже, ничего не помогает.

Единственное, что странно, это когда я перехожу к настройке MBR с помощью grub, вы говорите «root (hd0,0)», и я наконец понимаю, что это значит, и предполагается, что тип файловой системы - ext2fs, тип раздела 0xfd или что-то вроде этого. который. Мой ничего не говорит. Но когда я запускаю setup (hd0) и setup (hd2), он говорит, что делает правильные вещи с правильным диском. Так что я предполагаю, что это работает. но он не может загрузить initrd / ядро ​​с устройства md0.

Единственное, о чем я думаю, это то, как grub узнает, что такое рейд-устройство. Ядро не загружено, программные модули raid не загружены, как может глупая маленькая личинка вообще иметь представление, откуда загружать initrd? Итак, я думаю, хорошо, что где-то есть сопоставление от / dev / md0 до / dev / sdc1 (новый raid-диск), но я не вижу, где это может происходить. И для удовольствия (я делал это ТАК много раз в различных комбинациях) я попытался установить grub menu.lst, чтобы попытаться загрузить initrd и ядро ​​из root = / dev / sdc1 (мой новый диск), и он все еще говорит, что файл не найден . Итак, либо настройка grub mbr не работает, либо мне не хватает чего-то действительно простого.

Любые идеи?

Here's some more info...

root@io:~# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sdc1[1]
      18771840 blocks [2/1] [_U]



root@io:~# fdisk -l

Disk /dev/sda: 20.8 GB, 20847697920 bytes
255 heads, 63 sectors/track, 2534 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x9d949d94

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1        2337    18771921   83  Linux
/dev/sda2            2338        2434      779152+   5  Extended
/dev/sda5            2338        2434      779121   82  Linux swap / Solaris

Disk /dev/sdb: 320.0 GB, 320072933376 bytes
16 heads, 63 sectors/track, 620181 cylinders
Units = cylinders of 1008 * 512 = 516096 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1        4064     2048224+  83  Linux
/dev/sdb2            4065      620181   310522968   83  Linux

Disk /dev/sdc: 20.0 GB, 20020396032 bytes
255 heads, 63 sectors/track, 2434 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000080

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1   *           1        2337    18771921   fd  Linux raid autodetect
/dev/sdc2            2338        2434      779152+   5  Extended
/dev/sdc5            2338        2434      779121   82  Linux swap / Solaris

Disk /dev/md0: 19.2 GB, 19222364160 bytes
2 heads, 4 sectors/track, 4692960 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md0 doesn't contain a valid partition table



root@io:~# mdadm -E
mdadm: No devices to examine



root@io:~# cat /etc/mdadm.conf
ARRAY /dev/md0 level=raid1 num-devices=2 UUID=5248ed76:cba39cc2:3082255a:649c0d18
root@io:~#



root@io:~# cat /boot/grub/menu.lst

default         0
# 8/14/09 added this
fallback        1

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout         3

## hiddenmenu
# Hides the menu by default (press ESC to see the menu)
hiddenmenu

# added this 8/14/09 for raid boot, note this will get blown away on next kernel update
# if it's after the magic marker
# this means we will have to manually update this when there's a kernel upgrade :-(
# in grub land hd0 = /dev/sda and hd1 = /dev/sdb and hd2 = /dev/sdc I hope
# we're putting sdc first for now
title           Ubuntu 8.04.3 LTS, kernel 2.6.24-24-generic (raid)
root            (hd2,0)
#kernel         /boot/vmlinuz-2.6.24-24-generic root=UUID=b11d6b08-fdfe-4b0d-adec-4e263455be23 ro
kernel          /boot/vmlinuz-2.6.24-24-generic root=/dev/md0 ro
initrd          /boot/initrd.img-2.6.24-24-generic
quiet




title           Ubuntu 8.04.3 LTS, kernel 2.6.24-24-generic
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.24-24-generic root=UUID=d8c402cc-7445-4878-b3aa-c9568b740b51 ro
initrd          /boot/initrd.img-2.6.24-24-generic
quiet


title           Ubuntu 8.04.3 LTS, kernel 2.6.24-24-generic (recovery mode)
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.24-24-generic root=UUID=d8c402cc-7445-4878-b3aa-c9568b740b51 ro single
initrd          /boot/initrd.img-2.6.24-24-generic



root@io:~# blkid
/dev/sda1: UUID="d8c402cc-7445-4878-b3aa-c9568b740b51" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda5: TYPE="swap" UUID="e0509276-30eb-4dcb-8e17-20f8244f5403"
/dev/sdb1: LABEL="alt" UUID="ea1789eb-9d6f-47a9-a074-18121792b30a" SEC_TYPE="ext2" TYPE="ext3"
/dev/sdb2: LABEL="sp" UUID="3b6d1173-f9fd-4a3e-8e5d-249fc682355b" SEC_TYPE="ext2" TYPE="ext3"
/dev/sdc1: UUID="76ed4852-c29c-a3cb-5a25-8230180d9c64" TYPE="mdraid"
/dev/md0: UUID="b11d6b08-fdfe-4b0d-adec-4e263455be23" SEC_TYPE="ext2" TYPE="ext3"


Для всех, кто в конечном итоге страдает от ошибки 15, которую я сделал, оказывается, что схема именования устройств в grub (hd0, hd1, hd2 ...) в конечном итоге различалась между тем, когда grub загружается и когда grub запускается после система запущена и работает. Я провел неделю с root (hd2,0), потому что grub сказал мне, что диск, который я хотел, называется. Но когда я перешел к оболочке grub при загрузке, я был удивлен, обнаружив, что то, что было hd2, когда машина работает, является hd1 при загрузке. Поэтому я изменил menu.lst на использование root (hd1,0), и он начал работать. Я надеюсь спасти кого-нибудь еще с этим.

Дело в том, что Grub вызывается перед остальная часть системы Linux есть (очевидно), поэтому она ничего не знает о вашем программном рейде. Он видит только голые жесткие диски.

Поэтому очень важно установить grub на оба диска вашего массива RAID1. BIOS выберет один для загрузки, и если на этом диске не установлен grub, он не загрузится. (Я обнаружил это на собственном горьком опыте, когда отказал один из моих дисков в конфигурации sw RAID1 - система отказалась загружаться, заявив, что у нее нет загрузочного раздела .. диск, на котором был установлен grub, вышел из строя, и я остался без загрузочный HDD. Установка Grub на него исправила)

Итак, откройте grub в командной строке (вы можете сделать это с запущенным Linux) и введите:

grub

чтобы получить подсказку grub.

root(hd0,0)
setup(hd0)

root(hd1,0)
setup(hd1)

который устанавливает grub для каждого из первых разделов на ваших дисках (*** если ваш загрузочный раздел находится в другом месте на диске, измените этот 0, чтобы отразить правильный раздел), затем программа установки устанавливает загрузочные файлы grub.

Это должно быть все, что вам нужно сделать. Если он работает некорректно, уверены ли вы, что у вас правильный загрузочный раздел, и что ваши диски расположены одинаково?

Жратва не знать о своем RAID-устройстве; он просто читает непосредственно с диска, что (в настройке RAID-1) все еще в порядке, потому что вся копия диска находится прямо там (не разбита на биты, как это было бы на RAID-5 или RAID-10 конфигурация).

Вы действительно не предоставили достаточно информации, чтобы определить, что происходит; что бы пригодилось:

  • Таблицы разделов для всех ваших дисков;
  • Детали конфигурации RAID (вывод / proc / mdstat, mdadm -E и т. Д.)