Reemplazo de discos en RAID con mdadm
Hace unos días hice mi segundo reemplazo completo de discos de un array MD y quería compartir aquí los pasos que he utilizado (con éxito :D) en ambos casos.
Los dos escenarios fueron similares: dos discos iguales, con iguales particiones y RAID-1 que deben ser reemplazados por otros dos discos iguales pero de mayor tamaño, por lo que el procedimiento fue el mismo en ambos casos.
Para simplificar la guía decidí usar discos con sólo tres particiones: una para/, una para/vary otra paraswap(que no está en RAID). El esquema entonces queda definido de la siguiente manera:
+------------------+ +-----------------+ +------------------+
| /dev/sda1 |-----| /dev/md0 (/) |-----| /dev/sdb1 |
+------------------+ +-----------------+ +------------------+
| /dev/sda2 |-----| /dev/md1 (/var) |-----| /dev/sdb2 |
+------------------+ +-----------------+ +------------------+
| /dev/sda3 (swap) | | /dev/sdb3 (swap) |
+------------------+ +------------------+
Los discos que se usarán para reemplazo sonsdcysdd.
NOTA: En la guía sólo se muestra el reemplazo completo de sda por sdc ya que el procedimiento para reemplazar sdb por sdd es el mismo.
1. Particionado de disco
La manera sencilla de copiar la tabla de particiones de una unidad a otra es:
Esto copia completamente el esquema del disco origen (sda) al disco destino (sdc). Si el destino es mayor simplemente quedará espacio libre (sin asignar) al final del disco.
2. Reemplazo de particiones en arrays
TIP: Es útil tener visible, en otra terminal y durante todo el proceso, la salida de/proc/mdstatpara visualizar en todo momento el estado del array y poder ver el sincronizado de los discos:



