LVM

De SLM - MediaWiki
Révision datée du 29 mars 2020 à 10:23 par Admin (discussion | contributions) (Created page with "La gestion par volumes logiques (en anglais, LVM) est une méthode et un logiciel de gestion de l'utilisation des espaces de stockage, l'avantage de LVM est qu'il permet de s...")
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

La gestion par volumes logiques (en anglais, LVM) est une méthode et un logiciel de gestion de l'utilisation des espaces de stockage, l'avantage de LVM est qu'il permet de sécuriser et optimiser les espaces de stockage avec souplesse, LVM facilite la modification de la taille des volumes logiques (augmentation ou diminution) sans perte de données.

L'outil graphique "system-config-lvm" peut être utilisé pour redimensionner (réduire ou étendre) des partitions LVM.

Si l'outil graphique plante au démarrage, "éjecter" le disque, ouvrir de nouveau l'outil et ré-insérer le disque (dans le cas d'une utilisation avec une VM), aller dans le menu de "system-config-lvm" et cliquer sur rafraichir.

LVM est très souple en ce qui concerne l'agrandissement des partitions, de façon générale, pour étendre n'importe quel partition, il faut créer une nouvelle partition de la taille souhaité et disposant du même système de fichier que la partition cible, créer ensuite un volume physique contenant cette partition au sein de LVM et étendre le groupe de volume contenant la partition cible à la nouvelle partition, étendre le volume logique et en dernier étendre le système de fichiers.


Tutoriel d'agrandissement d'une partition à la taille maximale

Partition LVM de l'exemple : /dev/sda2

Nom du groupe de volumes LVM : issabel_issabel

Nom du volume logique : root

Système de fichier : EXT4

 fdisk -l
   Check if a LVM partition exist (Linux LVM), note the partition (/dev/sda2)
 file -s /dev/issabel_issabel/root
   Check and note the filesystem used by our source partition. Note: the filesystem of the partition we wish to extend SHOULD be the same than the new partition
 fdisk /dev/sda
   Note: Inputs to fdisk: n, p, 3, \n, \n, t, 3, 8e, w
 partprobe
   Note: To avoid reboot so that the new partition table is taken into account, partprobe can be used.
 fdisk -l
   Check if a new LVM partition was created (Linux LVM), note the device id (/dev/sda3)
 mkfs.ext4 /dev/sda3
   Make it a EXT4 filesystem
 pvcreate /dev/sda3
   Note: Create the LVM physical volume
 vgextend issabel_issabel /dev/sda3
   Note: Extend the group which contain already our target partition (here "issabel_issabel", check volume groups with "vgs") to our newly created physical volume
 lvextend -l +100%FREE /dev/issabel_issabel/root
   Note: Extend the LVM logical volume to take all spaces
 resize2fs /dev/issabel_issabel/root
   Note: Extend the filesystem

Exemple d'agrandissement d'une partition à la taille maximale avec filesystem XFS

 fdisk /dev/sda
   Note: Inputs to fdisk: n, p, 3, \n, \n, t, 3, 8e, w
   Note: This create a new LVM partition (n) which is of type primary (p) with assignated partition number (3) which use all remaining storage space of the device by following default fdisk options (\n, \n) then change system type (t) by selecting the partition number (3) to the LVM type (8e) and then write the edited partition table (w)
 partprobe
   Note: To avoid reboot so that the new partition table is taken into account, partprobe can be used.
 mkfs.xfs /dev/sda3
   Note: Make it a XFS filesystem
 pvcreate /dev/sda3
   Note: Create the LVM physical volume
 vgextend centos /dev/sda3
   Note: Extend the group which contain already our target partition (here "centos", check volume groups with "vgs") to our newly created physical volume
 lvextend -l +100%FREE /dev/centos/root
   Note: Extend the LVM logical volume to take all spaces
 xfs_growfs /dev/centos/root
   Note: Extend the XFS filesystem

Connaître le système de fichier utilisé par un volume logique LVM

 file -s /dev/VolGroup00/LogVol01

Supprimer un volume logique

 lvremove /dev/VolGroup00/LogVol01

Réduire un volume physique (PV)

 pvresize --setphysicalvolumesize 4G /dev/sda1

Déplacement automatique d'un volume logique (utile lors d'une réduction)

 pvs -v --segments /dev/sdc2
   note :  Informations à propos des segments et leurs positions
 pvmove --alloc anywhere /dev/sdc2:14776-14900
   note :  replace the last range numbers (segments) by numbers gathered from pvs command

Redimensionner une partition pour qu'elle prenne tout l'espace libre (fonctionne dans certain cas, voir l'exemple avec XFS en haut pour une méthode plus générique)

 pvresize /dev/sdc2
   Note : Redimensionne la taille du volume automatiquement (on peut aussi spécifier la taille souhaité via --setphysicalvolumesize 16G)
 lvextend -l 100%FREE /dev/VolGroup00/LogVol00
   Note : Redimensionne le volume logique automatiquement
 resize2fs /dev/VolGroup00/LogVol00
   Note : Redimensionne le système de fichiers automatiquement

Informations LVM

pvdisplay
  Note : Informations concernant les volumes physique
vgdisplay
  Note : Informations concernant les groupes
lvdisplay
  Note : Informations concernant les volumes logiques

Vérifications

 pvck -v /dev/sdc2
   Note : Vérifie les volumes physique
 e2fsck -f /dev/VolGroup00/LogVol00
   Note : Vérifie le système de fichiers

Nettoyer les erreurs de lectures (désactive/réactive les partitions et groupes, exemple avec deux volumes logique)

 vgscan
 lvchange -an VolGroup00/LogVol00
 lvchange -an VolGroup00/LogVol01
 vgchange -an VolGroup00
 vgscan
 vgchange -ay VolGroup00
 lvscan
 lvchange -ay VolGroup00/LogVol00
 lvchange -ay VolGroup00/LogVol01

Si une procédure échoue, essayer de démonter /dev/VolGroup00/LogVol00 et autres