Mi servidor me envió un correo electrónico diciendo que uno de mis discos no pudo leer un bloque. Entonces decido reemplazarlo antes de que falle por completo. Agregué un disco nuevo y reemplacé el que fallaba.
sudo mdadm --manage /dev/md0 --add /dev/sdg1
sudo mdadm --manage /dev/md0 --replace /dev/sdb1 --with /dev/dbg1
después de la sincronización quería eliminar el /dev/sdb1 fallido y lo eliminé de la matriz con:
sudo mdadm --manage /dev/md0 --remove /dev/sdb1
pero cuando quiero sacar el disco de la caja, primero quito otros 2 pero los vuelvo a colocar inmediatamente. Después de esto pruebo si mi raid sigue funcionando y no fue así. Intenté reiniciar, con la esperanza de que se cure solo. En el pasado esto nunca fue un problema, pero tampoco reemplacé un disco.
Después de que esto no funciona, miro qué hacer e intenté volver a agregar el disco, pero esto no ayudó y el ensamblaje no funcionó:
sudo mdadm --assamble --scan
detecta solo 2 discos, así que intenté decirle el nombre de los discos
sudo mdadm -v -A /dev/md0 /dev/sda1 /dev/sdf1 /dev/sdc1 /dev/sdd1
pero dime que todos los discos están ocupados:
sudo mdadm -v -A /dev/md0 /dev/sda1 /dev/sdf1 /dev/sdc1 /dev/sdd1
mdadm: looking for devices for /dev/md0
mdadm: /dev/sda1 is busy - skipping
mdadm: /dev/sdf1 is busy - skipping
mdadm: /dev/sdc1 is busy - skipping
mdadm: /dev/sdd1 is busy - skipping
sdg1 obtiene sdf1 después del reinicio.
mdstat parece detectar los discos correctamente (inserté sdb1 nuevamente con la esperanza de que ayude y probé con y sin):
cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : inactive sdd1[3](S) sdb1[1](S) sdc1[2](S) sda1[0](S) sdf1[4](S)
14650670080 blocks super 1.2
unused devices: <none>
Si consulto solo los discos /dev/sda1
y /dev/sdf1
me muestra el mismo estado de matrizAA..
sudo mdadm --query --examine /dev/sda1
/dev/sda1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 7c3e9d4e:6bad2afa:85cd55b4:43e43f56
Name : lianli:0 (local to host lianli)
Creation Time : Sat Oct 29 18:52:27 2016
Raid Level : raid5
Raid Devices : 4
Avail Dev Size : 5860268032 (2794.39 GiB 3000.46 GB)
Array Size : 8790402048 (8383.18 GiB 9001.37 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262056 sectors, after=0 sectors
State : clean
Device UUID : 3e912563:b10b74d0:a49faf2d:e14db558
Internal Bitmap : 8 sectors from superblock
Update Time : Sat Jan 9 10:06:33 2021
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : c7d96490 - correct
Events : 303045
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 0
Array State : AA.. ('A' == active, '.' == missing, 'R' == replacing)
sudo mdadm --query --examine /dev/sdd1
/dev/sdd1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 7c3e9d4e:6bad2afa:85cd55b4:43e43f56
Name : lianli:0 (local to host lianli)
Creation Time : Sat Oct 29 18:52:27 2016
Raid Level : raid5
Raid Devices : 4
Avail Dev Size : 5860268032 (2794.39 GiB 3000.46 GB)
Array Size : 8790402048 (8383.18 GiB 9001.37 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262056 sectors, after=0 sectors
State : clean
Device UUID : bf303286:5889dc0c:a6a1824a:4fe1ae03
Internal Bitmap : 8 sectors from superblock
Update Time : Sat Jan 9 10:05:58 2021
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : ef1f16fd - correct
Events : 303036
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 3
Array State : AA.A ('A' == active, '.' == missing, 'R' == replacing)
sudo mdadm --query --examine /dev/sdc1
/dev/sdc1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x1
Array UUID : 7c3e9d4e:6bad2afa:85cd55b4:43e43f56
Name : lianli:0 (local to host lianli)
Creation Time : Sat Oct 29 18:52:27 2016
Raid Level : raid5
Raid Devices : 4
Avail Dev Size : 5860268032 (2794.39 GiB 3000.46 GB)
Array Size : 8790402048 (8383.18 GiB 9001.37 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
Unused Space : before=262056 sectors, after=0 sectors
State : clean
Device UUID : b29aba8f:f92c2b65:d155a3a8:40f41859
Internal Bitmap : 8 sectors from superblock
Update Time : Sat Jan 9 10:04:33 2021
Bad Block Log : 512 entries available at offset 72 sectors
Checksum : 47feb45 - correct
Events : 303013
Layout : left-symmetric
Chunk Size : 512K
Device Role : Active device 2
Array State : AAAA ('A' == active, '.' == missing, 'R' == replacing)
Seguiré intentándolo pero actualmente se me acaban las ideas, además es la primera vez que reemplazo un disco en el raid. Ojalá alguien pueda ayudarme.
Al menos yo también tengo una copia de seguridad, pero no quiero restablecer los discos duros para que me den cuenta de que la copia de seguridad tampoco funciona...
Actualizar: Después de agregar todos los discos para ensamblar obtuve:
sudo mdadm -v -A /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sdf1
mdadm: looking for devices for /dev/md0
mdadm: /dev/sda1 is identified as a member of /dev/md0, slot 0.
mdadm: /dev/sdb1 is identified as a member of /dev/md0, slot 1.
mdadm: /dev/sdc1 is identified as a member of /dev/md0, slot 2.
mdadm: /dev/sdd1 is identified as a member of /dev/md0, slot 3.
mdadm: /dev/sdf1 is identified as a member of /dev/md0, slot 1.
mdadm: added /dev/sdf1 to /dev/md0 as 1
mdadm: added /dev/sdc1 to /dev/md0 as 2 (possibly out of date)
mdadm: added /dev/sdd1 to /dev/md0 as 3 (possibly out of date)
mdadm: added /dev/sda1 to /dev/md0 as 0
mdadm: /dev/md0 assembled from 2 drives - not enough to start the array.
Respuesta1
Encontré una solución:
Después de más investigaciones y la información de "posible desactualización" que obtuve en modo detallado ( sudo mdadm -v -A /dev/md0 /dev/sda1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sdf1
), encontré esta página:https://raid.wiki.kernel.org/index.php/RAID_Recovery
En la sección 'Intentar ensamblar usando --force', describen cómo usar la fuerza si el recuento de eventos diferente es inferior a 50. El mío era mucho menor, así que lo intenté, la matriz raid se conecta nuevamente y detecta que uno de los discos aún está fuera de fecha, pero espero que pueda sincronizarlo con la información de los demás. Entonces, podría ser que perdí algunos datos, pero aprendí que si quitaba el disco incorrecto de la matriz debía esperar hasta que la matriz estuviera en snyc...
El comando que utilicé para que mi raid volviera a funcionar:
sudo mdadm --stop /dev/md0
sudo mdadm -v -A --force /dev/md0 /dev/sda1 /dev/sdc1 /dev/sdd1 /dev/sdf1
Actualizar:
Probablemente no se agregó una unidad, por lo que la fuerza solo agregó un controlador para que la matriz volviera a estar en un estado funcional. El dispositivo con la diferencia de evento más grande tuvo que agregarse más tarde con --re-add
:
sudo mdadm --manage /dev/md0 --re-add /dev/sdc1
Ahora mi matriz vuelve a estar sincronizada y puedo intentar quitar el disco duro defectuoso nuevamente.