Maintenant voir dans ce nouveau chapitre comment créer de nouveaux éléments et les modifier (voire les supprimer).
On a déjà vu comment interroger les différentes tables du système concernant les groupes de volumes, les volumes physiques et logiques. On peut maintenant voir dans ce nouveau chapitre comment créer de nouveaux éléments et les modifier (voire les supprimer). Les différentes opérations sont donc :
Après avoir effectué la configuration d’une machine à base de LVM, on devra alors créer de nouveaux volumes physiques pour pouvoir les ajouter soit au groupe de volumes existant, soit en créer de nouveaux.
ATTENTION : l’ajout de volumes physiques sur une VM, comme sur un serveur physique d’ailleurs, nécessite l’arrêt de la machine. Aussi, pour ajouter de nouveaux volumes il est conseillé de le prévoir lors de l’initialisation. Dans l’exemple suivant, on va ajouter deux disques supplémentaires : un de 20Gio et un de 25Gio.
Ainsi, lors du redémarrage suivant, on va pouvoir détecter les deux nouvelles partitions grâce à la commande fdisk –l :
Ce qui donne :

En toute logique le système a nommé les deux nouveaux disques /dev/sdb et /dev/sdc. On va pouvoir les intégrer au LVM, en commençant par le niveau voue physique :
On peut alors initialiser le groupe de volumes vg01 :
REMARQUE : il aurait fallu pour bien faire créer une partition /dev/sdb1 et /dev/sdc1. Mais, pour l’exercice je préfère utiliser directement les disques ajoutés.
On peut alors vérifier les dernières modifications du LVM :
Sur le volume vg01, on va également pouvoir créer le volume logique /soft :
Si l’on exécute la commande lvs on verra alors le nouveau volume logique lv-soft apparaître en fin de liste et associé à vg01. Pour ce dernier, on va créer également un point de montage /soft et un système de fichiers associé :
On peut alors assigner un label (une étiquette), à ce nouveau système de fichiers XFS en utilisant la commande d’administration xfs_admin :
On peut alors modifier le fichier /etc/fstab, pour y ajouter l’enregistrement du nouveau système de fichiers afin que celui-ci soit monté automatiquement lors des redémarrages du système d’exploitation :
Il ne reste plus alors qu’à monter le nouveau système de fichiers en exécutant la commande :
Pour des systèmes de fichiers autres que xfs, de type ext3 ou ext4, la création du système de fichiers utilisaient les commandes suivantes :
En fait, on découvrira très vite que xfs ajoute sa propre couche de commandes d’administration : xfs_admin, xfs_growfs (pour étendre des partitions...)
On peut alors intégrer le premier volume /dev/sdb dans le groupe vg00 déjà existant :
Cette commande ajoute le volume /dev/sdb au groupe de volumes vg00 et on va pouvoir utiliser l’espace disque proposé par le volume physique au groupe de volumes vg00.
Si l’on souhaite étendre la capacité disque de /home (c’est souvent le cas lorsque les utilisateurs se servent de leur répertoire d’accueil comme d’un cloud privé ou d’une baie de stockage), il faut alors étendre le volume logique.
On va donc commencer par modifier la table de partition (comme on l’avait conseillé au début de ce tutoriel), concernant le volume à étendre (ici, /dev/sdb) :
Il faut alors ajouter le label 8E (type LVM) au périphérique, et faire en sorte de créer la partition /dev/sdb1. Ensuite, il faut ajouter /dev/sdb1 en tant que volume physique au groupe de volumes vg00 :
On peut alors étendre le volume logique associé au montage /home en exécutant la commande suivante :
Comme le système de fichiers sous-jacent est de type xfs, on peut ensuite exécuter la commande ci-dessous de modification de la volumétrie allouée au système de fichiers :
Une simple vérification d’affichage des montages présents sur le système permet de s’assurer que la taille de /home est bien passée de 10Gio à 20Gio :
Ce qui est fait dans un sens peut aussi être fait dans l’autre, sans interruption de service : c’est-à-dire la réduction de volumes.
ATTENTION : si l’on réduit un volume, il est conseillé de bien calculer la taille de réduction pour ne pas dépasser l’espace autorisé. Sinon, on se verra dans l’obligation de revenir à l’état initial du LVM en utilisant la commande vgcfgrestore vue précédemment.
Pour des systèmes de fichiers de type ext3 ou ext4, les commandes utilisées sont les suivantes :
NOTE : Dans le cas où l’on créé un nouveau volume logique (au lieu d’en étendre un), on est de nouveau dans le cas de figure de la création d’objets, vu précédemment. Cela dépend du besoin applicatif et du contexte.
Maintenant, on peut aussi supprimer un groupe de volumes et ses composants, en partant du niveau système de fichiers, puis volumes logiques et en finissant par le ou les volumes physiques.
Ainsi, pour supprimer le montage /soft, et le groupe vg01, on procèdera de la façon suivante :
REMARQUE : on peut également en profiter pour supprimer l’enregistrement du fichier /etc/fstab que l’on aurait inséré précédemment. A noter également que dans le cas de machines virtuelles VMware, lorsque l’on ajoute des disques virtuels, ceux-ci peuvent être découverts automatiquement (sans avoir à redémarrer la machine), contrairement à VirtualBox.
Une commande très pratique est celle de pvmove. En effet, grâce à elle il devient possible de déplacer les segments physiques alloués d’un disque à un autre. Lorsque l’on dispose d’assez d’espace sur d’autres disques du même groupe de volumes, on peut alors exécuter la commande suivante :
On peut bien évidemment déplacer uniquement les extensions d’un volume logique particulier :
De même, si l’on souhaite déplacer les données d’un volume physique à un autre, on peut exécuter en mode arrière-plan la commande suivante :
ATTENTION : ce genre de commande peut prendre du temps selon la volumétrie déplacée. Si l’on souhaite visualiser la progression (sous forme de pourcentage), d’une telle commande, il faut utiliser l’option –i en mentionnant l’espace d’intervalle entre chaque prise de mesure :
Ceci peut être très pratique lorsque l’on souhaite changer un disque défectueux ou un volume particulier. Il suffit alors de s’appuyer sur les mécanismes du LVM pour déplacer les données du disque source vers le disque cible de remplacement.