Buenos días a todos!
Estas semanas he seguido trabajando (además de en el desarrollo de aplicaciones web para nuevos clientes) en la mejora sustancial de la seguridad de nuestros servidores incluyendo un sistema de monitorización de discos que me permitirá conocer si existe algún tipo de error en el hardware antes de que suceda una catástrofe.
En primer lugar, configuré dos discos SATA de 1TB para que trabajaran en espejo , es decir:
- Disco A como principal, es el que “arranca” el sistema.
- Disco B copia idéntica del disco A continua, de forma que si fallase el disco A, tan solo habría que cambiar el arranque del a máquina al disco B, hasta que reparasen el primero.
Para ello ha sido necesaria la instalación de la herramienta mdadm, que consiste en lo siguiente:
raidtools ha sido el paquete de gestión de RAID por software estándard en Linux desde la inclusión del driver RAID por software. Con los años, raidtools ha demostrado un uso pesado, principalmente porque depende de un fichero de configuración (/etc/raidtab) que es difícil de mantener, y parcialmente por sus limitadas características. En agosto de 2001, Neil Brown, un ingeniero de software en la Unviersity of New South Wales y un desarrollador del kernel, lanzó una alternativa. Su paquete mdadm (multiple devices admin) proporciona una forma simple y robusta de gestión de arrays software. mdadm vá por la versión 1.0.1 y ha demostrado ser muy estable durante su primer año de desarrollo. En la lista de correo Linux-raid ha recibido una cálida acogida y muy probablemente consiga una mayor difusión en el futuro1. Este artículo asume que usted tiene cierta familiaridad con el RAID por software en Linux y que ha tenido cierto contacto con el paquete raidtools.
Texto extraído de http://elpuig.xeill.net/Members/vcarceler/articulos/mdadm-una-nueva-herramienta-para-la-gestion-de-raid-mediante-software-en-linux
Trabajo con una distribución Gentoo con lo cual, para realizar la instalación utilice el siguiente comando:
# emerge mdadm
En distrubiciones Debian:
# apt-get install mdadm
En Red Hat 7.x , OVH nos facilita un rpm:
# rpm -Uvh --nodeps ftp://ftp.ovh.net/made-in-ovh/sources/mdadm-2.5.5p1-1.i386.rpm
Y sino, podemos instalarlo “a pelo” descargando la última versión que haya en este enlace: https://www.kernel.org/pub/linux/utils/raid/mdadm/ realizando los siguientes pasos
# tar xvf ./mdadm-3.3.tar.gz # cd mdadm-3.3 # make install
Verificación de estado del RAID
Para verificar si tenemos el RAID funcionando, dependiendo de la distribución y configuración que tengamos en el sistema, así tendremos más o menos discos, en mi caso particular, compruebo el estado del RAID de la siguiente forma:
# mdadm --misc --detail /dev/md1
Si está correctamente sincronizado obtendré un mensaje como el siguiente:
# mdadm --misc --detail /dev/md1 /dev/md1: Version : 00.90.03 Creation Time : Wed Apr 17 18:55:03 2013 Raid Level : raid1 Array Size : 10485696 (10.00 GiB 10.74 GB) Used Dev Size : 10485696 (10.00 GiB 10.74 GB) Raid Devices : 2 Total Devices : 2 Preferred Minor : 1 Persistence : Superblock is persistent Update Time : Thu Oct 24 09:57:52 2013 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 UUID : 42febcfb:d4a63492:a4d2adc2:26fd5302 Events : 0.42 Number Major Minor RaidDevice State 0 8 1 0 active sync /dev/sda1 1 8 17 1 active sync /dev/sdb1
La línea 8 nos indica que tenemos dos discos en el sistema RAID y la línea 14 indica que está funcionando correctamente, es decir, que está bien sincronizado.
Si estuviera mal sincronizado tendríamos un mensaje similar al siguiente:
# mdadm --misc --detail /dev/md1 /dev/md1: Version : 00.90.03 Creation Time : Wed Apr 17 18:55:03 2013 Raid Level : raid1 Array Size : 10485696 (10.00 GiB 10.74 GB) Used Dev Size : 10485696 (10.00 GiB 10.74 GB) Raid Devices : 2 Total Devices : 2 Preferred Minor : 1 Persistence : Superblock is persistent Update Time : Thu Oct 24 09:57:52 2013 State : active, degraded Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 UUID : 42febcfb:d4a63492:a4d2adc2:26fd5302 Events : 0.42 Number Major Minor RaidDevice State 0 8 1 0 active sync /dev/sda1 1 0 0 1 removed
La línea 14 indicaría active,degraded y en la línea 25 veríamos que no está le disco b.
En estos casos, es posible que haya habido una sobrecarga de disco que haya provocado la desincronización, o bien se ha realizado una sustitución del disco SDB.
– En el primer caso (sobrecarga), bastaría con añadir el disco de nuevo.
– En el segundo caso (cambio de disco), sería necesario definir las particiones y añadir el disco.
Tendríamos un ejemplo como el siguiente:
# mdadm --misc --detail /dev/md2 /dev/md2: Version : 00.90.03 Creation Time : Wed Apr 17 18:55:03 2013 Raid Level : raid1 Array Size : 965746624 (921.01 GiB 988.92 GB) Used Dev Size : 965746624 (921.01 GiB 988.92 GB) Raid Devices : 2 Total Devices : 2 Preferred Minor : 2 Persistence : Superblock is persistent Update Time : Thu Oct 24 10:06:28 2013 State : active, degraded, recovering Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 UUID : bc56f94d:96c83f3a:a4d2adc2:26fd5302 Events : 0.29 Number Major Minor RaidDevice State 0 8 2 0 active sync /dev/sda2 1 8 18 1 spare /dev/sdb2
Sincronizar el RAID sin cambiar el disco
En el caso de que se haya desconfigurado el RAID por una sobrecarga, no necesitamos cambiar el disco para volver a reconfigurarlo añadiendo de nuevo las particiones que faltan directamente:
Añadir particiones nuevas
Para sincronizar el RAID, es necesario añadir las particiones del disco ausente (removed) al RAID degradado.
Hay que ir partición por partición, añadiendo el disco al disco RAID mdX correspondiente.
Para añadir una partición de datos X al RAID, utilizamos la opción “–add“.
# mdadm /dev/mdX --manage --add /dev/discoNuevoX
Nota: Si tenemos varias particiones definidas en RAID (md1, md2, md3…) deberemos verificar el estado del RAID para cada partición de RAID y lanzar una reconstrucción para cada una de ellas.
Por ejemplo, si está ausente el disco sdb, para añadir las particiones /dev/sdb1 y /dev/sdb2 a los RAID md1 y md2 correspondientes :
# mdadm /dev/md1 --manage --add /dev/sdb1 mdadm: hot added /dev/sdb1 # mdadm /dev/md2 --manage --add /dev/sdb2 mdadm: hot added /dev/sdb1
Si la sincronización no fuera posible, significa que es necesario realizar un cambio de disco previo.
Si necesitáis más información en la siguiente guía podéis ver los siguientes casos:
- Sincronizar el RAID tras una sustitución de disco
- Ensamblar un RAID no activo
- Reiniciar un RAID irrecuperable
Guía => http://guias.ovh.es/ReconstruirRaidSoft
Y os dejo también una “chuleta” de comandos mdam => http://www.leopoldomaestro.com/chuleta-de-mdadm-raid-software/
Monitorización de discos y configuración de alertas. | Jose Alberto Benítez Andrades
Oct 25, 2013 -
[…] como ya comenté en mi anterior artículo ( Sistema de discos en espejo, configurar RAID por software. | Jose Alberto Benítez Andrades ) estas últimas semanas he sacado algo de tiempo entre proyecto y proyecto para seguir mejorando […]
Perdo
Abr 30, 2019 -
Aja pero esta pagina es como para que? como para que sepamos que eres un crack y tal? no entiendo, al final nisiquiera enseñas como lo hiciste
Jose Alberto Benítez Andrades
Abr 30, 2019 -
Pues en esta página precisamente explico cómo configurar el RAID en un servidor que posee el mismo sistema operativo que el que yo uso :). Si no eres capaz de interpretarlo, no es problema del emisor que escribe la noticia de forma altruista con el fin de ayudar.
Un saludo.