mdadm raid1 no puede resincronizarse

mdadm raid1 no puede resincronizarse

Estoy intentando resolver este problema que tengo con mdadm raid1.

Tengo un servidor Ubuntu 9.04 ejecutándose en un software RAID1 de 2 unidades con mdadm. Ayer, una de las unidades falló, por lo que la reemplacé por una unidad nueva del mismo tamaño. Quité la unidad defectuosa, copié la partición de la unidad en buen estado restante a la nueva unidad y luego la agregué al raid. Se volvió a sincronizar y el sistema funcionó bien, hasta que la unidad que no había fallado también fue etiquetada como fallida.

Ahora tenía la incursión ejecutándose únicamente en la nueva unidad. Entonces compré otra unidad y repetí el procedimiento anterior. Ahora tenía 2 unidades nuevas y la incursión se estaba sincronizando. Sin embargo, después de unos minutos revisé /proc/mdstat y la incursión ya no se sincronizaba.

mdadm --detail /dev/md1 muestra: (sdb es la primera unidad nueva y sdc es la segunda unidad nueva)

root@dola:/home/jjaramillo# mdadm --detail /dev/md1 /dev/md1: Versión: 00.90 Hora de creación: sábado 20 de diciembre 00:42:05 2008 Nivel de incursión: raid1 Tamaño de la matriz: 974711680 (929,56 GiB 998,10 GB ) Tamaño de desarrollo usado: 974711680 (929,56 GiB 998,10 GB) Dispositivos Raid: 2 Dispositivos totales: 2 Menor preferido: 1 Persistencia: Superbloque es persistente

Update Time : Wed Jun  2 10:09:35 2010
      State : clean, degraded

Dispositivos activos: 1 Dispositivos en funcionamiento: 2 Dispositivos fallidos: 0 Dispositivos de repuesto: 1

       UUID : bba497c6:5029ba0b:bfa4f887:c0dc8f3d
     Events : 0.5395594

Number   Major   Minor   RaidDevice State
   2       8       35        0      spare rebuilding   /dev/sdc3
   1       8       19        1      active sync   /dev/sdb3

Intenté quitar y volver a agregar la unidad varias veces, pero sucede lo mismo. La incursión no se vuelve a sincronizar. Miré /var/log/messages y encontré lo siguiente:

2 de junio 07:57:36 dola kernel: [35708.917337] sd 5:0:0:0: [sdb] Código de detección no controlado 2 de junio 07:57:36 dola kernel: [35708.917339] sd 5:0:0:0: [sdb] Resultado: hostbyte=DID_OK driverbyte=DRIVER_SENSE 2 de junio 07:57:36 dola kernel: [35708.917342] sd 5:0:0:0: [sdb] Clave de detección: Error medio [actual] [descriptor] 2 de junio de 2007 :57:36 kernel de dola: [35708.917346] Datos de sentido del descriptor con descriptores de sentido (en hexadecimal): 2 de junio 07:57:36 kernel de dola: [35708.917348] 72 03 11 04 00 00 00 0c 00 0a 80 00 00 00 00 00 2 de junio 07:57:36 kernel de dola: [35708.917357] 00 43 9e 47 2 de junio 07:57:36 kernel de dola: [35708.917360] sd 5:0:0:0: [sdb] Agregar. El sentido: Error de lectura no recuperado: falló la reasignación automática

Parece que hay algún tipo de error en sdb (la primera unidad nueva). Mi pregunta es, ¿cuál sería el mejor enfoque para que la redada vuelva a funcionar? He pensado en agregar /dev/md1 a un disco duro en blanco, luego volver a hacer la incursión desde cero y volver a cargar los datos, pero podría haber una solución más fácil.

Cualquier ayuda sería apreciada.

Respuesta1

No debe intentar preparar la nueva unidad de ninguna manera significativa a menos que los componentes de su raid sean en realidad PARTICIONES de disco, no discos en sí. En cuyo caso, crearía una partición en la nueva unidad que sea del mismo tamaño que la del disco activo restante.

Nunca es necesario tocar el disco antiguo: se supone que está fallado y no es confiable.

El procedimiento correcto es quitar la unidad rota, agregar una unidad nueva vacía y luego usar mdadm para agregar esa nueva unidad a la matriz. Lo harías algo como esto:

mdadm --add /dev/md0 /dev/<newdrive>

Luego, el kernel sincronizará la nueva unidad con la matriz, copiando los datos de la unidad restante en buen estado.

Respuesta2

RE:

Quité la unidad defectuosa, copié la partición de la unidad en buen estado restante a la nueva unidad y luego la agregué al raid.

No deberías copiar particiones por tu cuenta.

Lo único que debes hacer es colocar la nueva unidad en tu sistema y usar mdadm para agregarla a tu grupo raid.

Si realmente hiciste una copia (es decir, un dd if=/dev/good_disk of=/dev/new_disk), probablemente terminaste copiando UUID de raid o algo que le permita a mdadm saber qué disco es cuál, y luego se confunde.

Respuesta3

Instale el nuevo disco duro, particione como sugirió Tom O'Connor y luego use mdadm para reparar la matriz. Consulte la página de manual de mdadm en "Para el modo de administración:", la opción --add:

mdadm /dev/md0 --add /dev/sda1 

Es posible que primero deba "fallar" la primera unidad de reemplazo.

información relacionada