GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment mettre en miroir les partitions Swap, Boot et Root dans CentOS/RHEL 7 à l'aide de l'utilitaire mdadm

Ceci est nécessaire lorsqu'aucune carte contrôleur RAID n'est disponible pour le serveur et que la seule solution est le RAID logiciel. Ce message apporte des modifications aux partitions, donc s'il y a des données existantes sur des disques utilisés à cette fin, elles doivent être sauvegardées avant de créer la matrice RAID conformément aux meilleures pratiques standard.

1. Afin de mettre en miroir le disque, des informations sur la partition doivent être obtenues. Cela peut être fait avec l'une des commandes suivantes :

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

2. La table de partition doit être clonée à l'aide de la commande suivante :

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

3. Après avoir cloné la partition, le nouveau disque a besoin d'un GUID :

# sgdisk -G /dev/sdb

4. Toutes les partitions qui seront mises en miroir doivent avoir l'indicateur 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. Créez un nouveau périphérique RAID sur la partition à partir du nouveau disque sur la partition de démarrage équivalente sur le nouveau disque (donc si /boot est monté sur /dev/sda1, sur le périphérique RAID, il doit être sur /dev/sdb1)

# mdadm --create /dev/md1 --level=1 --raid-disks=2 missing /dev/sdb1 --metadata=1.0
Remarque :Si les métadonnées ne sont pas 1.0, grub ne pourra pas les lire.

6. Créez le même système de fichiers que celui utilisé par la partition /boot/efi. Habituellement, le système vfat est celui par défaut :

# mkfs.vfat /dev/md1

7. Le nouveau tableau RAID doit être monté et les fichiers de la partition /boot actuelle doivent également être copiés :

# 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 partition /boot actuelle doit être démontée et la nouvelle doit prendre sa place :

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

9. Afin de terminer le processus de mise en miroir, l'ancien disque doit être ajouté à la nouvelle matrice :

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

10. L'état du RAID peut être surveillé avec la commande suivante :

# mdadm -D /dev/md1

11. Pour démarrer à partir du disque RAID, le fichier /etc/fstab doit être modifié, mais pour cela, l'UUID du nouveau périphérique est requis :

# blkid | grep md1

12. L'UUID obtenu à l'étape précédente doit remplacer l'ancien dans /etc/fstab. Le fichier peut être édité à l'aide de vi et il est préférable de commenter la ligne courante et de la rajouter juste en dessous, mais bien sûr avec UUID modifié :

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

Pour la partition LVM (utilisez un index différent pour le nouveau périphérique)

1. Le périphérique RAID doit être créé sur la partition qui a le même index que la partition actuelle :

# mdadm --create /dev/md2 --level=1 --raid-disks=2 missing /dev/sdb2 --metadata=1.2
Remarque :metadata 1.2 crée une zone de métadonnées réservée au début du disque. Cela peut affecter l'allocation de PV, il y a donc des chances de rencontrer des erreurs avec la commande pvmove, qui sera utilisée à l'étape suivante. Ainsi, afin de contourner ce type d'erreurs, les métadonnées 1.0 peuvent être utilisées.

2. Ce nouveau tableau doit être ajouté au même groupe de volumes, dans lequel se trouve le périphérique lvm actuel :

# vgextend vgname /dev/md2

3. Les extensions physiques doivent être déplacées de l'ancienne partition vers la nouvelle baie (cela prendra un certain temps) :

# pvmove /dev/sda2 /dev/md2

4. Après cela, l'ancienne partition doit être supprimée du groupe de volumes et de LVM :

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

5. Afin de ne rencontrer aucune erreur liée à LVM, la valeur du paramètre use_lvmetad doit être modifiée de 1 à 0 dans le fichier /etc/lvm/lvm.conf :

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

Ensuite, le lvm2-lvmetad le service doit être arrêté, désactivé et masqué :

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

6. Afin de terminer le processus de mise en miroir, l'ancienne partition doit être ajoutée au tableau :

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

7. L'état du RAID peut être surveillé avec la commande suivante :

# mdadm -D /dev/md2

Pour le SWAP sur une partition séparée et non sous LVM

1. Pour le swap, la matrice RAID doit être créée un peu différemment et les commandes suivantes peuvent être utilisées, en supposant que le swap est sous sda3 :

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

2. L'état du RAID peut être surveillé avec la commande suivante :

# mdadm -D /dev/md/swap

3. Une fois les partitions de démarrage, d'échange et racine mises en miroir, les métadonnées doivent être analysées et placées dans /etc/mdadm.conf fichier

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

4. Ensuite, le fichier /etc/default/grub le fichier doit être mis à jour avec les nouveaux UUID sur GRUB_CMDLINE_LINUX ligne :

Les UUID peuvent être obtenus avec la commande suivante :

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

Modifiez le fichier grub en ajoutant les nouvelles entrées :

# 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. Ensuite, mettez à jour le grub2.cfg fichier :

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

6. Mettez à jour le gestionnaire de démarrage EFI. Pour cela, l'ancienne entrée de démarrage EFI doit être supprimée :

# efibootmgr -v | grep Boot

sortie (exemple de commande efibootmgr à partir d'un serveur virtuel) :

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

En fonction du résultat de cette commande, les entrées de démarrage EFI doivent être supprimées avec la commande suivante :

# efibootmgr -b 1 -B

Dans ce cas, il n'y a qu'une seule entrée et son numéro est 1. Après cela, les deux partitions EFI devront être ajoutées au 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. L'image initramfs doit être reconstruite à l'aide de mdadmconf :

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

8. Redémarrez la machine afin de vérifier si tout fonctionne comme il se doit et aussi si les nouveaux périphériques RAID sont utilisés.


Cent OS
  1. CentOS / RHEL 7 :Comment extraire l'image initramfs et la modifier/afficher

  2. CentOS / RHEL 7 :Comment supprimer une image de secours à l'aide de grubby

  3. CentOS / RHEL 7 :Comment définir la date, l'heure / NTP et le fuseau horaire à l'aide de timedatectl

  4. Comment configurer le relais smtp postifx dans CentOS/RHEL 5 et 6

  5. Comment désactiver NUMA sur les chargeurs de démarrage EFI à l'aide de GRUB2 (CentOS/RHEL 6)

Comment augmenter la taille d'échange sur RHEL 8 / CentOS 8

RHEL 8 / CentOS 8 récupèrent le mot de passe root

Comment installer MariaDB sur CentOS 8 / RHEL 8

Comment installer MariaDB sur CentOS 6 / RHEL 6

CentOS / RHEL 7 :Comment réinitialiser le mot de passe root

Comment démarrer en mode de secours ou en mode d'urgence via Systemd dans CentOS/RHEL 7 et 8