RAID 1 sobre Debian 8


Autor: Eugenia Bahit

Resumen

Los dispositivos RAID (Redundant Array of Independent Disks) son dispositivos virtuales formados por una colección (array) de dos o más discos o particiones físicas reales, combinadas para crear una sola unidad (el dispositivo RAID).

Existen diversas arquitecturas RAID. La arquitectura más básica, denominada RAID 0, permite crear un disco virtual de gran tamaño a partir de varios discos más pequeños. La arquitectura tratada en este documento, es una arquitectura en espejo denominada RAID 1, la cual se encarga de realizar una réplica exacta en espejo de un disco en otro, o en un conjunto de discos, todos ellos de igual tamaño.

La arquitectura RAID 1 no es un sustituto alternativo de las copias de seguridad (backups). Por el contrario, lo que este tipo de arquitecturas RAID provee es redundancia en tiempo real sobre la disponibilidad y acceso de los datos mientras que el backup, provee solo una copia recuperable de ellos.

La arquitectura RAID 1 es aconsejable cuando la disponibilidad e integridad de los datos tiene prioridad por sobre la velocidad de procesamiento de los mismos.


Palabras clave

raid, raid 1, mdadm, debian, raid por software, datos redundantes


Materiales necesarios (para un entorno de prueba)

Hardware

  • VPS (20GB HD / 512 MB RAM / IP pública): valor aprox. desde USD 5/mensuales
  • BLOQUES DE ALMACENAMIENTO O VOLÚMENES (2 x 10GB c/u): valor aprox. desde USD 0.1/GB

Esta arquitectura permitirá un total de 10 GB redundantes.

Software

  • Sistema Operativo: Debian GNU/Linux v 8.8+ (32 bits)
  • mdadm (Multiple Disks Administrator) v 3.2+

Requisitos previos (post instalación del Sistema Operativo)

  1. Actualizar sistema operativo
    aptitude update && aptitude full-upgrade -y
     
  2. Instalar paquete mdadm
    aptitude install mdadm
     
    AVISO:
    Durante el proceso de instalación, de ser el caso, indicar all cuando lo solicite. De lo contrario, ignorar este aviso.
  3. Vincular los bloques/volúmenes al disco principal
     
    AVISO:
    No es necesario montar los bloques ni formatearlos.

Procedimiento

Conceptos primitivos

Dispositivo RAID Ruta física absoluta del RAID
Componente Ruta física absoluta de un bloque o volumen
Punto de montaje Ruta física absoluta donde se monta un dispositivo RAID o componente
AVISO:
 
Se requiere un mínimo de 2 volúmenes de igual capacidad para una arquitectura RAID 1.
 
La capacidad máxima de almacenamiento, será igual a la capacidad de uno solo de los discos/volúmenes. En caso de que los mismos posean diferentes tamaños, será equivalente a la capacidad de almacenamiento del disco de menor tamaño.
 
Para conocer la ruta física absoluta de cada componente, correr el comando lsblk -p en Debian 8 o lsblk en versiones previas.

Procedimiento para montar nuevo RAID

  1. Crear el dispositivo RAID
    mdadm -Cv <dispositivo-raid> -l1 -n2 <componente1> <componente2>
     
  2. Dar formato al dispositivo RAID
    mkfs.ext4 <dispositivo-raid>
     
  3. Crear punto de montaje para el dispositivo RAID
    mkdir -p <punto-de-montaje> && chmod -R 777 <punto-de-montaje>
    Aviso sobre permisos: colocar 777 para que el dispositivo quede habilitado para que cualquier usuario pueda escribir en él. Si se desea un control más estricto, colocar 755.
     
  4. Montar dispositivo RAID
    mount <dispositivo-raid> <punto-de-montaje>
     
  5. Agregar información del nuevo RAID al archivo de configuración de mdadm
    echo "DEVICE partitions" >> /etc/mdadm/mdadm.conf
    mdadm --detail --scan >> /etc/mdadm/mdadm.conf
     
  6. Agregar punto de montaje a fstab para detección automática
    echo "<dispositivo-raid> <punto-de-montaje> ext4 defaults 0 <orden>" >> /etc/fstab
     
AVISO
orden se refiere al orden en el que el sistema realizará el checkeo de los discos durante el montaje. Se trata de un número entero donde 0 indica que no será checkeado.

Procedimiento para reposición de discos dañados

  1. Vincular el nuevo bloque o volumen
  2. Establecer el fallo y efectuar la reposición
    mdadm <dispositivo-raid> \
          -f <componente-fallado> \
          -r <componente-fallado> \
          -a <componente-de-reposición>
     
  3. Extraer el disco roto

Procedimiento para ampliar el dispositivo RAID

AVISO
La ampliación del dispositivo RAID 1 incrementa la redundancia de los datos, pero no el espacio disponible para su almacenamiento. Dicho de otro modo, agregar 1 componente a un RAID de 2 componentes preexistentes, replicará la información 3 veces en lugar de hacerlo 2, pero el espacio de almacenamiento continuará siendo el mismo.
  1. Modificar dimensión del dispositivo RAID
    mdadm -G <dispositivo-raid> -f -n<cantidad-de-componentes>
     
    AVISO
    La cantidad de componentes será igual a la cantidad actual + la cantidad de nuevos componentes que serán vinculados
     
  2. Vincular el nuevo bloque o volumen
  3. Agregar el bloque o volumen al dispositivo RAID
    mdadm -a <dispositivo-raid> <componente>
     
    AVISO
    El procedimiento de sincronización del nuevo disco (o discos) puede demorar desde unos pocos minutos hasta varias horas, dependiendo del tamaño total del dispositivo RAID y de los datos que deban ser sincronizados.
     
  4. Extender el sistema de archivos
    resize2fs <dispositivo-raid>

Procedimiento completo para montar un dispositivo RAID /dev/md0 con dos volúmenes /dev/sda y /dev/sdb

mdadm -Cv /dev/md0 -l1 -n2 /dev/sda /dev/sdb
mkfs.ext4 /dev/md0
mkdir -p /mnt/raid1 && chmod -R 777 /mnt/raid1
mount /dev/md0 /mnt/raid1
echo "DEVICE partitions" >> /etc/mdadm/mdadm.conf
mdadm --detail --scan >> /etc/mdadm/mdadm.conf
echo "/dev/md0 /mnt/raid1 ext4 defaults 0 1" >> /etc/fstab

Bibliografía complementaria

Software-RAID HowTo (Jakob Østergaard et. al, 2010)
http://www.tldp.org/HOWTO/html_single/Software-RAID-HOWTO/

© EUGENIA BAHIT 2015, 2016, 2017 - CC-BY 4.0
La copia y distribución de este documento se encuentra permitida bajo los términos de la licencia Bajo licencia Creative Commons Atribución 4.0