четверг, 6 сентября 2012 г.

Восстанавливаем загрузку с Soft Raid Linux. Ubuntu Server и MDADM - загружается в BusyBox


     После смены сбойного HDD на сервере с программным RAID 1 был добавлен новый HDD взамен вышедшего из строя, но при очередной перезагрузке сервера выскочила ошибка:

Check root=bootarg cat /proc/cmdline
or missing modules, devices: cat /proc/modules ls /dev
ALERT! /dev/disk/by-uuid/[UUID] does not exist. Dropping to a shell!
и сервер вывалился в BusyBox.


   Итак, имеем нерабочий сервер и будем исправлять ситуацию. Первое, что мы должны сделать - разобрать RAID (если он частично собран) и собрать его заново. В моем случае, на сервере существовало 3 RAID 1 массива: md0, md1, md2. Останавливаем RAID массивы:
$(initramfs) mdadm --stop /dev/md0
$(initramfs) mdadm --stop /dev/md1
$(initramfs) mdadm --stop /dev/md2

Собираем массивы автоматически:
$(initramfs) mdadm --assemble --scan

или вручную:
$(initramfs) mdadm --assemble --force /dev/md0 /dev/sda1 /dev/sdb1
$(initramfs) mdadm --assemble --force /dev/md1 /dev/sda2 /dev/sdb2
$(initramfs) mdadm --assemble --force /dev/md2 /dev/sda3 /dev/sdb3
после того, как собрали RAID массив:
$(initramfs) exit
Система загрузится, но необходимо произвести некоторые действия, чтоб ситуация не повторилась при следующей перезагрузке сервера. Смотрим состояние RAID массива:

root@server: cat /proc/mdstat

Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md2_2 : inactive raid1 sdb3[S]
        
md0 : active raid1 sdb1[0] sda1[1]
      979840 blocks [2/2] [UU]
   
md1 : active raid1 sdb2[0] sda2[1]
      136721088 blocks [2/2] [UU]
если название RAID массива поменялось или состояние массива перешло в "inactive" , как в случае выше, то пересобираем этот массив:
root@server: mdadm --stop /dev/md2_2
root@server: mdadm --assemble /dev/md2 /dev/sda3 /dev/sdb3
Теперь обязательно необходимо перезаписать новый конфиг mdadm и обновить initramfs:
root@server: /usr/share/mdadm/mkconf > /etc/mdadm/mdadm.conf
root@server: update-initramfs -u
Теперь можем спокойно перезагружаться.

2 комментария:

  1. Огромное спасибо! Очень помогло.

    ОтветитьУдалить
  2. Да, действительно оч помогло.
    Спасибо!

    ОтветитьУдалить