Conceptos básicos
mdadm (administrador de múltiples dispositivos) es una herramienta extremadamente útil para ejecutar sistemas RAID. Es una herramienta para crear, administrar y monitorear dispositivos RAID utilizando el controlador md. Se puede usar como reemplazo de las herramientas raid, o como complemento. Puede usar discos completos (/dev/sdb, /dev/sdc) o particiones individuales (/dev/sdb1, /dev/sdc1) como componente de una matriz.
Los beneficios de usar mdadm son:
1. mdadm puede diagnosticar, monitorear y recopilar información detallada sobre sus arreglos.
2. mdadm es un único programa centralizado y no una colección de programas dispersos, por lo que existe una sintaxis común para cada comando de administración de RAID.
3. mdadm puede realizar casi todas sus funciones sin tener un archivo de configuración y no usa uno por defecto.
Las herramientas de software mdadm funcionan para todas las distribuciones de Linux, con la misma sintaxis.
Instalando mdadm
Asegúrese de actualizar el sistema y luego instale el último programa mdadm en su sistema:
# yum clean all # yum update # yum install mdadm -y
El archivo de configuración
– El archivo /etc/mdadm.conf se utiliza para identificar qué dispositivos son dispositivos RAID ya qué arreglo pertenece un dispositivo específico. Esto es necesario para crear automáticamente sus dispositivos RAID en el arranque.
– De forma predeterminada, este archivo no está disponible y debe crearse manualmente.
– Una vez que haya terminado de crear los dispositivos RAID, puede simplemente cree el archivo mdadm.conf redirigiendo la salida del comando:
# mdadm --detail -scan ARRAY /dev/md0 level=linear num-devices=2 metadata=1.2 name=localhost.localdomain:0 UUID=a50ac9f2:62646d92:725255bd:7f9d30e3 devices=/dev/sdb,/dev/sdc
Como se ve en el resultado anterior, tengo un arreglo lineal md0 con 2 dispositivos /dev/sdb y /dev/sdc.
# mdadm --verbose --detail -scan > /etc/mdadm.conf
Creación de los dispositivos RAID
Para enumerar las opciones para crear un dispositivo RAID con mdadm, use la opción –help. Hay varias opciones al crear RAID con mdadm. Enumeraré algunos importantes.
# mdadm --create --help -C | --create /dev/mdn -l | --level 0|1|4|5 -n | --raid-devices device [..] -x | --spare-devices device [..]
Modo lineal
– Dos o más discos se combinan en un dispositivo físico.
– Los discos se "agregan" entre sí, por lo que escribir linealmente en el dispositivo RAID llenará primero el disco 0, luego el disco 1 y así sucesivamente. on.
– Los discos no tienen que ser del mismo tamaño.
– No hay redundancia en este nivel.
– El rendimiento de lectura y escritura no aumentará para lecturas/escrituras individuales . Pero si varios usuarios usan el dispositivo, varios usuarios usan diferentes discos al mismo tiempo, verá una mejora en el rendimiento.
Para crear dos discos en modo lineal ejecutando mdadm, simplemente escriba una sola línea de comando:
# mdadm --create --verbose /dev/md0 --level=linear --raid-devices=2 /dev/sdb /dev/sdc mdadm: Defaulting to version 1.2 metadata mdadm: array /dev/md0 started.
El mismo comando se puede ejecutar usando la versión más corta de las opciones:
# mdadm --Cv /dev/md0 --l linear -n2 /dev/sdb /dev/sdc
RAID 0
– También llamado modo “stripe”.
– Los dispositivos deben tener el mismo tamaño.
– Tampoco hay redundancia en este nivel. No es posible recuperar datos si falla una unidad.
– El rendimiento de lectura y escritura aumentará, porque las lecturas y escrituras se realizan en paralelo en los dispositivos.
Para crear dos discos en modo RAID 0:
# mdadm --create --verbose /dev/md0 --level=0 --raid-devices=2 /dev/sdb /dev/sdc
INCURSIÓN 1
– Este nivel tiene redundancia.
– RAID-1 se puede usar en dos o más discos con cero o más discos de repuesto.
– Este modo mantiene un espejo exacto de la información en uno disco en el otro disco(s).
– Por supuesto, los discos deben ser del mismo tamaño.
– Si un disco es más grande que otro, su dispositivo RAID tendrá el tamaño del disco más pequeño.
– Si se eliminan (o fallan) hasta N-1 discos, todos los datos seguirán intactos. Si hay discos de repuesto disponibles y si el sistema sobrevivió al bloqueo, la reconstrucción del espejo comenzará inmediatamente en uno de los discos de repuesto, después de detectar la falla de la unidad.
– El rendimiento de escritura suele ser peor que en uno solo. dispositivo como los mismos datos deben escribirse simultáneamente en 2 o más dispositivos.
Puede configurar RAID 1 con dos discos y un disco de repuesto:
# mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sdb /dev/sdc --spare-devices=/dev/sdd
RAID 4
– Este nivel de RAID no se usa con mucha frecuencia.
– Se puede usar en tres o más discos.
– En lugar de duplicar completamente la información, mantiene la información de paridad en una unidad y escribe datos en los otros discos de forma similar a RAID-0.
– Debido a que un disco está reservado para la información de paridad, el tamaño de la matriz será (N-1)*S, donde S es el tamaño del la unidad más pequeña de la matriz.
:si una unidad falla, la información de paridad se puede usar para reconstruir todos los datos. Si fallan dos unidades, se pierden todos los datos.
Para configurar RAID 4 con 4 discos y un disco de repuesto:
# mdadm --create --verbose /dev/md0 --level=4 --raid-devices=4 /dev/sdb /dev/sdc /dev/sdd /dev/sde spare-devices=/dev/sdf
RAID 5
– RAID-5 se puede usar en tres o más discos, con cero o más discos de repuesto.
– El tamaño del dispositivo RAID-5 resultante será (N-1)*S, al igual que RAID -4.
– La gran diferencia entre RAID-5 y -4 es que la información de paridad se distribuye uniformemente entre las unidades participantes, lo que evita el problema de cuello de botella en RAID-4.
– Si uno de los los discos fallan, todos los datos siguen intactos, gracias a la información de paridad. Si hay discos de repuesto disponibles, la reconstrucción comenzará inmediatamente después de la falla del dispositivo. Si dos discos fallan simultáneamente, se pierden todos los datos. RAID-5 puede sobrevivir a una falla de disco, pero no a dos o más.
– Las lecturas son similares a las lecturas de RAID-0, las escrituras generalmente son costosas ya que se debe escribir la paridad, lo que se convierte en la sobrecarga.
Para configurar RAID 5 con 3 discos y 1 disco de repuesto mediante mdadm:
# mdadm --create --verbose /dev/md0 --level=5 --raid-devices=3 /dev/sdb /dev/sdc /dev/sdd --spare-devices=/dev/sde
Creación de un sistema de archivos en dispositivos RAID
Para crear un sistema de archivos ext4 en el dispositivo RAID y montarlo:
# mkfs.ext4 /dev/md0 # mkdir /data01 # mount /dev/md0 /data01
Asegúrese de hacer una entrada en /etc/fstab, para que sea persistente entre reinicios.
# vi /etc/fstab /dev/md0 /data01 ext4 defaults 0 0
Verificación de la configuración
/proc/mdstat es un archivo mantenido por el kernel que contiene información en tiempo real sobre los dispositivos y matrices RAID.
# cat /proc/mdstat Personalities : [linear] md0 : active linear sdc[1] sdb[0] 4194288 blocks super 1.2 0k rounding unused devices: [none]
Para obtener información detallada sobre una matriz específica, use:
# mdadm --detail /dev/md0 /dev/md0: Version : 1.2 Creation Time : Mon Nov 3 06:03:03 2014 Raid Level : linear Array Size : 4194288 (4.00 GiB 4.29 GB) Raid Devices : 2 Total Devices : 2 Persistence : Superblock is persistent Update Time : Mon Nov 3 06:03:03 2014 State : clean Active Devices : 2 Working Devices : 2 Failed Devices : 0 Spare Devices : 0 Rounding : 0K Name : localhost.localdomain:0 (local to host localhost.localdomain) UUID : a50ac9f2:62646d92:725255bd:7f9d30e3 Events : 0 Number Major Minor RaidDevice State 0 8 16 0 active sync /dev/sdb 1 8 32 1 active sync /dev/sdc
Detener/Iniciar (ensamblar) y quitar matriz RAID
Para detener una matriz existente y eliminarla por completo del sistema:
# mdadm --stop /dev/md0 # mdadm --remove /dev/md0
Para iniciar (ensamblar) una matriz detenida:
# mdadm --asemble /dev/md0NOTA :El comando ensamblar lee el archivo /etc/mdadm.conf para iniciar la matriz. En caso de que no haya guardado su configuración en mdadm.conf antes de detener la matriz, este comando fallará. Puede usar el siguiente comando para recrear el archivo mdadm.conf:
# mdadm –examine –scan> /etc/mdadm.conf
Administrar dispositivos en matriz
añadir un dispositivo
Para agregar un nuevo dispositivo a la matriz:
# mdadm --add /dev/md0 /dev/sdd
quitar un dispositivo
Podemos fallar un dispositivo (-f) de una matriz y luego eliminarlo (-r):
# mdadm --manage /dev/md0 -f /dev/sdd # mdadm --manage /dev/mdadm -r /dev/sddSustitución de un disco espejo fallido en una matriz RAID de software (mdadm)