Raid-1 Software GNU/Linux-en
cover

RAID-1

1 RAID-1 softwarea GNU/Linux-en

RAID-1 baten konfigurazioa egingo dugu GNU/Linux sistema batean mdadm tresna erabiliz. Gure sisteman (Debian, Ubuntu, Mint, …) instalatuta egon beharko luke, oinarrizko komando bat baita; hala ere, beste distribuzio batzuetan baliteke instalatu behar izatea.

Ulertu behar dugu RAID sistema bat sortzean egiten dena dela “gailu birtual” bat konfiguratzea; gailu horrek barnean hainbat disko gogor fisiko (edo partizio) erabiltzen ditu. Gailu birtual hori sortu ondoren, bertan fitxategi-sistema bat sortu beharko dugu (adibidez, ext4).

1.1 Disko gogorrak egiaztatu

Egiaztatu behar dugu gure sisteman, sistema-diskoaz gain, gutxienez bi disko ditugula:

Egiaztatu ditugun diskoak

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

Ikus daitekeen bezala, partiziorik gabeko bi disko gogor ditugu: vdb eta vdc, bakoitza 10GB-koa. Beste kasu batzuetan sdb, sdc… izan daitezke.

GNU/Linux banaketa batzuek aukera ematen dute RAID sistema bat sortzeko instalazioa egin aurretik, eta horrela sistema eragilea RAIDaren gainean instalatzeko.

1.1.1 Partizioak sortu

Gure RAID sistemari eman nahi diogun erabileraren eta diskoen tamainaren arabera, beharrezkoa izango da partizioak sortzea.

Posible da RAID sistema bat partizio bakar batean sortzea eta diskoaren gainerakoa modu arruntean erabiltzea.

Pentsa dezagun honako egoera hau:

  • 4TB-ko bi disko gogor
  • RAID-1 bat erabili nahi dugu 500GB baino handiagoak ez diren datuetarako, baina etorkizunean handituz gero tarte bat utzi nahi dugu.
  • Espazioaren zati bat garrantzirik gabeko beste datu batzuetarako erabili nahi dugu, eta ez da ezer gertatzen galtzen badira.

Kasu honetan, honakoa egin genezake:

  • Bi diskoetan 1TB-ko partizioak sortu RAID-1 sistema muntatzeko.
  • Gainerako espazioa beste datu batzuetarako uztea (guztira 6TB).

GNU/Linuxen partizioak sortzeko hainbat programa daude (Gparted, adibidez), baina partizio horiek mota berezi batekoak izan behar dute, eta programa guztiek ez dute mota hori onartzen.

cfdisk erabiliko dugu disko bakoitzerako:

Partizioak sortu /dev/vdb-n

root@vega:~# cfdisk /dev/vdb

Diskoa instalatu berria bada eta partizio-taularik ez badu, honako hau agertuko zaigu:

Partizio-taula sortu ondoren, partizio berri bat sortzeko menua ikusiko dugu:

“Nueva” aukeratzean, partizio berriaren tamaina galdetuko digu; adibidez, 5G:

Behin sortuta, ikusiko dugu partizio mota “Linux fitxategi-sistema” dela, baina mota aldatu behar dugu.

Partizio mota “Linux RAID” motara aldatu behar dugu.

Partizio mota aldatzeko, “Tipo” aukeratu eta Linux RAID bilatuko dugu:

Orain arte egindako aldaketak “birtualak” dira; oraindik ez dira diskoan aplikatu. Beraz, “Escribir” aukerari eman behar zaio aldaketak gordetzeko.

Gogoratu aldaketa hauek RAIDean parte hartuko duen disko bakoitzean egin behar direla.

Prozesu osoaren amaieran, honako hau izango genuke:

Sortutako partizioak
RAID-1 sortuta partizioen “gainean”

1.2 RAID-1 sortu

RAIDa sortzeko honako komandoa erabiliko dugu:

Sortu 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?

Garrantzitsua da ematen digun abisua kontuan hartzea: sistema RAID baten gainean abiarazi nahi badugu, abio-kudeatzaileak hori onartu behar du. Printzipioz, ez luke arazorik egon behar.

Gure sistema eragilea RAID batetik abiarazten bada, abio-kudeatzaileak hori onartu behar du.

Erabili dugun komandoak honako parametro hauek ditu:

  • mdadm: gure RAIDak sortu eta kudeatzeko erabiliko dugun komandoa da.
  • --create /dev/md0: RAID berri bat sortzeko parametroa da; Linuxen “/dev/md0” izeneko “gailu birtual” berria sortuko du.
  • --level=1: sortu nahi dugun RAID mota; gure kasuan, RAID-1.
  • --raid-devices=2: gure RAIDean parte hartuko duten gailu kopurua.
  • /dev/vdb /dev/vdc: RAIDean parte hartuko duten disko gogorrak edo partizioak.

Berrabiarazi ondoren baliteke RAIDa /dev/md0 izatetik /dev/md127 izatera berrizendatu izana.

Baliteke gure RAIDa berrizendatzea; hori saihesteko aukerak badaude, baina momentuz ez dugu kontuan hartuko.

1.3 RAIDaren egoera egiaztatu

RAID bat sortzen denean, gailu birtuala sortzeko prozesua hasten da; aurreko adibidean /dev/md0. RAID bat osatzen duten disko gogorrek huts egin dezakete, edo akatsen bat egon daiteke; beraz, garrantzitsua da RAIDa behar bezala dabilen jakitea.

Egoera ikusteko bi komando erabil ditzakegu:

1.3.1 Egoera orokorra

GNU/Linuxen RAID sistema bat erabiltzean, RAID sistema guztien egoera orokorra egiazta dezakegu /proc/mdstat “fitxategia” erabiliz:

RAID-en egoera egiaztatu

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>

Ikusten badugu, egoera honetan sistemak sinkronizatzen ari dela adierazten digu. Hau gerta daiteke RAIDa sortu berri dugulako edo disko berri bat ordezkatu berri dugulako.

Sinkronizazioa amaitzen denean, honelako zerbait agertuko litzateke:

RAID-en egoera egiaztatu

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>

RAID degradatu bat begiratzen badugu, hau da, disko bat kenduta dagoenean, honelako zerbait agertuko zaigu:

RAID-1 akatsekin

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

Begiratu inactive egoerari; honek esan nahi du RAIDaren egoera gelditu dela, akats gehiago saihesteko, konpondu arte.

1.3.2 RAID bakar baten egoera

mdadm komandoarekin RAID sistema bakar baten egoera ere ikus dezakegu. Horretarako, bere izena jakin behar dugu; gure kasuan md0.

RAID-1 egoera aztertu

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

RAIDa sinkronizazio-egoeran badago, honelako zerbait ikusiko genuke: “Resync Status : 60% complete”.

RAIDa ondo dagoela egiaztatzeko, “State: clean” lerroa ere ikus dezakegu. Akatsen bat badago, baliteke “State: inactive” agertzea.

1.4 Fitxategi-sistema sortu

Sortu dugun RAID sistema diskoen barne-kudeaketa da, baina haren gainean fitxategi-sistema bat sortu behar dugu.

RAID sistema sortu ondoren, haren gainean fitxategi-sistema bat sortu behar da.

Horretarako, Gparted erabil dezakegu, md0 disko gisa hautatuz.

Fitxategi-sistema sortu ondoren, egin ditugun urrats guztien eskema honelakoa izango litzateke:

Laburbilduz, azken urratsak hauek lirateke:

  1. Beharrezkoa bada, partizioak sortu.
  2. Dagokion partizio/diskoetan RAID sistema sortu.
  3. Sortutako RAIDaren gainean fitxategi-sistema sortu.
  4. Fitxategi-sistema ohiko moduan erabili.

2 Proposatutako arikta

RAID sistemek nola funtzionatzen duten hobeto ulertzeko, honako ariketa hau egitea proposatzen da:

  1. 15GB-ko 3 disko gogor sortu makina birtual batean.
  2. 10GB-ko RAID-1 sistema sortu, 3 disko gogorrek parte hartuta.
  3. Gainerako espazioarekin RAID-5 sistema sortu.

  1. Sortu berri diren RAIDen gainean fitxategi-sistemak sortu.

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.