Que recherchez-vous ?

Partie 2 – Comment renommer un VG root (CentOS/RHEL 7) ?

Middleware 15 mars 2021
Publié par : Benjamin Testut

Vous avez pu découvrir notre 1er article sur la modification d’un VG.
Cette fois-ci, nous allons nous focaliser sur la modification du nom d’un VG root.

Partie 2 – Comment renommer un VG root (CentOS/RHEL 7) ?

Renommer le VG root

Tout au long de cette seconde procédure, le but sera de renommer le VG vg_root en vg_system. La particularité du vg_root est que votre machine virtuelle démarre grâce à ce VG. C’est pour cela que la procédure diffère et surtout, elle s’avère plus critique car votre serveur peut ne pas redémarrer en cas d’échec. Pas de panique, nous avons fait cette procédure une dizaine de fois, elle a marché à tous les coups.

Identification du VG root à renommer (vg_os parfois)

La commande vgs (ou vgdisplay) permet d’afficher les VG présents sur votre machine virtuelle. De plus, la commande lvs (ou lvdisplay) va elle vous indiquer les LV. Il est possible de taper la commande lvs “nom-du-vg-concerné-par-le-renommage” pour montrer uniquement les LV liés au VG que vous allez renommer.

[root@vm-template ~]# vgs

  VG              #PV #LV #SN Attr   VSize   VFree

  vg_template       1   1   0 wz--n- <10,00g    0

  vg_root           1   2   0 wz--n-  <9,51g    0

[root@template-oracle12 ~]# lvs vg_root

  LV         VG              Attr       LSize   

  root       vg_root         -wi-ao----  <8,51g

  swap       vg_root         -wi-ao----   1,00g

 

Renommer le VG root

Grâce à la commande vgrename, vous allez pouvoir renommer votre VG. Il faut pour cela ajouter le nom du VG initial ainsi que le nouveau nom souhaité.

[root@template-oracle12 ~]# vgrename vg_root vg_system

Volume group "vg_root" successfully renamed to "vg_system"

[root@vm-template ~]# vgs

  VG              #PV #LV #SN Attr   VSize   VFree

  vg_template           1   1   0 wz--n- <10,00g    0

  vg_system           1   2   0 wz--n-  <9,51g    0

 

Modifier le fichier FSTAB

Pour que la modification soit effective au niveau de l’OS, il faut modifier le fichier /etc/fstab. N’hésitez pas à sauvegarder votre fichier fstab d’origine, cela permet de revenir en arrière plus facilement en cas d’erreur.

[root@vm-template ~]# vi /etc/fstab

avant modification : 

/dev/mapper/vg_root-root /                       xfs     defaults        1 1

/dev/mapper/vg_root-swap swap                    swap    defaults        0 0

après modification : 

/dev/mapper/vg_system-root /                       xfs     defaults        1 1

/dev/mapper/vg_system-swap swap                    swap    defaults        0 0

 

Modifier le fichier de configuration GRUB2

GRUB est le programme d’amorçage de la machine Linux. Il s’exécute à la mise sous tension de la VM, après les séquences de contrôle et avant le système d’exploitation. Son rôle est justement d’organiser le chargement.

On identifie les lignes qui contiennent le nom de notre vg_root pour pouvoir par la suite les modifier. Il va donc falloir modifier 2 fichiers : grub.cfg et grub.

[root@template ~]# cat /boot/grub2/grub.cfg | grep vg_root

        linux16 /vmlinuz-3.10.0-123.el7.x86_64 root=UUID=e6a5694b-48b2-462f-beb9-94646ec29b80 
ro vconsole.keymap=fr vconsole.font=latarcyrheb-sun16 rd.lvm.lv=vg_root/swap rd.lvm.lv=vg_root/root crashkernel=auto 
rhgb quiet numa=off transparent_hugepage=never

        linux16 /vmlinuz-0-rescue-284e716463bb4b6595662b6ebece03a4 root=UUID=e6a5694b-48b2-462f-beb9-94646ec29b80 
ro vconsole.keymap=fr vconsole.font=latarcyrheb-sun16 rd.lvm.lv=vg_root/swap rd.lvm.lv=vg_root/root crashkernel=auto 
rhgb quiet numa=off transparent_hugepage=never

[root@template ~]# cat /etc/default/grub | grep vg_root

GRUB_CMDLINE_LINUX="vconsole.keymap=fr vconsole.font=latarcyrheb-sun16 rd.lvm.lv=vg_root/swap rd.lvm.lv=vg_root/root 
crashkernel=auto rhgb quiet numa=off transparent_hugepage=never"

 

Fichier grub.cfg : par question de sécurité, nous faisons une sauvegarde du fichier (en cas de retour arrière) puis nous effectuons la modification via la commande sed.

[root@template ~]# cp -p /boot/grub2/grub.cfg /boot/grub2/grub.cfg.save

[root@template ~]# sed -i 's/vg_root/vg_system/g' /boot/grub2/grub.cfg

[root@template ~]# cat /boot/grub2/grub.cfg | grep vg_system

        linux16 /vmlinuz-3.10.0-123.el7.x86_64 root=UUID=e6a5694b-48b2-462f-beb9-94646ec29b80 ro vconsole.keymap=fr 
vconsole.font=latarcyrheb-sun16 rd.lvm.lv=vg_system/swap rd.lvm.lv=vg_system/root crashkernel=auto 
rhgb quiet numa=off transparent_hugepage=never

        linux16 /vmlinuz-0-rescue-284e716463bb4b6595662b6ebece03a4 root=UUID=e6a5694b-48b2-462f-beb9-94646ec29b80 
ro vconsole.keymap=fr vconsole.font=latarcyrheb-sun16 rd.lvm.lv=vg_system/swap rd.lvm.lv=vg_system/root 
crashkernel=auto rhgb quiet numa=off transparent_hugepage=never


Fichier grub : par question de sécurité, nous faisons une sauvegarde du fichier (en cas de retour arrière) puis nous effectuons la modification via la commande sed.

[root@template ~]# cp -p /etc/default/grub /etc/default/grub.save

[root@template ~]# sed -i 's/vg_root/vg_system/g' /etc/default/grub

[root@template ~]# cat /etc/default/grub | grep vg_system

GRUB_CMDLINE_LINUX="vconsole.keymap=fr vconsole.font=latarcyrheb-sun16 rd.lvm.lv=vg_system/swap 
rd.lvm.lv=vg_system/root crashkernel=auto rhgb quiet numa=off transparent_hugepage=never"

Activer le VG et rafraichir les volumes

[root@vm-template ~]# vgchange -ay

[root@vm-template ~]# lvchange /dev/vg_system/lv_root --refresh

[root@vm-template ~]# lvchange /dev/vg_system/lv_swap --refresh


Créer une nouvelle image disque

Nous identifiions par la suite l’image disque qui est lancée au démarrage de la machine virtuelle et nous en faisons une copie. Puis nous lançons l’écriture de la nouvelle image disque qui sera utilisée lors du redémarrage du serveur.

[root@template ~]# ls -al /boot/initramfs*

-rw-r--r--. 1 root root 40616443 29 oct.  18:15 /boot/initramfs-0-rescue-284e716463bb4b6595662b6ebece03a4.img

-rw-------  1 root root 19555339 02 janv. 11:26 /boot/initramfs-3.10.0-123.el7.x86_64.img

[root@template ~]# uname -r

3.10.0-123.el7.x86_64

[root@template ~]# cp /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.$(date +%m-%d-%H%M%S).bak

[root@template ~]# ls -al /boot/initramfs*

-rw-r--r--. 1 root root 40616443 29 oct.  18:15 /boot/initramfs-0-rescue-284e716463bb4b6595662b6ebece03a4.img

-rw-------  1 root root 19555339 02 nov.  11:26 /boot/initramfs-3.10.0-123.el7.x86_64.img

-rw-------  1 root root 18960741 13 janv. 11:25 /boot/initramfs-3.10.0-123.el7.x86_64.img.01-13-112513.bak

[root@template ~]# mkinitrd -f -v /boot/initramfs-$(uname -r).img $(uname -r)


Terminer la procédure

Afin de valider la procédure, nous vous conseillons de faire un reboot de la machine afin de vérifier que toutes les modifications ont été prises en compte lors du redémarrage. N’hésitez pas à passer par l’hyperviseur en mode console pour vérifier que tout se déroule correctement.

À propos de l’auteur·e

Benjamin Testut

Expert en Supervision - Exploitation

D’autres Articles

Proposez un sujet autour des enjeux des systèmes d’information.

Devenez membre de notre communauté d’experts inspirants.