md/raid:md2: невозможно запустить грязный деградированный массив, паника ядра
После использования удаленного выключателя питания мой сервер не вернулся в оперативный режим. Когда я зашел в центр обработки данных и перезагрузил компьютер на месте, я увидел, что сервер загружается (я вижу индикатор выполнения Centos с запуском почти до конца) и в итоге выдает следующие сообщения:
md/raid:md2: cannot start dirty degraded array.
md/raid:md2: failed to run raid set.
md: pers->run() failed ...
md/raid:md2: cannot start dirty degraded array.
md/raid:md2: failed to run raid set.
md: pers->run() failed ...
Kernel panic - not syncing: Attempted to kill init!
Pid: 1, comm: init not tainted 2.6.32-279.1.1.el6.i686 #1
Call Trace:
[<c083bfbc>] ? panic+0x68/0x11c
[<c045a501>] ? do_exit+0x741/0x750
[<c045a54c>] ? do_group_exit+0x3c/0xa0
[<c045a5c1>] ? sys_exit_group+0x11/0x20
[<c083eba4>] ? syscall_call+0x7/0xb
[<c083007b>] ? cmos_wake_setup+0x62/0x112
Сервер работает под CentOS и имеет программный рейд, а у меня нет резервных копий настроек рейда. Единственная резервная копия, которую я имею, имеет /home и дампы базы данных. (По крайней мере, рад, что есть.)
Поскольку это старый Dell PowerEdge 1750 без привода CD-ROM, у меня нет возможности загрузить компьютер с загрузочного диска. Я также помню, что в прошлом сервер также не загружался с загрузочного USB-диска. Поэтому единственный способ, которым я знаю, как загрузить сервер, - это зайти в центр обработки данных, взять сервер и доставить его в офис. Винт открой сервер. Подключите дисковод компакт-дисков к разъему IDE на материнской плате. А затем загрузите его. Я надеюсь, что вы, ребята, могли бы помочь мне избежать этого.
Я немного просмотрел параметры загрузки и нашел следующие варианты загрузки. Когда CentOS собирается загрузиться и прервать обратный отсчет загрузки:
CentOS (2.6.32-279.1.1.el63.i686)
CentOS Linux (2.6.32-71.29.1.el6.i686)
centos (2.6.32-71.el6.i686)
Я думаю, что первая конфигурация является конфигурацией по умолчанию, потому что выбор, который приводит меня к вышеупомянутой панике ядра. Другие заканчиваются чем-то вроде "Спать вечно".
Я могу нажать "e" для редактирования команд загрузки, нажать "a" для изменения аргументов ядра и нажать "c" для командной строки grub.
Командная строка выдает приглашение grub>. Но я понятия не имею, как заставить систему загружаться без (попытки) доступа к грязным разделам.
То, что я хочу сделать, это конечно: - загрузить машину - проверить жесткий диск на наличие ошибок - пометить диск как чистый
1 ответ
С экрана grub отредактируйте свои загрузочные команды и добавьте emergency
до конца загрузки параметров командной строки. Тогда загрузите это. Это не гарантированно работает (если md2
ваша корневая файловая система это не удастся). Если вам не удастся получить оболочку, вам нужно будет найти привод CD-ROM.
Если у вас есть оболочка, вы можете запустить mdadm
попытаться восстановить ваш RAID-массив.
Узнайте, какие устройства должны быть частью этого:
mdadm -D /dev/md2
Вы увидите список устройств. Если некоторые помечены как removed
или же failed
тогда вам придется сначала разобраться с неисправными дисками.
После этого соберите свой RAID-массив:
mdadm --assemble --force /dev/md2 /dev/**** /dev/**** /dev/**** ...
(* перечисление каждого из устройств, которые должны быть в массиве из предыдущего вывода.)