Hace algún tiempo tenía un sistema RAID5 en casa. Uno de los 4 discos falló, pero después de quitarlo y volver a colocarlo parecía estar bien, así que comencé una resincronización. Cuando terminó me di cuenta, para mi horror, que 3 de 4 discos fallaron. Sin embargo, no creo que sea posible. Hay múltiples particiones en los discos, cada parte de una matriz RAID diferente.
- md0 es una matriz RAID1 compuesta por sda1, sdb1, sdc1 y sdd1.
- md1 es una matriz RAID5 compuesta por sda2, sdb2, sdc2 y sdd2.
- md2 es una matriz RAID0 compuesta por sda3, sdb3, sdc3 y sdd3.
md0 y md2 informan que todos los discos están activos mientras que md1 informa que 3 fallaron (sdb2, sdc2, sdd2) Entiendo que cuando los discos duros fallan, todas las particiones deben perderse, no solo las del medio.
En ese momento apagué la computadora y desconecté las unidades. Desde entonces estaba usando esa computadora con un disco nuevo más pequeño.
¿Hay alguna esperanza de recuperar los datos? ¿Puedo convencer de alguna manera a mdadm de que mis discos funcionan? El único disco que realmente puede tener un problema es sdc, pero ese también es informado por las otras matrices.
Actualizar
Finalmente tuve la oportunidad de conectar los discos viejos y arrancar esta máquina desde SystemRescueCd. Todo lo anterior fue escrito de memoria. Ahora tengo algunos datos duros. Aquí está la salida demdadm --examine /dev/sd*2
/dev/sda2:
Magic : a92b4efc
Version : 0.90.00
UUID : 53eb7711:5b290125:db4a62ac:7770c5ea
Creation Time : Sun May 30 21:48:55 2010
Raid Level : raid5
Used Dev Size : 625064960 (596.11 GiB 640.07 GB)
Array Size : 1875194880 (1788.33 GiB 1920.20 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 1
Update Time : Mon Aug 23 11:40:48 2010
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 1
Spare Devices : 1
Checksum : 68b48835 - correct
Events : 53204
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 0 8 2 0 active sync /dev/sda2
0 0 8 2 0 active sync /dev/sda2
1 1 8 18 1 active sync /dev/sdb2
2 2 8 34 2 active sync /dev/sdc2
3 3 0 0 3 faulty removed
4 4 8 50 4 spare /dev/sdd2
/dev/sdb2:
Magic : a92b4efc
Version : 0.90.00
UUID : 53eb7711:5b290125:db4a62ac:7770c5ea
Creation Time : Sun May 30 21:48:55 2010
Raid Level : raid5
Used Dev Size : 625064960 (596.11 GiB 640.07 GB)
Array Size : 1875194880 (1788.33 GiB 1920.20 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 1
Update Time : Mon Aug 23 11:44:54 2010
State : clean
Active Devices : 2
Working Devices : 3
Failed Devices : 1
Spare Devices : 1
Checksum : 68b4894a - correct
Events : 53205
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 1 8 18 1 active sync /dev/sdb2
0 0 0 0 0 removed
1 1 8 18 1 active sync /dev/sdb2
2 2 8 34 2 active sync /dev/sdc2
3 3 0 0 3 faulty removed
4 4 8 50 4 spare /dev/sdd2
/dev/sdc2:
Magic : a92b4efc
Version : 0.90.00
UUID : 53eb7711:5b290125:db4a62ac:7770c5ea
Creation Time : Sun May 30 21:48:55 2010
Raid Level : raid5
Used Dev Size : 625064960 (596.11 GiB 640.07 GB)
Array Size : 1875194880 (1788.33 GiB 1920.20 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 1
Update Time : Mon Aug 23 11:44:54 2010
State : clean
Active Devices : 1
Working Devices : 2
Failed Devices : 2
Spare Devices : 1
Checksum : 68b48975 - correct
Events : 53210
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 2 8 34 2 active sync /dev/sdc2
0 0 0 0 0 removed
1 1 0 0 1 faulty removed
2 2 8 34 2 active sync /dev/sdc2
3 3 0 0 3 faulty removed
4 4 8 50 4 spare /dev/sdd2
/dev/sdd2:
Magic : a92b4efc
Version : 0.90.00
UUID : 53eb7711:5b290125:db4a62ac:7770c5ea
Creation Time : Sun May 30 21:48:55 2010
Raid Level : raid5
Used Dev Size : 625064960 (596.11 GiB 640.07 GB)
Array Size : 1875194880 (1788.33 GiB 1920.20 GB)
Raid Devices : 4
Total Devices : 4
Preferred Minor : 1
Update Time : Mon Aug 23 11:44:54 2010
State : clean
Active Devices : 1
Working Devices : 2
Failed Devices : 2
Spare Devices : 1
Checksum : 68b48983 - correct
Events : 53210
Layout : left-symmetric
Chunk Size : 64K
Number Major Minor RaidDevice State
this 4 8 50 4 spare /dev/sdd2
0 0 0 0 0 removed
1 1 0 0 1 faulty removed
2 2 8 34 2 active sync /dev/sdc2
3 3 0 0 3 faulty removed
4 4 8 50 4 spare /dev/sdd2
Parece que las cosas han cambiado desde el último arranque. Si estoy leyendo esto correctamente, sda2, sdb2 y sdc2 funcionan y contienen datos sincronizados y sdd2 es de repuesto. Recuerdo claramente haber visto 3 discos fallidos, pero esta es una buena noticia. Sin embargo, la matriz todavía no funciona:
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md125 : inactive sda2[0](S) sdb2[1](S) sdc2[2](S)
1875194880 blocks
md126 : inactive sdd2[4](S)
625064960 blocks
md127 : active raid1 sda1[0] sdd1[3] sdc1[2] sdb1[1]
64128 blocks [4/4] [UUUU]
unused devices: <none>
md0 parece ser renombrado a md127. md125 y md126 son muy extraños. Deben ser una matriz, no dos. Eso solía llamarse md1. md2 se ha ido por completo, pero ese fue mi intercambio, así que no me importa.
Puedo entender los diferentes nombres y realmente no importa. Pero, ¿por qué no se puede leer una matriz con 3 discos de "sincronización activa"? ¿Y qué pasa con sdd2 estar en una matriz separada?
Actualizar
Intenté lo siguiente después de hacer una copia de seguridad de los superbloques:
root@sysresccd /root % mdadm --stop /dev/md125
mdadm: stopped /dev/md125
root@sysresccd /root % mdadm --stop /dev/md126
mdadm: stopped /dev/md126
Hasta aquí todo bien. Como sdd2 es de repuesto, no quiero agregarlo todavía.
root@sysresccd /root % mdadm --assemble /dev/md1 /dev/sd{a,b,c}2 missing
mdadm: cannot open device missing: No such file or directory
mdadm: missing has no superblock - assembly aborted
Aparentemente no puedo hacer eso.
root@sysresccd /root % mdadm --assemble /dev/md1 /dev/sd{a,b,c}2
mdadm: /dev/md1 assembled from 1 drive - not enough to start the array.
root@sysresccd /root % cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : inactive sdc2[2](S) sdb2[1](S) sda2[0](S)
1875194880 blocks
md127 : active raid1 sda1[0] sdd1[3] sdc1[2] sdb1[1]
64128 blocks [4/4] [UUUU]
unused devices: <none>
Eso tampoco funcionó. Probemos con todos los discos.
mdadm --stop /dev/md1
mdadm: stopped /dev/md1
root@sysresccd /root % mdadm --assemble /dev/md1 /dev/sd{a,b,c,d}2
mdadm: /dev/md1 assembled from 1 drive and 1 spare - not enough to start the array.
root@sysresccd /root % cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md1 : inactive sdc2[2](S) sdd2[4](S) sdb2[1](S) sda2[0](S)
2500259840 blocks
md127 : active raid1 sda1[0] sdd1[3] sdc1[2] sdb1[1]
64128 blocks [4/4] [UUUU]
unused devices: <none>
Sin suerte. Según esta respuesta , planeo probar:
mdadm --create /dev/md1 --assume-clean --metadata=0.90 --bitmap=/root/bitmapfile --level=5 --raid-devices=4 /dev/sd{a,b,c}2 missing
mdadm --add /dev/md1 /dev/sdd2
¿Es seguro?
Actualizar
Publico el script del analizador de superbloque que usé para hacer esa tabla en mi comentario. Quizás alguien lo encuentre útil. Gracias por toda tu ayuda.
mdadm -A /dev/md1 /dev/sd{b,c,d}2
(tal vez --force
)? (Si no está, copia de seguridad de los superbloques en primer lugar.)
/dev/sdd2
puede estar en una matriz separada a pesar de tener el mismo UUID que sd{a,b,c}2
.
mdadm --re-add
que no es lo que estás buscando. ¿Hiciste una prueba de memoria recientemente? ¿Tiene algún mensaje de registro relacionado con la falla de la matriz?