Este artículo explica cómo reconstruir un RAID después de sustituir un disco duro defectuoso.

Atención:

Estas instrucciones solamente son válidas para Servidores Dedicados que utilicen UEFI como interfaz entre el hardware y el sistema operativo. Si por el contrario usas un Servidor Dedicado con BIOS como interfaz entre el hardware y el sistema operativo, consulta el siguiente artículo para obtener información sobre cómo reconstruir el RAID:

Reconstruir el software RAID (Linux/Servidor Dedicado con BIOS)

Comprobar si un Servidor Dedicado utiliza UEFI o BIOS

Para comprobar si tu servidor utiliza BIOS o UEFI como interfaz entre el hardware y el sistema operativo, introduce el siguiente comando:

[root@localhost ~]# [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS

Más información sobre UEFI

Para informarte en profundidad sobre UEFI, consulta el siguiente artículo:

Información general sobre UEFI

Información importante sobre la partición de tu Servidor Dedicado

En los Servidores Dedicados gestionados en el Cloud Panel, a partir del 20/10/2021 solamente se configurará una partición al configurar y reinstalar el sistema operativo. En los Servidores Dedicados que se configuraron antes de esta fecha y en los Servidores Dedicados de nuestra gama de servidores a precio especial, las imágenes del sistema operativo están equipadas con el Gestor de Volúmenes Lógicos (LVM). El Gestor de Volúmenes Lógicos establece una capa lógica entre el sistema de archivos y las particiones del almacenamiento de datos utilizado. Esto permite crear un sistema de archivos que abarca varias particiones y/o soportes de almacenamiento de datos. De este modo, se puede combinar, por ejemplo, el espacio de almacenamiento de varias particiones o soportes de almacenamiento de datos.

Determinar la información necesaria para reconstruir el RAID

Ver el listado de discos duros y particiones existentes

Para listar los discos duros y particiones existentes, procede de la siguiente manera:

  • Inicia sesión en el servidor con tu cuenta de Root.

  • Para ver el listado de los discos duros y particiones, introduce el comando fdisk -l. Se trata de un programa de línea de comandos para la partición de discos duros. Puedes utilizar este programa para visualizar, crear o eliminar particiones.

    [root@localhost ~]# fdisk -l

  • Anota los discos duros, las particiones y las rutas de los archivos de intercambio existentes.

Nota

Después de cambiar el disco duro, podría ocurrir que este fuera identificado como sdc. Esto sucede siempre que se realiza un cambio en caliente (Hot Swap). Deberás reinicar para que el disco duro sea reconocido de nuevo como sda o sdb.

Determinar de los puntos de montaje (Mountpoints)
  • Para mostrar los puntos de montaje de los dispositivos y particiones que utilizas, introduce el siguiente comando:

    [root@localhost ~]# lsblk

    A continuación se mostrará, por ejemplo, la siguiente información:

    [root@2A2E3A1 ~]# lsblk
    NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
    sda 8:0 0 1.8T 0 disk
    ├─sda1 8:1 0 511M 0 part
    │ └─md1 9:1 0 511M 0 raid1 /boot/efi
    ├─sda2 8:2 0 1.4G 0 part
    │ └─md2 9:2 0 1.4G 0 raid1 /boot
    ├─sda3 8:3 0 3.7G 0 part [SWAP]
    └─sda4 8:4 0 1.8T 0 part
    └─md4 9:4 0 1.8T 0 raid1 /
    sdb 8:16 0 1.8T 0 disk
    ├─sdb1 8:17 0 511M 0 part
    │ └─md1 9:1 0 511M 0 raid1 /boot/efi
    ├─sdb2 8:18 0 1.4G 0 part
    │ └─md2 9:2 0 1.4G 0 raid1 /boot
    ├─sdb3 8:19 0 3.7G 0 part [SWAP]
    └─sdb4 8:20 0 1.8T 0 part
    └─md4 9:4 0 1.8T 0 raid1 /

  • Anota los dispositivos y particiones, así como los puntos de montaje.

Ejemplo de una posible situación

En estas instrucciones, se asume la siguiente configuración:

[root@2A2E3A1 ~]# cat /proc/mdstat
Personalities : [raid1]
md4 : active raid1 sdb4[2] sda4[0]
      1947653952 blocks super 1.0 [2/1] [U_]
 
md2 : active raid1 sdb2[2] sda2[0]
      1428416 blocks super 1.0 [2/2] [UU]
 
md1 : active raid1 sdb1[1] sda1[0]
      523200 blocks [2/2] [UU]
 
unused devices: <none>

En esta situación, existen 3 arrays:
 

/dev/md1 con el punto de montaje /boot/efi

/dev/md2 con el punto de montaje /boot

/dev/md4 con el punto de montaje /

Además, hay dos particiones swap que no pertenecen al RAID. En este ejemplo, son sda3 y sdb3.

 

Reconstruir el RAID

Este procedimiento depende de si se reemplazó el disco duro 1 (sda) o el disco duro 2 (sdb):

Se reemplazó el disco duro 1 (sda)

Si se reemplazó el disco duro 1 (sda), comprueba que este se reconozca como tal. De lo contrario, reinicia el servidor. A continuación, inicia el servidor en el sistema de rescate (Rescue System) y procede con los pasos que se indican a continuación.

  • En primer lugar, copia las tablas de particiones al nuevo disco duro (vacío):

    [root@host ~]# sfdisk -d /dev/sdb | sfdisk /dev/sda

    (Puede que necesites utilizar la opción --force).

  • Añade las particiones al RAID:

    [root@host ~]# mdadm /dev/md1 -a /dev/sda1
    [root@host ~]# mdadm /dev/md2 -a /dev/sda2
    [root@host ~]# mdadm /dev/md4 -a /dev/sda4

    Puedes observar la reconstrucción del RAID con cat /proc/mdstat.

  • Luego, monta las particiones:

    [root@host ~]# mount /dev/md1 /boot/efi
    [root@host mount /dev/md2 /boot
    [root@host ~]# mount /dev/md4 /

  • Una vez montadas las particiones, accede al entorno chroot e instala el bootloader de Grub:

    [root@host ~]# chroot /mnt
    [root@host ~]# grub-install --efi-directory=/boot/efi /dev/sda

  • Sal de chroot con Exit y desmonta todos los discos duros:

    [root@host ~]# umount -a

    Espera hasta que el proceso de reconstrucción finalice. Luego, reinicia el servidor en el sistema normal.

  • Por último, activa la partición swap con los siguientes comandos:

    [root@host ~]# mkswap /dev/sda3
    [root@host ~]# swapon -a

     

Se reemplazó el disco duro 2 (sdb)

Si se reemplazó el disco duro 2 (sdb), procede de la siguiente manera:

  • Realiza un reinicio para que se reconozca el disco duro 2 (sdb).

  • En el sistema local, copia las tablas de particiones al nuevo disco (vacío):

    [root@host ~]# sfdisk -d /dev/sda | sfdisk /dev/sdb

    (Es posible que tengas que usar la opción --force).

  • Añade las particiones al RAID:

    [root@host ~]# mdadm /dev/md1 -a /dev/sdb1
    [root@host ~]# mdadm /dev/md2 -a /dev/sdb2
    [root@host ~]# mdadm /dev/md4 -a /dev/sdb4

    Ahora puedes continuar con la reconstrucción del RAID con cat /proc/mdstat.

  • Por último, debes activar la partición swap mediante los siguientes comandos:

    [root@host ~]# mkswap /dev/sdb3
    [root@host ~]# swapon -a