Восстановление загрузчика на FAKE-raid (mdadm)

Вопросы касающиеся настройки, функционирования виртуальных серверов
Правила форума
1. Один вопрос - одна тема. Не надо задавать в той же теме другие вопросы.
2. Не пишите в чужих темах, если ваша проблема не имеет отношения к обсуждаемой.
3. Давайте полное описание проблемы - имя сайта, имя сервера, учётная запись, способ воспроизведения, скриншот ошибки.
4. Пароли выкладывать в форум - НЕ НАДО
Ответить
lissyara
Site Admin
Сообщения: 6450
Зарегистрирован: 2009-09-19, 22:04:41

Восстановление загрузчика на FAKE-raid (mdadm)

Сообщение lissyara »

себе на память...

имеем такой RAID, на CentOS 6

Код: Выделить всё

s27# dmraid -r
/dev/sda: isw, "isw_bigaagchag", GROUP, ok, 976773166 sectors, data@ 0
/dev/sdb: isw, "isw_bigaagchag", GROUP, ok, 976773166 sectors, data@ 0
s27# 

Код: Выделить всё

s27# cat /proc/mdstat
Personalities : [raid1] 
md126 : active raid1 sdb[1] sda[0]
      488383488 blocks super external:/md0/0 [2/2] [UU]
      
md0 : inactive sdb[1](S) sda[0](S)
      5928 blocks super external:imsm
       
unused devices: <none>
собран в БИОС, но это Intel "псевдо-рейд". на него прекрасно встаёт ЦентОС, видит его одним куском, разбивает и делает что угодно.
оно же, Intel® Rapid Storage Technology (Intel® RST), оно же Intel Matrix RAID

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

загрузчик был только на первом диске. уж не знаю причину - толи инсталлятор ЦентОС отжёг, толи это уже не первый сдохший диск.
==========================================================
Грузимся в SysResCD - благо у меня оно по сети грузится - есть в меню.

кому как удобней, я задаю пасс рута и захожу по сети, можно живьём (но это сервер, максимиу из того что живьём - это IP-KVM)
монтируем разделы, корневой и /boot

Код: Выделить всё

root@sysresccd /root % mount /dev/dm-3 /mnt
root@sysresccd /root % mount /dev/dm-1 /mnt/boot 
root@sysresccd /root % df -h
/dev/mapper/VolGroup-lv_root          50G   26G   22G  54% /mnt
/dev/mapper/isw_bigaagchag_Volume01  477M  151M  297M  34% /mnt/boot
имена устройств нашлись несложным последовательным перебором, глубоко не вникал, лень.
также, монтируем устройства

Код: Выделить всё

root@sysresccd /root % mount -o bind /dev /mnt/dev/
чрутимся в файловую систему на дисках:

Код: Выделить всё

root@sysresccd /root % chroot /mnt /bin/bash
далее такой набор команд, из родной доки ЦентОС, правда, версии 5, помоему

Код: Выделить всё

sysresccd# grub
Probing devices to guess BIOS drives. This may take a long time.


    GNU GRUB  version 0.97  (640K lower / 3072K upper memory)

 [ Minimal BASH-like line editing is supported.  For the first word, TAB
   lists possible command completions.  Anywhere else TAB lists the possible
   completions of a device/filename.]
grub> device (hd0) /dev/sda
device (hd0) /dev/sda
grub> device (hd1) /dev/sdb
device (hd1) /dev/sdb
grub> root (hd0,0)
root (hd0,0)
 Filesystem type is ext2fs, partition type 0x83
grub> setup (hd0)
setup (hd0)
 Checking if "/boot/grub/stage1" exists... no
 Checking if "/grub/stage1" exists... yes
 Checking if "/grub/stage2" exists... yes
 Checking if "/grub/e2fs_stage1_5" exists... yes
 Running "embed /grub/e2fs_stage1_5 (hd0)"...  27 sectors are embedded.
succeeded
 Running "install /grub/stage1 (hd0) (hd0)1+27 p (hd0,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.
grub> root (hd1,0)
root (hd1,0)
 Filesystem type is ext2fs, partition type 0x83
grub> setup (hd1)
setup (hd1)
 Checking if "/boot/grub/stage1" exists... no
 Checking if "/grub/stage1" exists... yes
 Checking if "/grub/stage2" exists... yes
 Checking if "/grub/e2fs_stage1_5" exists... yes
 Running "embed /grub/e2fs_stage1_5 (hd1)"...  27 sectors are embedded.
succeeded
 Running "install /grub/stage1 (hd1) (hd1)1+27 p (hd1,0)/grub/stage2 /grub/grub.conf"... succeeded
Done.
grub> quit
quit
sysresccd# exit
exit
root@sysresccd /root % 
перезагружаемся - и всё работает
Убей их всех! Бог потом рассортирует...
Ответить