Configuraci贸n de RAID1 mediante software en Ubuntu

0
3083

En este ejemplo se muestra c贸mo migrar un sistema Ubuntu a RAID1 por software. 脡ste proceso va a requerir dos reinicios.

En primer lugar, cambie al usuario root, si a煤n no lo est谩:
sudo -i

Veamos la lista de discos y particiones:
fdisk -l
fdisk -l | grep '/dev/sd'

lsblk -o NAME,UUID

Supongamos que el sistema usa un disco, por ejemplo /dev/sda, y tiene una partici贸n primaria /dev/sda1.

Para la prueba, instal茅 un Ubuntu Server 18.04 limpio, el disco estaba particionado de forma predeterminada, el intercambio era un archivo en la misma partici贸n.

Para crear un raid, conectemos otro disco del mismo tama帽o, y se llamar谩 /dev/sdb.

Instale mdadm y las utilidades necesarias (generalmente se instalan de forma predeterminada):
apt-get install initramfs-tools mdadm

Para asegurarse de que todos los m贸dulos y componentes necesarios est茅n instalados, ejecute el siguiente comando:
cat /proc/mdstat

Si los m贸dulos necesarios no est谩n cargados, c谩rguelos:
modprobe linear
modprobe multipath

modprobe raid1

Dividamos el nuevo disco /dev/sdb de manera similar al instalado:
sfdisk -d /dev/sda | sfdisk --force /dev/sdb

Vamos a revisar con el comando:
fdisk -l

En el siguiente paso, cambiaremos el tipo de particiones del nuevo disco duro /dev/sdb a “Linux raid autodetect” (desde la partici贸n 1, despu茅s de “t” no se pedir谩 la pregunta para indicar el n煤mero de partici贸n):
fdisk /dev/sdb
t
fd
w

Asegur茅monos de que el tipo de particiones /dev/sdb sea la autodetecci贸n de raid de Linux:
fdisk -l

Cree la matriz md0 usando la opci贸n que falta:
mdadm --create /dev/md0 --level=1 --metadata=1.0 --raid-disks=2 missing /dev/sdb1

Vamos a revisar:
cat /proc/mdstat

Si algo no funcion贸, puede eliminarla e intentarlo de nuevo:
mdadm --stop /dev/md0

Especifiquemos el sistema de archivos:
mkfs.ext4 /dev/md0

Hagamos una copia de seguridad del archivo de configuraci贸n mdadm y agreguemos informaci贸n:
cp /etc/mdadm/mdadm.conf /etc/mdadm/mdadm_backup.conf聽

mdadm --examine --scan >> /etc/mdadm/mdadm.conf

Monte /dev/md0 en el sistema:
mkdir /mnt/md0
mount /dev/md0 /mnt/md0
mount

Aqui esta como se monto:
/dev/md0 on /mnt/md0 type ext4 (rw,relatime,data=ordered)

En el archivo /etc/fstab, comente las l铆neas sobre /dev/sda:
nano /etc/fstab
/dev/md0 /聽聽聽聽聽聽聽聽聽聽聽聽聽聽 ext4聽聽聽 errors=remount-ro 0聽聽聽聽聽聽 1

Veamos el archivo /etc/mtab si hay una entrada de raid all铆:
cat /etc/mtab

Veamos los nombres de archivo exactos /vmlinuz, /initrd.img:
ls /

Ahora hay que crear un archivo con el men煤 de arranque de GRUB2, para 茅sto hay que abrirlo en un editor:
cp /etc/grub.d/40_custom /etc/grub.d/09_raid1_test聽
nano /etc/grub.d/09_raid1_test

Agregue el contenido (en lugar de /vmlinuz y /initrd.img, indicaremos los nombres correctos si son diferentes):

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries.聽 Simply type the
# menu entries you want to add after this comment.聽 Be careful not to change
# the 'exec tail' line above.
menuentry 'Debian GNU/Linux, with Linux' --class debian --class gnu-linux --class gnu --class os {
聽聽聽聽聽聽聽聽insmod mdraid1x
聽聽聽聽聽聽聽聽insmod part_msdos
聽聽聽聽聽聽聽聽insmod ext2
聽聽聽聽聽聽聽聽set root='(md/0)'
聽聽聽聽聽聽聽聽echo聽聽聽 'Loading Linux'
聽聽聽聽聽聽聽聽linux聽聽 /vmlinuz root=/dev/md0 ro聽 quiet
聽聽聽聽聽聽聽聽echo聽聽聽 'Loading initial ramdisk ...'
聽聽聽聽聽聽聽聽initrd聽 /initrd.img
}

Abra el archivo /etc/default/grub en un editor de texto:
nano /etc/default/grub

Descomentemos un par de l铆neas:
GRUB_TERMINAL=console
GRUB_DISABLE_LINUX_UUID=true

Actualicemos el cargador de arranque:
update-grub

Preparemos un disco RAM:
update-initramfs -u

Instale el cargador de arranque en ambas unidades:
grub-install /dev/sda聽
grub-install /dev/sdb

Copiemos todos los datos en la matriz md0 montada previamente:
cp -dpRx / /mnt/md0

Reiniciemos el sistema:
reboot

Al iniciar el sistema, el primer men煤 /etc/grub.d/09_raid1_test estar谩 en el men煤 de inicio, si hay problemas con el inicio, puede elegir iniciar desde /dev/sda.

Aseg煤rese de que el sistema se est茅 ejecutando desde /dev/md0:
df -h

Cambie a usuario root de nuevo:
sudo -i

Cambiemos el tipo de partici贸n del disco duro antiguo:
fdisk /dev/sda
t
fd
w

Vamos a revisar:
fdisk -l

Agreguemos el disco antiguo a la matriz:
mdadm --add /dev/md0 /dev/sda1

Esperemos a que se complete la sincronizaci贸n y asegur茅monos de que el raid est茅 en orden – UU:
cat /proc/mdstat

Actualicemos la informaci贸n sobre la matriz en el archivo de configuraci贸n mdadm:
cp /etc/mdadm/mdadm_backup.conf /etc/mdadm/mdadm.conf
mdadm --examine --scan >> /etc/mdadm/mdadm.conf

Eliminemos nuestro men煤 temporal de GRUB, ya no es necesario:
rm -f /etc/grub.d/09_raid1_test

Actualice e instale GRUB nuevamente:
update-grub
update-initramfs -u
grub-install /dev/sda
grub-install /dev/sdb

Reinicie el sistema para asegurarse de que se inicie correctamente:
reboot

Esto completa la migraci贸n de un sistema Ubuntu en ejecuci贸n a RAID1 por software.
Si uno de los discos, /dev/sda o /dev/sdb deja de funcionar, el sistema funcionar谩 y arrancar谩.

Para mayor estabilidad, puede agregar m谩s discos del mismo tama帽o a la matriz.

Suerte