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/shexec 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

