Raid-1 Software en GNU/Linux
cover

RAID-1

1 Raid-1 Software en GNU/Linux

Vamos a realizar la configuración de un RAID-1 en un sistema GNU/Linux usando la herramienta mdadm. Debería estar instalado en nuestro sistema (Debian, Ubuntu, Mint, …), ya que es un comando básico, aunque en otras distribuciones quizá sea necesario instalarlo.

Tenemos que entender que al crear un sistema RAID, lo que se está realizando es una configuración para crear un “dispositivo virtual” que internamente hace uso de distintos discos duros físicos (o particiones). Una vez creado ese dispositivo virtual, tendremos que crear en él un sistema de ficheros (ext4, por ejemplo).

1.1 Comprobar discos duros

Debemos comprobar que en nuestro sistema, aparte del disco duro del sistema, tenemos al menos dos discos:

Comprobar discos duros

root@vega:~# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINTS
vda      8:0    0   25G  0 disk
├─vda1   8:1    0    1M  0 part
├─vda2   8:2    0  513M  0 part /boot/efi
└─vda3   8:3    0 24,5G  0 part /
vdb      8:16   0   10G  0 disk
vdc      8:32   0   10G  0 disk

Tal como se puede ver, tenemos dos discos duros sin particionar: vdb y vdc, de 10GB cada uno. En otros casos puede ser sdb, sdc

Algunas distribuciones GNU/Linux permiten crear un sistema RAID antes de realizar la instalación, y así instalar el sistema operativo sobre el propio RAID.

1.1.1 Crear particiones

Dependiendo del uso que queramos dar a nuestro sistema RAID y el tamaño de nuestros discos, será necesario crear particiones.

Es posible crear un sistema RAID sólo en una partición y usar el resto del disco de forma normal.

Imaginemos la siguiente situación:

  • Dos discos duros de 4TB
  • Queremos hacer uso de un RAID-1 para datos que no exceden de 500GB, pero queremos dejar margen de maniobra por si aumenta de tamaño.
  • Queremos usar parte del espacio para otros datos sin importancia, y que no pasa nada si se pierden.

En este caso, podríamos hacer lo siguiente:

  • Crear en ambos discos particiones de 1TB para montar el sistema RAID-1.
  • Dejar el resto del espacio para otros datos (en total 6TB).

Para crear particiones en GNU/Linux existen distintos programas (Gparted, por ejemplo), pero esas particiones tienen que ser de un tipo especial que no todos los programas soporten.

Vamos a usar cfdisk para cada uno de los discos:

Particionar /dev/vdb

root@vega:~# cfdisk /dev/vdb

Como el disco está recién instalado, si no tiene una tabla de particiones nos aparecerá lo siguiente:

Una vez creada la tabla de particiones veremos un menú para poder crear una partición nueva:

Al elegir “Nueva”, nos preguntará el tamaño para crear la nueva partición, por ejemplo 5G:

Una vez creada vemos que el tipo de partición es “Sistema de ficheros Linux”, pero tenemos que cambiar el tipo.

El tipo de partición tenemos que cambiarla a “Linux RAID”.

Para cambiar el tipo de partición le damos a “Tipo” y buscamos Linux RAID:

Hasta ahora los cambios realizados en el disco son “virtuales”, no se han aplicado. Por lo tanto, hay que darle a “Escribir” para guardar los cambios.

Recuerda que hay que hacer estos cambios en cada disco que participe en el RAID.

Al final de todo el proceso, tendríamos lo siguiente:

Particiones creadas
Creado RAID-1 sobre las particiones

1.2 Crear RAID-1

Para crear el RAID haremos uso del siguiente comando:

Crear RAID-1

root@vega:~# mdadm --create  /dev/md0  --level=1 --raid-devices=2 /dev/vdb /dev/vdc
mdadm: Note: this array has metadata at the start and
    may not be suitable as a boot device.  If you plan to
    store '/boot' on this device please ensure that
    your boot-loader understands md/v1.x metadata, or use
    --metadata=0.90
mdadm: size set to 10476544K
Continue creating array?

Es importante tener en cuenta el aviso que nos da: si tenemos pensado arrancar el sistema estando en un RAID, el gestor de arranque debe soportarlo. En principio, no debería haber problemas.

Si nuestro sistema operativo arranca desde un RAID el gestor de arranque debe soportarlo.

El comando que hemos utilizado cuenta con los siguientes parámetros:

  • mdadm: es el comando que nos va a permitir crear y gestionar nuestros RAID.
  • --create /dev/md0: es el parámetro para crear un nuevo RAID, y que creará un nuevo “dispositivo virtual” dentro de Linux en /dev/md0
  • --level=1: el sistema RAID que queremos crear, en nuestro caso un RAID-1.
  • --raid-devices=2: cuántos dispositivos van a formar parte de nuestro RAID.
  • /dev/vdb /dev/vdc: los discos duros o particiones que van a participar en nuestro RAID.

Tras reiniciar quizá se haya renombrado el raid de /dev/md0 a /dev/md127

Aunque es posible que nuestro RAID se renombre, existen opciones para que esto no pase, pero lo ignoraremos de momento.

1.3 Comprobar estado del RAID

Cuando se crea un RAID empieza el proceso para crear el dispositivo virtual, en el caso anterior /dev/md0. Los discos duros que forman un RAID pueden fallar, o puede haber habido algún fallo en los mismos, por lo que es importante saber si el RAID está funcionando de manera correcta.

Para ver el estado podemos utilizar dos comandos:

1.3.1 Estado general

Al usar un sistema RAID en GNU/Linux podemos comprobar el estado general de todos los sistemas RAID utilizando el “fichero” /proc/mdstat:

Comprobar estado RAID-1

root@vega:~# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 vdc[1] vdb[0]
      10476544 blocks super 1.2 [2/2] [UU]
      [==>..................]  resync = 13.5% (1420032/10476544) finish=0.7min 
      speed=202861K/sec

unused devices: <none>

Si nos fijamos, en este estado nos está diciendo que el sistema se está sincronizado. Esto puede suceder porque acabamos de crear el RAID o porque acabamos de cambiar un disco nuevo.

Cuando termina la sincronización, aparecería de la siguiente manera:

Comprobar estado RAID-1

root@vega:~# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 vdc[1] vdb[0]
      10476544 blocks super 1.2 [2/2] [UU]

unused devices: <none>

Si miramos un RAID degradado, con un disco que se ha quitado, nos aparecerá algo como lo siguiente:

RAID-1 con fallo

root@vega:~# cat /proc/mdstat
Personalities : [linear] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10] 
md127 : inactive vdb[1](S)
      10476544 blocks super 1.2

Comprueba el estado inactive, esto significa que el estado del RAID se ha parado para evitar más errores hasta que se arregle.

1.3.2 Estado de un único RAID

Con el comando mdadm también podemos ver el estado de un único sistema RAID. Para ello necesitamos conocer cuál es su nombre, en nuestro caso md0.

Comprobar estado RAID-1

root@vega:~# mdadm --detail /dev/md0
/dev/md0:
           Version : 1.2
     Creation Time : Mon Mar  2 17:45:17 2026
        Raid Level : raid1
        Array Size : 10476544 (9.99 GiB 10.73 GB)
     Used Dev Size : 10476544 (9.99 GiB 10.73 GB)
      Raid Devices : 2
     Total Devices : 2
       Persistence : Superblock is persistent

       Update Time : Mon Mar  2 17:46:09 2026
             State : clean 
    Active Devices : 2
   Working Devices : 2
    Failed Devices : 0
     Spare Devices : 0

Consistency Policy : resync

              Name : mint:0  (local to host mint)
              UUID : 34ca56f7:9f58fb2c:bd4295b8:56d40413
            Events : 17

    Number   Major   Minor   RaidDevice State
       0     253       16        0      active sync   /dev/vdb
       1     253       32        1      active sync   /dev/vdc

Si el RAID estuviese en estado de sincronización veríamos algo como “Resync Status : 60% complete”.

Para ver que el RAID está bien podemos ver también la línea “State: clean”. En caso de error podríamos ver “State: inactive”

1.4 Crear sistema de ficheros

El sistema RAID que hemos creado es la gestión interna de los discos, pero tenemos que crear un sistema de ficheros sobre él.

Una vez creado el sistema RAID hay que crear encima un sistema de ficheros

Para ello podemos hacer uso de Gparted seleccionando md0 como disco.

Tras realizar la creación del sistema de ficheros, la imagen de todos los pasos que hemos creado sería el siguiente:

Por lo tanto, el resumen final sería:

  1. Crear particiones si es necesario.
  2. Crear sistema RAID en las particiones/discos correspondientes.
  3. Crear sistema de ficheros sobre el RAID creado.
  4. Usar el sistema de ficheros de manera habitual.

2 Ejercicio propuesto

Para entender mejor cómo funciona los sistemas RAID se propone realizar el siguiente ejercicio:

  1. Crear 3 discos duros en una máquina virtual de 15GB cada uno.
  2. Crear sistema RAID-1 de 10GB en el que participen los 3 discos duros.
  3. Crear sistema RAID-5 con el espacio restante.

  1. Crear sistemas de ficheros sobre los RAID recién creados.

Instalar Ubuntu con RAID-1

3 Instalar Ubuntu 22.04 LTS

En este anexo realizaremos la instalación de la distribución Ubuntu 22.04 LTS en su versión para servidores. En este anexo no se va a explicar cómo realizar la creación de una máquina virtual donde se aloja el sistema operativo, ya que existen distintos tipos de virtualizadores.

No se realizará una guía “paso a paso”, sino que se centrará en las partes más importantes de la instalación y en las que más dudas puedan surgir.

3.1 Descargar Ubuntu 22.04

La ISO la obtendremos de la web oficial y seleccionaremos la versión 22.04 LTS de Ubuntu Server. Esta ISO contendrá el sistema base de Ubuntu y nos guiará para realizar la instalación del sistema operativo.

Una vez descargada la ISO tendremos que cargarla en el sistema de virtualización elegido y arrancar la máquina virtual.

3.2 Instalar Ubuntu 22.04

Tras arrancar la máquina virtual nos aparecerá un menú para seleccionar el idioma durante la instalación y le daremos a “Instalar Ubuntu Server”.

A partir de aquí comenzará el instalador y los pasos que nos aparecerán serán los siguientes (algunos de estos pasos puede que no estén 100% traducidos al castellano):

  1. Elegir el idioma del sistema

  2. Actualización del instalador:

    • Si la máquina virtual se puede conectar a internet, comprobará si existe una actualización del propio instalador de Ubuntu.

    • Podemos darle a “Continuar sin actualizar”

  3. Configuración del idioma del teclado

  4. Configuración de la red

  5. Configuración del proxy de red

  6. Configuración del “mirror” o servidor espejo desde donde descargarse los paquetes de software para las actualizaciones posteriores.

  7. Selección del disco duro donde realizar la instalación

  8. Elegir el particionado de disco.

  9. Configuración del perfil. Introduciremos el nombre de usuario, el nombre del servidor y la contraseña del usuario que vamos a crear.

  10. Configuración de SSH Server. Aceptaremos que se instale el servidor SSH durante la instalación. En caso de no seleccionar esta opción, posteriormente podremos realizar la instalación.

  11. “Featured Server Snaps”. En esta pantalla nos permite instalar software muy popular en servidores.

Una vez le demos a continuar, comenzará la instalación en el disco duro. Debido a que durante la instalación tenemos conexión a internet, el propio instalador se descarga las últimas versiones de los paquetes de software desde los repositorios oficiales.

Al terminar la instalación, tendremos que reiniciar la máquina virtual.

3.3 Post-instalación

Tras realizar el reinicio de la máquina virtual nos encontraremos con que el sistema arranca en el sistema recién instalado, y que tendremos que loguearnos introduciendo el usuario y la contraseña utilizadas en la instalación.

3.3.1 Actualización del sistema

Por si acaso, realizaremos la actualización del índice del repositorio, actualizaremos el sistema y en caso necesario realizaremos un nuevo reinicio:

Actualizar Ubuntu

root@ubuntu:~# apt update
...
root@ubuntu:~# apt upgrade
...

Con estos comandos nos aseguramos que el sistema está actualizado a los últimos paquetes que están en el repositorio.

3.3.2 Poner IP estática

Debido a la configuración de red de nuestro servidor, la IP está puesta en modo dinámica, esto quiere decir que nuestro equipo ha cogido la IP por configuración de DHCP de nuestra red. Debido a que un servidor debe de tener IP estática, tenemos que realizar la modificación adecuada para ponerle la IP estática que mejor nos convenga. Para ello editaremos el fichero de configuración situado en la siguiente ruta: /etc/netplan/00-installer-config.yaml

Lo modificaremos para que sea parecido a (siempre teniendo en cuenta la IP y gateway de nuestra red):

Configurando IP estática en Ubuntu

network:
  ethernets:
    enp0s3:
      dhcp4: false
      addresses: [192.168.1.199/24]
      routes:
      - to: default
        via: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8,1.1.1.1]
  version: 2

El fichero de configuración que hemos modificado es de tipo YAML, que es un formato de texto que suele ser utilizado en programación o en ficheros de configuración. Este tipo de ficheros tiene en cuenta los espacios para el uso de la identación, y no suele permitir el uso de tabuladores.

Para aplicar los cambios realizados en el fichero de configuración deberemos ejecutar el siguiente comando que aplicará los cambios:

Aplicar configuración de IP

root@ubuntu:~# netplan apply

4 Configurar RAID 1 durante la instalación de Ubuntu

Tal como hemos podido ver anteriormente, durante la instalación de Ubuntu 20.04, en el paso 7 podemos realizar la instalación en el disco duro que tengamos instalado en el servidor físico o en la máquina virtual.

En este paso podemos realizar distintas configuraciones:

  • Usar el disco entero.

    • Nos permitirá crear un sistema con LVM (por defecto activado) y con posibilidad de cifrar la partición creada.
  • Crear un diseño de almacenamiento personalizado.

En la segunda opción podremos:

  • Crear particiones a nuestro gusto.

  • Elegir el sistema de ficheros de las particiones.

  • Crear sistema RAID por software.

4.1 Pasos previos

Dado que vamos a crear un sistema RAID 1 durante la instalación de Ubuntu, necesitaremos al menos dos discos duros en nuestro servidor antes de comenzar con la instalación.

En nuestro sistema virtualizado hemos añadido dos discos duros de igual tamaño (15GB), en los cuales crearemos particiones para posteriormente sobre ellas realizar el RAID 1.

4.2 Entendiendo las particiones a realizar

En este apartado vamos a explicar la teoría que está detrás del sistema de particionado que vamos a necesitar crear y que posteriormente realizaremos en el sistema de instalación de Ubuntu.

4.2.1 Situación inicial: discos duros sin particionar

Como ya se ha comentado, en nuestro servidor vamos a contar con dos discos duros de igual tamaño. Esto suele ser lo habitual, pero lo importante es que las particiones que vayamos a crear sean del tamaño exacto, aunque un disco duro sea de mayor tamaño (aunque lógicamente, ese espacio quedará desaprovechado).

En la siguiente imagen vemos que tenemos dos discos duros de 15GB de tamaño cada uno:

4.2.2 Particionado inicial

A continuación vamos a tener que pensar cómo van a ser las particiones que vamos a necesitar en nuestro servidor. En nuestro caso vamos a crear dos:

  • 14GB: Sistema operativo.

  • 1GB: (o hasta completar) SWAP.

Como se puede entender, al tener una única partición, todo el sistema raiz “/” va a ir en ella, mientras que la otra partición será la usada para el área de intercambio.

Es importante entender que en este paso sólo vamos a crear las particiones pero sin darles formato. Por lo tanto, nuestros discos duros ahora tendrían este aspecto:

4.2.3 Crear particiones RAID

El siguiente paso es crear las particiones “virtuales” RAID. Vamos a crear una primera partición RAID que va a incluir las particiones de 14GB de ambos discos duros, y la segunda partición virtual incluirá las particiones de 1GB.

De esta manera, tendremos unas particiones MD0 y MD1 que son particiones virtuales.

4.2.4 Formatear particiones RAID con el formato adecuado

El último paso de la instalación es hacer uso de las particiones RAID creadas y formatearlas con el sistema de ficheros acorde a las necesidades que tengamos, y elegir el punto de montaje adecuado.

En nuestro caso va a ser:

  • MD0: sistema de ficheros ext4 y lo vamos a utilizar como sistema de ficheros raíz “/”.

  • MD1: formateado como SWAP y actuará como área de intercambio.

Tras este paso, la instalación del sistema operativo puede continuar de la manera habitual.

4.3 Realizando el particionado en el instalador de Ubuntu

Tras haber entendido las particiones que vamos a realizar, ahora es el momento de proceder en el instalador de Ubuntu. Vamos a seguir los mismos pasos que hemos explicado en el apartado anterior, de esta manera aplicaremos lo aprendido a nivel teórico.

4.3.1 Situación inicial: discos duros sin particionar

Tal como hemos comentado previamente, en el paso 7 de la instalación, elegiremos la opción de crear un “diseño de almacenamiento personalizado”. Tras entrar en esta opción, el instalador tendrá el siguiente aspecto:

Tal como se puede ver, tenemos dos discos duros en el sistema: vda y vdb. El nombre de los discos viene de Virtual Disk, dado que la instalación la estamos realizando en una máquina virtual.

4.3.2 Particionado inicial

En este paso vamos a crear en cada uno de ellos la partición de 14GB y el resto del espacio la usaremos para la segunda partición.

4.3.2.1 Marcar discos como dispositivos de arranque

Por cómo funciona el sistema de arranque de Linux, antes de realizar las particiones vamos a marcar que ambos discos duros sean dispositivos de arranque (“Boot Device”). Para ello pulsaremos “Intro” en cada uno de los discos y elegiremos la opción correspondiente (imágenes de cada disco):

De esta manera, el instalador de Ubuntu creará una pequeña partición al inicio del disco donde al terminar se realizará la instalación del sistema de arranque GRUB en ambos discos duros.

4.3.2.2 Crear particiones

Ahora es el momento de crear las particiones, y los pasos serán seleccionar el disco duro, pulsar “Intro”, se nos desplegará un pequeño menú y vamos a elegir la opción “Add GPT Partition” y rellenaremos el tamaño de la partición que nos interese en el momento y el formato lo dejaremos en “Leave unformatted” (dejar sin formatear).

Estos pasos lo realizaremos en cada disco duro con las particiones que vamos a necesitar, quedando al finalizar el sistema así:

Tal como se puede ver, cada disco duro tiene dos particiones con el tamaño deseado que no están siendo utilizadas, y en la parte de abajo aparecen las particiones denominadas “BIOS grub spacer”.

4.3.3 Crear particiones RAID

El siguiente paso es crear las particiones RAID en las que haremos que el sistema cree un RAID 1 haciendo uso de las particiones de los discos duros físicos. Seleccionaremos la opción “Create software RAID (md)” y nos aparecerá una ventana en la que podremos elegir:

  • Nombre: de la partición que vamos a crear. Es habitual que estas particiones empiecen por “md”, ya que viene de “multiple device”.
  • Nivel RAID: Podremos elegir entre las versiones 0, 1, 5, 6 y 10 de RAID. Por defecto está seleccionada la opción RAID 1.
  • Dispositivos: sobre el que aplicaremos el RAID.

Crearemos primero md0 seleccionando las particiones de 14GB tal como aparece en la siguiente imagen:

Y a continuación crearemos md1 con las particiones restantes. Tal como se puede ver a continuación, las particiones de 14GB ya no aparecen, porque están siendo usadas en el otro RAID.

Tras la creación de los dispositivos “md”, nos aparecerán como dispositivos disponibles para usarlas en el siguiente paso:

4.3.4 Formatear particiones RAID con el formato adecuado

Aunque este paso lo vamos a realizar sobre las particiones RAID creadas previamente, es un paso que es habitual realizar cuando queremos que nuestra instalación tenga un sistema de particiones propio.

Tenemos que pensar que las particiones RAID ahora son como particiones normales, a las que les vamos a querer dar un formato y utilizarlas para realizar la instalación.

Vamos a seleccionar la primera, md0, posicionándonos encima de ella y dándole a “Intro” y posteriormente dándole a “Add GPT partition”:

Dejaremos el tamaño en blanco, indicando que usaremos todo el espacio libre, lo vamos a formatear con el sistema de ficheros ext4 y se va a montar como el sistema de ficheros “/”.

En md1 también le daremos a crear nueva partición, y haremos lo mismo pero usando el formato swap. Quedando una vez terminado el sistema de particiones de la siguiente manera:

Y tras esto podremos continuar la instalación de manera normal.