LVM
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