1 votes

Problème de suppression de l'espace disque LV qui a été étendu à partir d'un autre disque

J'ai un serveur redhat avec deux disques de 100gb et 500gb. Le disque de 500 Go était inutilisé, mais je l'ai ensuite utilisé pour étendre le LV /var. Le système de fichiers sur tous les points de montage sont xfs et vous ne pouvez effectivement pas réduire lv sur un système de fichiers xfs.

Donc ce qui a été fait jusqu'à présent est :

  1. Créer une partition sur un disque de 500 Go
  2. Étendre LV lv_var avec 50% du disque de 500gb

Je n'ai pas encore fait croître le système de fichiers avec xfs_grow, donc le système de fichiers est toujours à 2 Go sur /var. Ma question est donc la suivante : comment puis-je supprimer en toute sécurité l'espace disque étendu sur le disque de 500 Go sans endommager le système de fichiers sur /var ?

lsblk :

sda                            8:0    0   65G  0 disk
sda3                         8:3    0   64G  0 part
  vg_rhel-lv_var           253:4    0  250G  0 lvm  /var
sdb                            8:16   0  500G  0 disk
sdb1                         8:17   0  500G  0 part
  vg_rhel-lv_var           253:4    0  250G  0 lvm  /var

0voto

lsd Points 1653

Normalement, vous devriez utiliser pvmove avec lvreduce, mais il n'y a pas assez de place pour déplacer les extents de sdb1 à sda3. Je vais laisser les informations sur pvmove dans cette réponse, mais vous pourriez simplement utiliser lvreduce.

Si vous n'avez pas fait lvresize -r pour redimensionner le système de fichiers, vous pouvez toujours réduire le lv.

Vous pouvez ensuite utiliser lvreduce pour réduire la taille de lv lvreduce -L 500g /dev/vg_rhel/lv_var . Faites attention à ne pas réduire la taille du système de fichiers. Vous pouvez en toute sécurité exécuter xfs_check (je pense) après, mais il doit être démonté je crois, ce qui, avec var, nécessiterait probablement un mode utilisateur unique.

Bien sûr, si vous voulez réellement redimensionner var, comme vous l'avez mentionné, vous ne pouvez pas rétrécir xfs. Dans ce cas, vous devrez créer un tout nouveau volume, tout copier (d'abord pour minimiser les temps d'arrêt), démarrer en mode utilisateur unique, terminer la copie (avec rsync pour obtenir les modifications finales), changer le fstab pour monter le nouveau vol, redémarrer, et ensuite vous pourrez désallouer l'ancien vol.

Des informations sur les déplacements entre pvs, qui sont très utiles pour déplacer des lvs entre pvs.

https://linux.die.net/man/8/pvmove

Dans ce cas, probablement pvmove -n lv_var /dev/sdb1 /dev/sda3

Pardonnez la mise en forme de cette réponse, je suis sur mobile et n'ai pas toutes les fonctionnalités. Tout le monde peut se sentir libre d'éditer.

Vous déplacez donc les extents du volume logique var de sdb1 (quelle que soit la partition faisant partie du pv) vers sda3 (à nouveau, quelle que soit la partition faisant partie du pv).

Alors vous avez var all sur sda3 et sdb1 serait inutilisé, aucun extent alloué à aucun lv. Ensuite, vous pouvez vgreduce et pvremove si c'est votre objectif.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X