93 176 00 43 info@nullseavtec.com
mdadm: RAID por Software - Ensamblar un RAID no activo
MDADM es una utilidad Linux, utilizada para administrar RAID por Software, muy utilizada y extendida.
Muchos proveedores como 1and1, OVH o Hetzner utilizan mdadm para configurar los RAIDs de sus servidores dedicados o Cloud Computing.
En este documento, vamos a aprender a utilizar un poco mdadm, y a reconstruir un RAID no activo.
ATENCIÓN:
Es muy peligroso utilizar MDADM si no conocemos bien su funcionamiento, y las acciones de cada comando.
Es posible perder datos, por lo que es muy importante tener una copia de seguridad (BACKUP), antes de manipular los RAIDs
Podemos visualizar la información y estado de los RAIDs con:
cat /proc/mdstat
Una configuración típica, podría ser una similar a esta:
Personalities : [raid1] [raid0] [raid6] [raid5] [raid4]
md0 : active raid1 sdc1[0] sdd1[1]
1862881088 blocks super 1.2 [2/2] [UU]
md2 : active raid1 sdb2[1] sda2[0]
4194240 blocks [2/2] [UU]
md3 : active raid1 sdb3[1] sda3[0]
108827584 blocks [2/2] [UU]
md1 : active raid1 sdb1[1] sda1[0]
4194240 blocks [2/2] [UU]
Es importante conocer la información de RAID existente en el servidor, para poder detectar futuros problemas.
Si observamos que por ejemplo, el RAID md0 no se muestra en la lista, podemos intentar recuperarlo, sin perder la información.
Para obtener detalles de un RAID:
mdadm --query /dev/md0
mdadm --misc --detail /dev/md0
/dev/md0:
Version : 1.02
Creation Time : Wed Aug 21 12:43:40 2013
Raid Level : raid1
Array Size : 1862881088 (1776.58 GiB 1907.59 GB)
Used Dev Size : 1862881088 (1776.58 GiB 1907.59 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Sun Aug 25 22:08:29 2013
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0
Name : rescue.ovh.net:0
UUID : 00963483:b0655e18:57038271:ed86296f
Events : 150
Number Major Minor RaidDevice State
2 8 33 0 active sync /dev/sdc1
1 8 49 1 active sync /dev/sdd1
Si queremos obtener detalle de las unidades físicas que componen un RAID:
mdadm --examine /dev/sdc1
/dev/sdc1:
Magic : a92b4efc
Version : 1.2
Feature Map : 0x0
Array UUID : 00963483:b0655e18:57038271:ed86296f
Name : rescue.ovh.net:0
Creation Time : Wed Aug 21 12:43:40 2013
Raid Level : raid1
Raid Devices : 2
Avail Dev Size : 3725762560 (1776.58 GiB 1907.59 GB)
Array Size : 3725762176 (1776.58 GiB 1907.59 GB)
Used Dev Size : 3725762176 (1776.58 GiB 1907.59 GB)
Data Offset : 262144 sectors
Super Offset : 8 sectors
State : active
Device UUID : 2afa6e99:2d0c2bf7:bb50cc59:1c118f86
Update Time : Sun Aug 25 22:09:31 2013
Checksum : 678422a5 - correct
Events : 151
Si todo parece correcto, y únicamente no aparece la información del RAID, podemos recuperar y activar el RAID con:
mdadm --assemble --scan
(Este comando permite buscar todos los RAIDs, montarlos y activarlos)
Si el comando anterior NO funciona, y necesitamos recrear el RAID, podemos continuar con los siguientes pasos.
Lo importante, es detectar qué disco está correcto, o más bien, si existe algún disco o partición corrupto o degradado.
Si no sabemos detectar, qué disco está correcto y tiene la integridad de los datos, podemos montar un disco solamente, y comprobar si la información es correcta. (Esto es lo más seguro, para evitar destruir la partición o disco que contenga datos correctos)
En nuestro ejemplo, supongamos que necesitamos recuperar el RAID md0, y suponemos que los datos correctos, están en la partición sdd1
mdadm --assemble /dev/md0 /dev/sdd1
mdadm -R /dev/md0
mdadm --misc --detail /dev/md0
Con esto, ya deberíamos poder visualizar con "cat /proc/mdstat", como el RAID está activo con 1 partición solamente. Podemos montar las particiones para comprobar su estado.
Si el RAID o partición, está en formato LVM, necesitaremos un paso adicional, para poder listar los Volume Group y los Logical Volumes.
pvscan; vgscan; vgchange -a y
Ahora ya podemos montar un Logical Volume para comprobar su integridad.
Si observamos que todo es correcto, y queremos añadir otro disco/partición para sincronizar y dejar el RAID correctamente, deberemos añadirlo con:
mdadm /dev/md0 --manage --add /dev/sdc1
Si tienes algún otro problema con mdadm, y necesitas más información, puedes consultar toda nuestra ayuda sobre mdadm en:
Ayuda sobre mdadm
|