GNU/Linux >> Tutoriales Linux >  >> Debian

Expansión de un RAID de software en Debian mediante la migración a nuevos discos duros grandes

La configuración:dos unidades físicas de un RAID 1 (espejo) se reemplazarán con dos unidades de mayor capacidad, haremos un reemplazo "en caliente" directamente desde el sistema operativo en ejecución, sin la necesidad de iniciar desde un medio de inicio externo. Esta guía ha sido probada en las distribuciones Debian 6, 7, 8 tanto de 32 como de 64 bits.

Suponemos que las dos unidades están particionadas con una partición raíz y de intercambio y que estas dos particiones construyen los dos dispositivos raid md0 y md1:

  • La partición sda1 y sdb1 que componen el volumen md0 (raíz)
  • Las particiones sda2 y sdb2 que forman el volumen md1 (swap)

Primero, haga una copia de seguridad de todos sus datos, incluso si la guía se ha probado varias veces, la mala suerte sigue ahí ... Proporcionamos (en mi opinión, la mejor solución) para un reemplazo, desconectamos uno de los dos antiguos unidades con la máquina apagada, luego conecte una nueva unidad temporal, luego vuelva a sincronizar, por lo que aún tendremos el RAID funcionando y una sola unidad (con RAID en modo degradado) y aún puede recrear un RAID en funcionamiento si algo no funciona. Para hacer esto, simplemente escriba estos comandos después de reemplazar el disco lleno por uno vacío:

sfdisk -d /dev/hd source | sfdisk —force /dev/hd empty
mdadm —zero-superblock /dev/hd empty
mdadm —add /dev/md(raid) /dev/hd(empty)

Repita las dos últimas líneas para cada RAID/partición del sistema

(por ejemplo: 

mdadm -add /dev/md0 /dev/sdb1 

entonces 

mdadm -add /dev/md1 /dev/sdb2

etc..

De esta forma, forzamos la tabla de particiones desde la unidad de origen hasta el destino vacío y luego la añadimos al RAID.

Obviamente hay que esperar hasta el final del proceso de reconstrucción, supervisado por:

watch cat / pro / mdstat

(Y por supuesto CTRL + C para salir del proceso)

Apagamos la máquina en este punto, agregamos dos discos nuevos, que se convierten respectivamente en sdc y sdd, luego iniciamos el servidor y ejecutamos el comando:

fdisk -l

El resultado debería ser similar a esto:

Disk /dev/sda: ……MB , ………….Bytes
… heads, …sectors/track , ….. cylinders
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk: identifier : ………..
 
Device boot Start End Blocks Id   System
/dev/sda2        970           1044 602437+ fd   Linux raid autodetect
/dev/sda2            1 969 7783461 fd   Linux raid autodetect 
……
/dev/sdb1     *       1 969 7783461 fd   Linux raid autodetect 
/dev/sdb2            970        1044 602437+ fd   Linux raid autodetect 
……
Disk /dev/sdc: …Mb, …….Bytes
……
Disk /dev/sdd: …Mb, …….Bytes
……
Disk /dev/md0: …Mb, …….Bytes
…...
Disk /dev/md1: …Mb, …….Bytes

Ahora, escribe:

fdisk /dev/sdc

creamos una nueva partición con la n mando,

seleccionamos p partición primaria,

seleccionamos el número de partición (1 ,2,3, etc...),

seleccionamos el cilindro de partida (1 ),

seleccionamos el tamaño de la partición primaria escribiendo el + símbolo seguido del tamaño en GB y GB de letras (por ejemplo:+480GB )

lo hacemos booteable con el comando a , seleccionando el mismo número de partición.

cambiamos el ID de partición en "fd " (Linux Raid Autodetect) con t , y escribiendo como código hexadecimal, solo "fd "

Luego repetimos TODOS los comandos para la segunda partición (la partición será el swap).

Guardaremos los cambios con w.

Obviamente, preste atención al tamaño de las particiones. La mejor solución es restar el tamaño de intercambio actual del total del espacio libre para crear la partición de trabajo con el espacio más amplio posible.

Ahora realizaremos exactamente las mismas operaciones en la unidad SDD, asegurándonos de crear la misma partición con los mismos tamaños que usamos anteriormente.

En este punto hacemos un intercambio entre el primer disco "lleno" y el primer disco nuevo, agregando este último como repuesto al RAID:

mdadm -add /dev/md0 /dev/sdc1

Luego deberíamos verificar la situación del disco raid, debería ser así:

md0: active raid 1 sdc1[S] sda1[2] sdb1[3]
 ………blocks super 1.2 [2/2] [UU]

Luego ponemos la unidad original:

mdadm -f /dev/md0 /dev/sda1

y elimínelo del RAID:

mdadm -r /dev/md0 /dev/sda1

Ahora verificamos que la reconstrucción comenzó automáticamente y esperamos hasta que se complete monitoreando nuevamente con:

watch cat /proc/mdstat

(Y por supuesto CTRL + C para salir del proceso)

Al final instalamos el gestor de arranque (grub) en la nueva unidad (/dev/sdc):

grub-install /dev/sdc

El mismo proceso solo tiene que repetirse para cada una de las particiones del sistema:

mdadm -add /dev/md0 /dev/sdd1
mdadm -f /dev/md0 /dev/sdb1
mdadm -r /dev/md0 /dev/sdb1

Y esperamos de nuevo hasta que termine la reconstrucción:

watch cat /proc/mdstat

(Y por supuesto CTRL + C para salir del proceso)

A continuación, realice el mismo procedimiento para la primera partición de intercambio de dos unidades nuevas:

mdadm -add /dev/md1 /dev/sdc2
mdadm -f /dev/md0 /dev/sda2
mdadm -r /dev/md0 /dev/sda2

Espere de nuevo hasta que haya terminado la reconstrucción:

watch cat /proc/mdstat

(Y por supuesto CTRL + C para salir del proceso)

Y el último disco:

mdadm -add /dev/md1 /dev/sdd2
mdadm -f /dev/md0 /dev/sdb2
mdadm -r /dev/md0 /dev/sdb2

Espere de nuevo hasta que haya terminado la reconstrucción:

watch cat /proc/mdstat

(Y por supuesto CTRL + C para salir del proceso)

En este punto, reinstale el gestor de arranque en ambas unidades:

grub-install /dev/sdc
grub-install /dev/sdd

En este punto nos encontramos con la unidad antigua expulsada del RAID y las nuevas unidades instaladas y operativas. Pero con el espacio utilizable por debajo del máximo permitido por la partición

Luego se procede con la ampliación de la partición y la verificación de la misma, como es habitual para ambos volúmenes:

mdadm —grow —raid-devices=2 /dev/md0
mdadm -A —scan
mdadm —grow /dev/md0 —size=max
mdadm —examine —scan
e2fsck -f /dev(md0
resize2fs /dev/md0

mdadm —grow —raid-devices=2 /dev/md1
mdadm -A —scan
mdadm —grow /dev/md1 —size=max
mdadm —examine —scan
e2fsck -f /dev/md1
resize2fs /dev/md1

Cuando termine, apague la PC, desvincule las unidades antiguas y reinicie la máquina.

Incluso si el reinicio funcionaba, reconstruimos el grub por razones de seguridad ya que el lanzamiento de la nueva unidad habrá tomado el nombre de la anterior (sda y sdb):

mv /boot/grub/device.map/boot/grub/device.map.old
grub-mkdevicemap
update-grub2 && grub-install /dev/sda && grub-install /dev/sdb

Si quiere estar absolutamente seguro de que la nueva configuración de incursión está funcionando, apague la máquina, desconecte una de las nuevas unidades y comience de nuevo. Debería empezar sin problemas. Luego, apague nuevamente, conecte la unidad y comience. Puede usar este comando para verificar el estado de la redada.

watch cat /proc/mdstat

(Y por supuesto CTRL + C para salir del proceso)

Terminamos la obra, festejamos .


Debian
  1. Lanzamiento de Debian 10 (Buster):nuevas características

  2. Lanzamiento de Debian 8 Jessie – ¿Qué hay de nuevo?

  3. Instalación de GRUB2 en el software mdadm Raid en Debian Wheezy/Jessie

  4. Debian – ¿No se puede iniciar la instalación de Devuan/debian?

  5. ¿Cómo muevo un RAID de software de Linux a una nueva máquina?

Cómo instalar el software de sincronización remota de archivos Syncthing en Debian 11

Instalar y configurar el software de monitoreo Monitorix en Debian 10

Cómo instalar el software de control parental CTparental en Debian 10

Cómo instalar software a través de Flatpak en Debian 10

Cómo instalar el software de grabación de pantalla OBS en Debian 10

Novedades en Debian 11 "Bullseye"