Възстановяване на софтуерен райд след повреда в един от хардисковете на Debian squeeze

?????????????? ?? ????????? ???? ???? ??????? ? ???? ?? ???????????? ?? Debian squeeze

Налична кoнфигурация

 

  • 2 x 500 GB SATA диска (Seagate …) /dev/sda и /dev/sdb.
  • 2 raid1 устроиства – /dev/md0 (направени за /dev/sda1 и /dev/sdb1) за системата /dev/md1 за swap

Единия от хард дисковете се поврежда “почна да чука нещо” (/dev/sda). Исках да го ъпгреидна с по-добър и по-голям и взех 2x 1TB Samsung.

Смених повреденият хард диск и стартирах системата от /dev/sdb  ( Трябваше само да кажа на BIOS да бутне от другият хард диск ) и тогава изпълних следните стъпки:

 

 

  1. Премахнах всички съществуващи партишъни от новият хард диск ( въпреки, че понеже е нов нямаше такива налични но тази стъпка трябва да се има в предвид ако ползвате друг хард диск )
  2. Изчистете MBR с следната команда: # dd if=/dev/zero of=/dev/sda bs=512 count=1
  3. Запазете схемата на партишъните от здравият хард : # sfdisk -d /dev/sdb > mbr_sdb.txt
  4. Приложете схемата върху новият диск: # sfdisk /dev/sdb < mbr_sdb.txt
  5. Добавете партишъните от новият диск в раида: # mdadm /dev/md0 -a /dev/sda1
  6. Започва възстановяването на раида, статуса можете да проверите с следната команда: # mdadm –detail /dev/md0 ( същата команда за md1)
  7. Инсталираме grubа на новият диск с: # grub-install /dev/sda

Тогава махнах /dev/sdb ( той си функционираше но исках два идентични и по-добри диска ) с новият 1TB и повторих процеса.

Накрая ще инсталираме grub на новият диск (започва /dev/sdb сега) и даде следното съобщение за грешка:

# grub-install /dev/sdb
 /usr/sbin/grub-probe: error: no such disk.
 Auto-detection of a file system of /dev/md0 failed.
Please report this together with the output of “/usr/sbin/grub-probe –device-map=/boot/grub/device.map –target=fs -v /boot/grub” to < bug-grub@gnu.org>

След като се разрових из нета за ръзрешаване на проблема намерих решение. Причината беше в /boot/grub/device.map файла, съдържанието на файла беше грешно не бяха правилно отрязени новите дискове.


Фаила садържаше следната информация която беше на старите хардове.

# cat /boot/grub/device.map 
 (hd0)    /dev/disk/by-id/ata-ST3500320NS_9QM263BS
 (hd1)    /dev/disk/by-id/ata-ST3500630NS_9QG8J1M5
 (hd2)    /dev/disk/by-id/ata-ST3500320NS_9QM1BN3X

Така че трябва да обновим информацията на файла, това става чрез grub-install като добавиме параметрите –recheck ( инсталиране на grub едновременно )

root@wdev:/boot/grub# grub-install –recheck /dev/sdb

Installation finished. No error reported.

 # cat /boot/grub/device.map 
(hd0)    /dev/disk/by-id/ata-SAMSUNG_HD103SJ_S246J9KB416143
(hd1)    /dev/disk/by-id/ata-SAMSUNG_HD103SJ_S246J9KB416142


За да наблюдавате процеса на синхронизиране на райда:

# watch -n 2 cat /proc/mdstat


Създаваме нов raid1 и md2 с оставащите 500GB ( Създадох нов партишън /dev/sda3 и sdb3 за добавяне в новия масив )

Създаване на масива с

# mdadm –create /dev/md2 –level=1 –raid-devices=2 /dev/sda3 /dev/sdb3


Форматираме новият партишън на ext4:

# mkfs.ext4 /dev/md2

Ъпдейтнете /etc/mdadm/mdadm.conf като добавяте новият масив или регенерирате съдържанирео с:

# /usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf

1,674 total views, 1 views today

Print Friendly, PDF & Email