Al fallar un disco en un raid5, se debe eliminar el disco averiado del raid y reemplazarlo por uno nuevo. En caso de que su raid tuviese algún disco de reserva (spare) la integridad de sus datos no estará comprometida, en caso contrario deberá sustituir el disco dañado lo más rápido posible para evitar posibles pérdidas de dato en caso de fallo de un nuevo disco. En este tutorial aprenderá a eliminar el disco averidado del raid y a añadir un nuevo disco.
Comprobando el estado del raid
Tras recibir la alerta de fallo del raid, lo primero que debe hacer es verificar que es lo que está pasando. Para ello tan solo debe consultar el estado del raid con mdadm --detail /dev/mdX:
agd-desktop # mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Sep 22 17:02:27 2010 Raid Level : raid5 Array Size : 2930060288 (2794.32 GiB 3000.38 GB) Used Dev Size : 1465030144 (1397.16 GiB 1500.19 GB) Raid Devices : 3 Total Devices : 4 Persistence : Superblock is persistent Update Time : Tue Feb 15 00:45:32 2011 State : clean, degraded Active Devices : 3 Working Devices : 3 Failed Devices : 1 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : agd-desktop:0 (local to host agd-desktop) UUID : 2b33bce9:f30571d8:efe03c61:898a4e57 Events : 142 Number Major Minor Raid Device State 1 8 33 1 active sync /dev/sdc1 2 8 49 2 active sync /dev/sdd1 4 8 65 3 spare rebuilding /dev/sdf1 3 8 17 - faulty spare
Como podemos ver, tenemos un raid5 formado por tres discos más un cuarto de reserva (spare). Debido a un fallo actualmente el raid está degrado debido a un fallo de uno de los discos. El disco averiado ha sido marcado automáticamente por mdadm, el disco de reserva a entrado a formar parte del raid y se está reconstruyendo el conjunto.
Eliminar el disco averiado del raid
Para eliminar el disco averiado, tan solo ha de ejecutar mdadm --remove /dev/mdX /dev/sdYX. En este caso, el disco averiado es /dev/sde, por lo que debemos ejecutar:
agd-desktop # mdadm --remove /dev/md0 /dev/sde1 mdadm: hot removed /dev/sde1 from /dev/md0
Una vez eliminado, al hacer una consulta sobre el estado del raid deberá obtener algo similar a:
agd-desktop # mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Sep 22 17:02:27 2010 Raid Level : raid5 Array Size : 2930060288 (2794.32 GiB 3000.38 GB) Used Dev Size : 1465030144 (1397.16 GiB 1500.19 GB) Raid Devices : 3 Total Devices : 3 Persistence : Superblock is persistent Update Time : Tue Feb 15 00:45:32 2011 State : clean, degraded Active Devices : 3 Working Devices : 3 Failed Devices : 0 Spare Devices : 0 Layout : left-symmetric Chunk Size : 512K Name : agd-desktop:0 (local to host agd-desktop) UUID : 2b33bce9:f30571d8:efe03c61:898a4e57 Events : 142 Number Major Minor Raid Device State 1 8 33 1 active sync /dev/sdc1 2 8 49 2 active sync /dev/sdd1 4 8 65 3 spare rebuilding /dev/sdf1
A continuación deberá reemplazar el disco por uno nuevo. Recuerde apagar el PC para esta tarea, salvo que su controladora SATA soporte desconexión en caliente.
Preparar el nuevo disco
Una vez tenga haya reemplazado el disco averiado, deberá particionar el disco siguiendo la misma estructura que los discos del raid activo. En caso de que usted use el disco completo, sin particionar, puede saltarse este paso. Aunque como ya se comentó en Montar un raid5 por software, esto no es recomendable sin embargo con un raid activo es imposible volver atrás, salvo que tenga posibilidad de contar con un nuevo juego de discos.
La forma más sencilla para llevar a cabo esta tarea es usar sfdisk para clonar el esquema de partición. Para ello usaremos la opción -d de sfdisk, la cual imprime la tabla de particiones en un formato legible por el propio sfdisk. Por lo que tan solo tendremos que usar una tubería para redireccionar la salida hacia sfdisk.
agd-desktop # sfdisk -d /dev/sdc # partition table of /dev/sdc unit: sectors /dev/sdc1 : start= 63, size=2930063157, Id=fd /dev/sdc2 : start= 0, size= 0, Id= 0 /dev/sdc3 : start= 0, size= 0, Id= 0 /dev/sdc4 : start= 0, size= 0, Id= 0 agd-desktop ~ # sfdisk -d /dev/sdc | sfdisk /dev/sde Comprobando que nadie esté utilizando este disco en este momento... Correcto Disco /dev/sde: 182401 cilindros, 255 cabezas, 63 sectores/pista sfdisk: ERROR: el sector 0 no tiene una firma msdos /dev/sde: tipo de tabla de particiones no reconocido Situación anterior: No se ha encontrado ninguna partición Situación nueva: Unidades = sectores de 512 bytes, contando desde 0 Disp. Inicio Principio Fin Nº sect. Id Sistema /dev/sde1 63 2930063219 2930063157 fd /dev/sde2 0 0 0 Vacía /dev/sde3 0 0 0 Vacía /dev/sde4 0 0 0 Vacía Atención: no hay ninguna partición primaria marcada como iniciable (activa). Esto no es problema para LILO, pero el MBR de DOS no iniciará con este disco. La nueva tabla de particiones se ha escrito correctamente Volviendo a leer la tabla de particiones...
En este punto, su disco está preparado para ser integrado en el raid.
Añadir el disco nuevo al raid
Para añadir el nuevo disco al raid, tan solo ha de ejecutar mdadm --add /dev/mdX /dev/sdXY.
agd-desktop ~ # mdadm --add /dev/md0 /dev/sde1 mdadm: added /dev/sde1
Una consulta al estado del raid, através de mdadm --detail /dev/md0 devolverá algo similar a:
agd-desktop # mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Wed Sep 22 17:02:27 2010 Raid Level : raid5 Array Size : 2930060288 (2794.32 GiB 3000.38 GB) Used Dev Size : 1465030144 (1397.16 GiB 1500.19 GB) Raid Devices : 3 Total Devices : 4 Persistence : Superblock is persistent Update Time : Tue Feb 15 00:45:32 2011 State : clean, degraded Active Devices : 3 Working Devices : 3 Failed Devices : 0 Spare Devices : 1 Layout : left-symmetric Chunk Size : 512K Name : agd-desktop:0 (local to host agd-desktop) UUID : 2b33bce9:f30571d8:efe03c61:898a4e57 Events : 142 Number Major Minor Raid Device State 1 8 33 1 active sync /dev/sdc1 2 8 49 2 active sync /dev/sdd1 4 8 65 3 spare rebuilding /dev/sdf1 5 8 97 - spare /dev/sde1
Si desea ver el progreso de la reconstrucción del raid, tan solo deberá ejecutar el siguiente comando en una terminal, watch cat /proc/mdstat.
agd-desktop # watch cat /proc/mdstat Every 2,0s: cat /proc/mdstat Mon Apr 4 00:19:43 2011 Personalities : [raid6] [raid5] [raid4] md0 : active raid5 sde1[4] sdc1[3] sdd1[1] 2930060288 blocks super 1.2 level 5, 512k chunk, algorithm 2 [3/2] [_UU] [>....................] recovery = 3.0% (45403136/1465030144) finish=271 .4min speed=87148K/sec unused devices:
0 comentarios:
Publicar un comentario