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

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-диска. Итак, единственный способ, которым я знаю, как загрузить сервер, - это пойти в центр обработки данных, забрать сервер и отнести его в офис. Прикрутите сервер. Подключите привод cdrom к разъему 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>. Но я понятия не имею, как заставить систему загружаться, не пытаясь получить доступ к грязным разделам.

Что я хочу сделать, это конечно: - загрузить машину - проверить жесткий диск на наличие ошибок - пометить диск как чистый

На экране grub отредактируйте свои команды загрузки и добавьте emergency до конца параметров командной строки загрузки. Затем загрузите его. Это не обязательно сработает (если md2 это ваша корневая файловая система, она выйдет из строя). Если это не поможет вам получить оболочку, вам придется найти привод CD-ROM.

Когда у вас есть оболочка, вы можете запустить mdadm чтобы попытаться восстановить ваш RAID-массив.

Узнайте, какие устройства должны входить в его состав:

mdadm -D /dev/md2

Вы увидите список устройств. Если некоторые отмечены как removed или failed тогда вам сначала придется разобраться с неисправными дисками.

После этого снова соберите свой RAID-массив:

mdadm --assemble --force /dev/md2 /dev/**** /dev/**** /dev/**** ...

(* перечисление каждого из устройств, которые должны быть в массиве из предыдущего вывода.)