GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo replicar particiones de intercambio, arranque y raíz en CentOS/RHEL 7 usando la utilidad mdadm

Esto es necesario cuando no hay una tarjeta controladora RAID disponible para el servidor y la única solución es el software RAID. Esta publicación realiza cambios en las particiones, por lo que si hay datos existentes en los discos que se utilizan para este propósito, se debe hacer una copia de seguridad antes de crear la matriz RAID según las mejores prácticas estándar.

1. Para duplicar el disco, se debe obtener información sobre la partición. Esto se puede hacer con uno de los siguientes comandos:

# parted /dev/sda u s p
# fdisk -l /dev/sda

2. La tabla de particiones debe clonarse con el siguiente comando:

# sgdisk -R /dev/sdb /dev/sda

3. Después de clonar la partición, la nueva unidad necesita un GUID:

# sgdisk -G /dev/sdb

4. Todas las particiones que se duplicarán deben tener el indicador RAID:

# parted /dev/sda set  raid on
# parted /dev/sdb set  raid on
# parted /dev/sdb set  raid on
# parted /dev/sdb set  raid on

5. Cree un nuevo dispositivo RAID en la partición desde el nuevo disco en la partición de arranque equivalente en el nuevo disco (por lo tanto, si /boot está montado en /dev/sda1, en el dispositivo RAID debe estar en /dev/sdb1)

# mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sdb1 --metadata=1.0
Nota :si los metadatos no son 1.0, grub no podrá leerlos.

6. Cree el mismo sistema de archivos que el que usa la partición /boot/efi. Por lo general, el sistema vfat es el predeterminado:

# mkfs.vfat /dev/md1

7. Se debe montar la nueva matriz raid y también se deben copiar los archivos de la partición actual /boot:

# mkdir /mnt/md1/efi
# mount /dev/md1 /mnt/md1/efi
# rsync -a /boot/ /mnt/md1/
# sync
# umount /mnt/md1/efi
# rmdir /mnt/md1

8. La partición actual /boot debe desmontarse y la nueva debe ocupar su lugar:

# umount /boot/efi
# mount /dev/md1 /boot/efi

9. Para completar el proceso de duplicación, el disco antiguo debe agregarse a la nueva matriz:

#mdadm /dev/md1 -a /dev/sda1

10. El estado de RAID se puede monitorear con el siguiente comando:

# mdadm -D /dev/md1

11. Para arrancar desde el disco RAID, se debe editar el archivo /etc/fstab, pero para eso se requiere el UUID del nuevo dispositivo:

# blkid | grep md1

12. El UUID obtenido en el paso anterior debe reemplazar al antiguo en /etc/fstab. El archivo se puede editar usando vi y es mejor comentar la línea actual y agregarla nuevamente justo debajo, pero por supuesto con el UUID cambiado:

# cat /etc/fstab
#UUID=6d36b3b0-0238-4c86-9368-f60b571fbab9 /boot xfs defaults 0 0
UUID="new UUID"                           /boot xfs defaults 0 0

Para la partición LVM (use un índice diferente para el nuevo dispositivo)

1. El dispositivo RAID debe crearse en la partición que tiene el mismo índice que el actual:

# mdadm --create /dev/md2 --level=1 --raid-disks=2 missing /dev/sdb2 --metadata=1.2
Nota :metadata 1.2 crea un área reservada de metadatos al principio del disco. Esto podría afectar la asignación de PV, por lo que hay posibilidades de encontrar errores con el comando pvmove, que se usará en el siguiente paso. Entonces, para evitar este tipo de errores, se pueden usar los metadatos 1.0.

2. Esta nueva matriz debe agregarse al mismo grupo de volúmenes, en el que se encuentra el dispositivo lvm actual:

# vgextend vgname /dev/md2

3. Las extensiones físicas deben moverse de la partición anterior a la nueva matriz (esto llevará un tiempo completarlo):

# pvmove /dev/sda2 /dev/md2

4. Después de eso, la partición anterior debe eliminarse del grupo de volúmenes y de LVM:

# vgreduce vgname /dev/sda2
# pvremove /dev/sda2

5. Para no encontrar ningún error relacionado con LVM, el valor del parámetro use_lvmetad debe cambiarse de 1 a 0 dentro del archivo /etc/lvm/lvm.conf:

# vi /etc/lvm/lvm.conf
...............
use_lvmetad = 0
...............

Luego, el lvm2-lvmetad el servicio debe detenerse, deshabilitarse y enmascararse:

# systemctl stop lvm2-lvmetad.service
# systemctl disable lvm2-lvmetad.service --now
# systemctl disable lvm2-lvmetad.socket --now
# systemctl mask lvm2-lvmetad.socket

6. Para completar el proceso de duplicación, la partición anterior debe agregarse a la matriz:

# mdadm /dev/md2 -a /dev/sda2

7. El estado de RAID se puede monitorear con el siguiente comando:

# mdadm -D /dev/md2

Para SWAP en una partición separada y no bajo LVM

1. Para el intercambio, la matriz RAID debe crearse un poco diferente y se pueden usar los siguientes comandos, suponiendo que el intercambio esté bajo sda3:

# mdadm --create swap --level=1 --raid-devices=2 missing /dev/sdb3
# mkswap /dev/md/swap
# mdadm /dev/md/swap -a /dev/sda3

2. El estado de RAID se puede monitorear con el siguiente comando:

# mdadm -D /dev/md/swap

3. Después de duplicar las particiones de inicio, intercambio y raíz, los metadatos deben escanearse y colocarse en /etc/mdadm.conf. archivo

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

4. Luego, el /etc/default/grub el archivo debe actualizarse con los nuevos UUID en GRUB_CMDLINE_LINUX línea:

Los UUID se pueden obtener con el siguiente comando:

# mdadm -D /dev/md* | grep UUID

Edite el archivo grub agregando las nuevas entradas:

# vi /etc/default/grub

#GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.md.uuid=first uuid rd.md.uuid=second uuid rd.lvm.lv=ol/root rd.lvm.lv=ol/swap rhgb quiet"

5. Luego, actualice el grub2.cfg archivo:

# grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg

6. Actualice EFI bootmgr. Para eso, se debe eliminar la entrada de arranque EFI anterior:

# efibootmgr -v | grep Boot

salida (ejemplo del comando efibootmgr desde un servidor virtual):

BootCurrent: 0001
BootOrder: 0001,0006,0008,0004,0000,0005
Boot0000* Windows Boot Manager Vendor(99e275e7-75a0-4b37-a2e6-c5385e6c00cb,)WINDOWS.........x...B.C.D.O.B.J.E.C.T.=.{.9.d.e.a.8.6.2.c.-.5.c.d.d.-.4.e.7.0.-.a.c.c.1.-.f.3.2.b.3.4.4.d.4.7.9.5.}...N...............
Boot0001* Oracle VM Server HD(1,800,3f800,91dfa48e-aad0-4a31-9ffe-e4356d8a36c6)File(\EFI\REDHAT\SHIM.EFI)
Boot0004* Generic Usb Device Vendor(99e275e7-75a0-4b37-a2e6-c5385e6c00cb,)
Boot0005* CD/DVD Device Vendor(99e275e7-75a0-4b37-a2e6-c5385e6c00cb,)
Boot0006* WDC WD10EZEX-08WN4A0 BIOS(2,0,00)..BO
Boot0008* IBA CL Slot 00FE v0113 BIOS(6,0,00)..BO

Según el resultado de este comando, las entradas de arranque EFI deben eliminarse con el siguiente comando:

# efibootmgr -b 1 -B

En este caso, solo hay una entrada y su número es 1. Después de eso, ambas particiones EFI deberán agregarse a bootmgr:

# efibootmgr -c -d /dev/sda -p1 -l \\EFI\\redhat\\shimx64.efi -L "Oracle Linux RAID SDA"
# efibootmgr -c -d /dev/sdb -p1 -l \\EFI\\redhat\\shimx64.efi -L "Oracle Linux RAID SDB"

7. La imagen de initramfs debe reconstruirse usando mdadmconf :

# cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.$(date +%m-%d-%H%M%S).bak
# dracut -f --mdadmconf

8. Reinicie la máquina para comprobar si todo funciona como debería y también si se están utilizando los nuevos dispositivos RAID.


Cent OS
  1. Cómo instalar TeamViewer en CentOS 6 / RHEL 6

  2. CentOS/RHEL 7:cómo cambiar el nombre del grupo de volúmenes para raíz e intercambio

  3. Cómo crear un contenedor LXC usando lxcbr0 y virbr0 en CentOS/RHEL

  4. Cómo depurar el proceso de arranque de systemd en CentOS/RHEL 7 y 8

  5. Cómo crear una interfaz de puente usando nmcli en CentOS/RHEL 7 y 8

Cómo aumentar el tamaño de intercambio en RHEL 8 / CentOS 8

RHEL 8 / CentOS 8 recuperar contraseña raíz

Cómo instalar MariaDB en CentOS 8 / RHEL 8

Cómo instalar MariaDB en CentOS 6 / RHEL 6

CentOS / RHEL 7:Cómo restablecer la contraseña de root

Cómo iniciar en modo de rescate o modo de emergencia a través de Systemd en CentOS/RHEL 7 y 8