GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Développer le volume logique Lvm sur la machine virtuelle ?

J'ai eu un problème très spécifique. J'ai un LVM en cours d'exécution sur un seul volume physique sur une machine virtuelle. La taille du volume logique est d'environ 150 Go et je souhaite l'étendre à environ 250 Go.

J'ai pu étendre le volume physique à partir de mon gestionnaire de machines virtuelles, mais le changement de taille physique n'est pas reflété sur mon volume logique LVM.

Je n'ai trouvé aucune réponse directement et, grâce à quelques expérimentations, j'ai trouvé une solution. Je pensais le partager dans ma réponse ci-dessous.

Réponse acceptée :

Un exemple de diagramme LVM :

L'idée de LVM est qu'il fait abstraction du volume logique du volume physique, de sorte que plusieurs volumes physiques apparaîtront à l'utilisateur comme un seul volume logique continu.

Le système de fichiers racine se trouve dans /dev/file-server-vg/root et le swap est dans /dev/file-server-vg/swap . L'idée est que nous pouvons en fait avoir plusieurs disques durs réels dans la couche PV, et ils peuvent tous être ajoutés dans un groupe de volumes, ce qui leur permettra d'apparaître tous comme un seul système de fichiers continu sur le système à /dev/file-server-vg/root .

Dans ce problème, j'ai utilisé /dev/file-server-vg/root en tant que serveur de fichiers et il manque d'espace. Heureusement, ce système est sur une machine virtuelle, et j'ai pu étendre le volume physique /dev/sda à l'aide du gestionnaire de machines virtuelles. Cependant, l'augmentation de la taille n'est pas automatiquement transmise au /dev/file-server-vg/root système de fichiers. Nous devons exécuter quelques commandes simples pour que cela fonctionne.

Avant de commencer, utilisez pvdisplay pour voir quels volumes physiques sont présents. Cela listera tous les volumes physiques et le groupe de volumes auquel il appartient. Dans ce cas, nous n'avons qu'un seul volume physique qui est /dev/sda3 .

  --- Physical volume ---
  PV Name               /dev/sda3
  VG Name               file-server-vg
  PV Size               155.26 GiB / not usable 0   
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              65346
  Free PE               0
  Allocated PE          65346
  PV UUID               0EXhc4-EoHZ-b79R-ncSe-SWXI-ztPe-Fsc7zk

La table de partition actuelle peut être répertoriée en utilisant sudo parted puis print .

Number  Start   End    Size   File system  Name  Flags
 1      1049kB  538MB  537MB  fat32              boot
 2      538MB   794MB  256MB  ext2
 3      794MB   167GB  166GB                     lvm

Dans cet exemple, nous souhaitons étendre la capacité de 155,56 Gio à 255,56 Gio. En utilisant le gestionnaire de machines virtuelles, nous pouvons généralement étendre l'espace disque et, dans ce cas, nous l'étendrons de 100 Gio.

Une fois l'expansion réussie, la table de partition résultante (utilisez print free ) ressemblera à ce qui suit. Veuillez noter que "l'espace libre" indique 108 Go (~100 Gio).

Number  Start   End    Size   File system  Name  Flags
 1      1049kB  538MB  537MB  fat32              boot
 2      538MB   794MB  256MB  ext2
 3      794MB   275GB  166GB                     lvm
      167GB   275GB  108GB  Free Space

Il existe deux façons d'étendre le volume logique :
Créez une nouvelle partition et ajoutez-la au groupe de volumes, ou
Augmentez la même partition.

À mon avis, dans la mesure du possible, la deuxième méthode est plus soignée. Bien sûr si /dev/sda3 est un disque dur physique et que vous avez acheté un autre disque dur pour augmenter l'espace, il sera logique d'utiliser la première méthode.

Dans le type séparé resize 3 794MB 275GB va redimensionner la partition 3 pour occuper tout l'espace libre, enfin presque :

Number  Start   End     Size    File system  Name  Flags
        17.4kB  1049kB  1031kB  Free Space
 1      1049kB  538MB   537MB   fat32              boot
 2      538MB   794MB   256MB   ext2
 3      794MB   275GB   274GB                      lvm
        275GB   275GB   1032kB  Free Space

C'est suffisant, juste 1 Mo n'est pas utilisé.

Connexe :Comment changer le propre répertoire personnel ?

Ensuite, nous allons redémarrer la machine. Ceci est nécessaire pour actualiser la table de partition.

Ce que vous verrez maintenant, c'est que le volume physique a augmenté en taille avec pvdisplay

--- Physical volume ---
  PV Name               /dev/sda3
  VG Name               file-server-vg
  PV Size               255.26 GiB / not usable 0   
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              65346
  Free PE               0
  Allocated PE          65346
  PV UUID               0EXhc4-EoHZ-b79R-ncSe-SWXI-ztPe-Fsc7zk

Cette augmentation de taille sera automatiquement transmise au groupe de volumes, en utilisant vgdisplay vous obtenez ce qui suit. Veuillez noter vgextend ne fait pas réellement ce que vous pourriez penser qu'il fait. Il n'occupe pas l'espace libre, mais est utilisé pour ajouter de nouveaux volumes physiques à un groupe de volumes particulier.

--- Volume group ---
  VG Name               file-server-vg
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               255.26 GiB
  PE Size               4.00 MiB
  Total PE              65346
  Alloc PE / Size       65346 / 255.26 GiB
  Free  PE / Size       0 / 0   
  VG UUID               NwwIgT-W0SH-aeTe-d078-hcxx-XZ6W-QfnSA0

La taille du volume logique n'augmente pas automatiquement. Cela est en fait logique car l'ordinateur n'a aucune idée du volume logique dont vous souhaitez augmenter la taille, ou peut-être souhaitez-vous créer un nouveau volume logique avec l'espace supplémentaire dans le groupe de volumes. Donc avec lvdisplay vous verrez le tableau suivant, montrant le /dev/file-server-vg/root ne dispose que de 153,26 Gio, mais ne vous inquiétez pas, nous sommes très proches.

--- Logical volume ---
  LV Path                /dev/file-server-vg/root
  LV Name                root
  VG Name                file-server-vg
  LV UUID                l6qvYZ-AmYw-tdgi-2jUu-XNB2-gecQ-6fDPt8
  LV Write Access        read/write
  LV Creation host, time file-server, 2014-07-10 14:54:58 +1000
  LV Status              available
  # open                 1
  LV Size                153.26 GiB
  Current LE             64834
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/file-server-vg/swap_1
  LV Name                swap_1
  VG Name                file-server-vg
  LV UUID                OohMkN-rGLa-fM4M-6he2-MbM9-BBc3-Ck2Hs5
  LV Write Access        read/write
  LV Creation host, time file-server, 2014-07-10 14:54:58 +1000
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

La façon d'augmenter le volume logique est d'utiliser lvextend -L +100GB /dev/file-server-vg/root

Après cela, développez le système de fichiers avec resize2fs /dev/file-server-vg/root

Et vous avez terminé. Vous pouvez faire lvdisplay pour vérifier que le /dev/file-server-vg/root le volume est passé à 253,26 Gio

  --- Logical volume ---
  LV Path                /dev/file-server-vg/root
  LV Name                root
  VG Name                file-server-vg
  LV UUID                l6qvYZ-AmYw-tdgi-2jUu-XNB2-gecQ-6fDPt8
  LV Write Access        read/write
  LV Creation host, time file-server, 2014-07-10 14:54:58 +1000
  LV Status              available
  # open                 1
  LV Size                253.26 GiB
  Current LE             64834
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

  --- Logical volume ---
  LV Path                /dev/file-server-vg/swap_1
  LV Name                swap_1
  VG Name                file-server-vg
  LV UUID                OohMkN-rGLa-fM4M-6he2-MbM9-BBc3-Ck2Hs5
  LV Write Access        read/write
  LV Creation host, time file-server, 2014-07-10 14:54:58 +1000
  LV Status              available
  # open                 2
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:1

Ubuntu
  1. Comment activer un volume physique LVM "SUSPENDU"

  2. CentOS / RHEL :Comment trouver les volumes logiques (LV) contenus dans le volume physique (PV) dans LVM

  3. Configuration LVM :opérations/utilitaires de volume logique (LV)

  4. Configuration LVM :Opérations/Utilitaires de Volume Physique (PV)

  5. Utilisation des instantanés LVM pour les clones de machines virtuelles KVM

Utilisation de LVM pour gérer les volumes physiques, les groupes de volumes et les volumes logiques – RHCSA Objectif Préparation

Créer une sauvegarde des données stockées dans une machine virtuelle Linux

Sauvegarde et restauration d'instantanés LVM sous Linux

La gestion des volumes logiques expliquée sous Linux

Guide du débutant sur LVM (gestion des volumes logiques)

Comment réduire un volume LVM sur Ubuntu