md / raid: md2: não é possível iniciar a matriz degradada e suja, kernel panic

1

Depois de ter feito uso de um interruptor remoto, meu servidor não voltou a ficar on-line. Quando fui ao datacenter e reiniciei o computador no mesmo instante, vejo a inicialização do servidor (vejo a barra de progresso do centos com quase todo o caminho até o final) e, finalmente, dou as seguintes mensagens:

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

O servidor roda o CentOS e tem invasão de software, e eu não tenho backups das configurações de invasão. O único backup que eu tenho é de / home e os despejos de banco de dados. (Fico feliz em pelo menos ter aqueles embora.)

Como o servidor é um antigo Dell PowerEdge 1750 sem uma unidade de CD-ROM, não tenho como inicializar o computador a partir de um disco de inicialização. Eu também lembro no passado que o servidor também não inicializava a partir de um disco USB inicializável. Então, a única maneira de saber como inicializar o servidor é ir ao datacenter, pegar o servidor e levá-lo ao escritório. Parafuso abra o servidor. Anexar uma unidade de CDROM para um slot IDE na placa-mãe. E então inicialize. Eu espero que vocês possam me ajudar a evitar isso.

Examinei um pouco as opções de inicialização e encontrei as seguintes opções de inicialização. Quando o CentOS está prestes a inicializar e interromper a contagem regressiva de inicialização:

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)

Acho que a primeira configuração é a padrão, porque escolher isso me leva ao pânico do kernel mencionado acima. Os outros terminam com algo como "Dormir para sempre".

Eu posso pressionar 'e' para editar os comandos de inicialização, pressione 'a' para modificar os argumentos do kernel e pressione 'c' para a linha de comando do grub.

A linha de comando fornece um grub > pronto. Mas não tenho idéia de como fazer o sistema inicializar sem (tentar) acessar as partições sujas.

O que eu quero fazer está fora do curso: - inicialize a máquina - verifique se há erros no disco rígido - marque a unidade como limpa

    
por nl-x 08.09.2012 / 17:02

1 resposta

2

Na tela do grub, edite seus comandos de inicialização e adicione emergency ao final das opções da linha de comando de inicialização. Então inicie. Isso não é garantido para funcionar (se md2 for seu sistema de arquivos raiz, ele irá falhar). Se isso não conseguir um shell, você terá que encontrar uma unidade de CD-ROM.

Depois de ter um shell, você pode executar mdadm para tentar recuperar seu array RAID.

Descubra quais dispositivos devem fazer parte dele:

mdadm -D /dev/md2

Você verá uma lista de dispositivos. Se alguns estiverem marcados como removed ou failed , você terá que lidar primeiro com os discos com falha.

Depois disso, remonte sua matriz RAID:

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

(* listando cada um dos dispositivos que deveriam estar na matriz da saída anterior.)

    
por 08.09.2012 / 17:11