La configuración RAID realiza combinaciones entre discos para mejorar el funcionamiento y la fiabilidad.


 
Vamos a ver cómo crear RAID por software con mdadm, utilizando pseudo-discos (dispositivos de bloque) y el comando losetup para asociar dispositivos de bucle (Loop) a esos dispositivos de bloque creados para la práctica.
 

 

¿Qué significa?

 
Que vamos a crear ficheros como si fueran discos duros, y los vamos a utilizar para practicar el RAID.


 

 
Contenidos de este artículo:


 

 
 

 

1. MODOS DE RAID

Existen 8 modos básicos RAID.

  • RAID0
  • RAID1
  • RAID2
  • RAID3
  • RAID4
  • RAID5
  • RAID6
  • RAID5E y RAID6E

 

Los conjuntos RAID más utilizados, y en los que nos centraremos, son :

  • RAID 0: Data Stripping o Volumen dividido. Se distribuyen los datos entre los discos (dos o más). No proporciona paridad (corrección de errores). Su característica princial es que proporciona un alto rendimiento de escritura, al escribir los datos en dos o más discos de forma paralela.

 

  • RAID 1: Mirrioring (Espejo). Usa dos discos mínimo. Crea una copia exacta del disco. Usa dos o más discos. Si un disco falla, se pone en acción el segundo disco, que tiene la misma información.

 

  • RAID 5: Distribuido con paridad. Es popular debido a su bajo coste de redundancia. Necesita un mínimo de 3 discos.

 

 
Como en esta práctica vamos a trabajar el RAID en una máquina virtual, realizaremos las pruebas sobre pseudo-discos (dispositivos de bloque habilitados sobre dispositivos Loop) que crearemos con el comando dd.
 

 

1.1 RESUMEN: Creación de RAID por Software con MDADM

 
Tras preparar las particiones o discos que incluiremos en el conjunto RAID, ejecutaremos el comando mdadm, con las opciones:

 
–> Creación básica de un sistema RAID:

 
–> Opciones level mdadm:
–level=
opciones: linear, raid0, 0, stripe, raid1, 1, mirror, raid4, 4, raid5, 5, raid6, 6, raid10, 10, multipath, mp, faulty, container

 


 

 

2. Instalación de mdadm

 

Primero Instalaremos el paquete mdadm

 

 

Después, aparecerá la configuración de mdadm

   

 

mdadm nos preguntará sobre los Arrays MD necesarios para el sistema de ficheros raíz.

Podemos elegir entre todos (all), ninguno (none) o los dispositivos separados por espacios, por ejemplo “md0 md1”


 

 

A continuación veremos el paquete mdadm instalándose:


 

 

Preconfigurando paquete mdadm:


 

 

Al haber instalado el paquete mdadm, ya podremos ver que se ha creado el fichero /etc/mdstat

 

 

3. creamos pseudo-discos (ficheros como dispositivos de bloque) en dispositivos loop

 
con el comando dd, crearemos los pseudo-discos que utilizaremos en el sistema RAID.
 
Ya sabemos que con el comando dd podemos ejecutar muchas tareas, como por ejemplo borrar el contenido de una partición. Así:

 
De esta forma borraríamos el contenido de la partición /dev/sdb2

 

Pero en este caso vamos a crear unos ficheros .raw, que serán tratados como un dispositivo de bloques; y utilizaremos el comando losetup para asociar el fichero a un dispositivo loop (Los dispositivos Loop son pseudo-dispositivos que precisamente facilitan el poder acceder a ficheros como si fueran dispositivos de bloques, es decir, un disco duro).

 

 

Para que el sistema trate el fichero como un dispositivo de bloques y no como un fichero normal, vamos a utilizar la instrucción losetup que asocia el fichero que le demos al dispositivo Loop elegido.

 

 

Crearemos 2 pseudo-discos (dispositivos de bloque); y los asociamos a los dispositivos Loop (dispositivos de bucle) lo haremos con :

 
En este caso estamos creando pseudo-discos de 512 MB.

 

Creando los pseudo-discos ficheros como dispositivos de bloque linux:

 

 

3.1 mostramos dispositivos Loop creados, y dónde están montados

 
Mostraremos los dispositivos Loop montados, con el comando losetup;
 
en la captura de pantalla vemos que además de los dispositivos disk1.raw y disk2.raw, tenemos otros dispositivos más que por ahora no usaremos.
 

 

 

 

4. Asociar con el comando losetup los dispositivos Loop a los pseudo-discos creados anteriormente

 
Con losetup asociaremos los dispositivos Loop a los dispositivos de bloque creados anteriormente en srv/
 
Aunque ya lo hemos hecho a la vez que creábamos los dispositivos de bloque con el comando dd, está bien que lo tengamos en cuenta por si debemos asociar los dipositivos de bloque a los dispositivos de bucle (Loop) de nuevo.
 

 

 

5. Crear RAID

 

5.1 Crear RAID 0

 

Si deseamos crear un RAID 0, ejecutaremos:

es decir, creamos el dispositivo raid /dev/md0, con los dispositivos /dev/loop1 y /dev/loop2, usando un raid 0 (–level=0).
 

 

5.2 Crear RAID 1

 

Si deseamos crear un RAID 1, ejecutaremos:

 

 

Aparecerá el mensaje:

Continue creating array?

Pulsamos y (yes)

 

 

5.3 Comprobamos el RAID activado y los discos asociados: Vemos que el RAID 1 está activado y sincronizando (resync)

 
Podemos ver que se ha creado un raid, llamado md0, con los dispositivos loop1 y loop2, y que el raid se encuentra sincronizando de disco a disco (puesto que RAID 1 utiliza la configuración Mirroring)
 

 

Vemos que la información entre los discos se está sincronizando (resync = 12.5 %), ya que se trata de un RAID 1, y los discos funcionan en modo espejo (el uno es una copia del otro).
 

 

Un tiempo después, ejecutamos de nuevo el comando, y veremos el RAID 1 ya sincronizado totalmente:

 

 

6. Usar el sistema RAID

 
Utilizamos el dispositivo raid como si fuera un archivo de dispositivo.
 
Primero ejecutamos mkfs y luego montamos el dispositivo con mount.

 

Si queremos que el sistema RAID se monte en cada inicio, debemos añadir entradas en /etc/fstab (sustituyendo /dev/md0 por nombres de archivo de partición como /dev/sda1)

 

 

7. Posible error: error al configurar dispositivo de bucle: dispositivo o recurso ocupado

 
Puede ocurrir que al intentar asociar un dispositivo loop a uno de los pseudo-discos (o disco virtual) creado, recibamos el mensaje:
 

error al configurar el dispositivo de bucle: Dispositivo o recurso ocupado


 
En caso de recibir dicho mensaje, realizaremos una desasociación de los dispositivos Loop, para después volver a realizar la asociación.
 

 

7.1.  desasociar todos dispositivos loop

 

para desasociar todos dispositivos Loop, ejecutaremos:

 

 

Hemos visto cómo crear RAID por software con mdadm, cómo crear dispositivos virtuales o pseudo-discos, y utilizarlos para el RAID por medio de su asociación a dispositivos Loop o dispositivos de bucle, con el comando losetup.

 

 

Fuentes y agradecimientos:


 


Etiquetas del articulo:


Suscríbete para acceder a la zona privada

Suscribiéndote a la lista de correo de El Taller del Bit conseguirás entrar a la zona privada de descargas con materiales exclusivos (ebooks, artículos privados, plugins, descargas de exámenes resueltos ...)

Gracias. Te has suscrito con éxito!