Intro

El raid1 proporciona una estupenda protección a los datos al mantener dos copias de cada archivo, que se almacenan en distintos discos duros. Linux permite conseguir este raid1 mediante software, por lo que no es necesario hardware.

Sin embargo, si no tenemos claro como sustituir uno de los dos discos duros que componen el array seguramente el sistema no arrancará tras un reinicio. Veamos como hemos de proceder para sustituir un disco duro del array sin tener que reinstalar todo el sistema.

 

Procedimiento para discos duros GPT

Los discos duros empledos habitualemente hace tiempo que superaron los 2TB de capacidad, así que su tabla de particiones es GPT y no MBR, que es la que se utilizaba anteriormente, con discos duros menores de 2TB. El procedimiento que indicamos se refiere a estos discos duros.

Realizar una copia de seguridad de la tabla de particiones

Ejecutamos el siguiente comando:

# sgdisk –backup=sda_parttable_gpt.bak /dev/sda

 

Sacar el disco defectuoso del array

Antes de continuar con la sustitución física del disco duro habría que sacarlo del array:

# mdadm –manage /dev/md0 –fail /dev/sda1

# mdadm –manage /dev/md1 –fail /dev/sda2

Así hasta sacar todas las particiones del disco duro de las particiones del array.

Para comprobar que están todas las particiones del disco fuera del array ejecutamos:

# cat /proc/mdstat
Personalities : [raid1] [linear] [multipath] [raid0] [raid6] [raid5] [raid4] [raid10]
md1 : active raid1 sdb2[1]
2929609152 blocks super 1.2 [2/1] [_U]
bitmap: 2/22 pages [8KB], 65536KB chunk

md0 : active raid1 sdb1[1]
523712 blocks super 1.2 [2/1] [_U]

unused devices: <none>

Como veremos no aparece el disco sda por ningún lado y el estado de cada partición del array es [_U], lo que indica que el primer disco no está funcionando.

 

Parar el equipo (si no es hotplug) y sustituir el disco

Ahora habría que sustituir físicamente el disco defectuoso.

 

Volver a escribir la tabla de particiones en el disco reemplazado

Para volver a escribir la tabla de particiones en el disco a partir de la que habíamos grabado haríamos:

# sgdisk –load-backup=sdb_parttable_gpt.bak /dev/sda

Para generar un nuevo UUID en el disco haremos:

# sgdisk -G /dev/sda

 

Añadir de nuevo las particiones del disco al array

Habría que hacer:

# mdadm /dev/md0 -a /dev/sda1

# mdadm /dev/md1 -a /dev/sda2

Así hasta añadir todas las particiones del array.

 

Instalar el bootloader en el nuevo disco

# grub-install /dev/sda

 

 

Enlaces

Hetzner lo explica estupendamente en el siguiente enlace, incluyendo los discos con MBR:

https://wiki.hetzner.de/index.php/Festplattenaustausch_im_Software-RAID/en