La méthode de PV sur partition est utilisée à chaque fois pour les volumes du système d'exploitation notamment parce qu'il y a souvent au moins une partition primaire simple dédié à /boot
et parfois une pour le Swap si elle n'est pas dans le LVM.
Pour augmenter un LVM avec PV sur partition on dispose de deux méthodes qui sont utilisables ou pas à chaud en fonction de partprobe. Cf. description dans generalites_lvm.
Nous détaillons ici la méthode où on créé une partition de type LVM sur l'espace libre ainsi qu'un PV et on étend le groupe de volume à ce nouveau PV.
Situation initiale.
Augmenter la taille avec l’outil de gestion des disques du SAN.
Se rendre sur le système Linux et soit rebooter soit rescanner à chaud le bus SCSI correspondant au disque pour que le système prenne en compte la modification de taille qui a été réalisée sur l’outil de gestion du SAN (Cf. operations_volumes_scsi).
Ajout d'une nouvelle partition LVM.
fdisk /dev/sdb n pour ajouter une partition. p pour partition primaire. 2 numéro de la partition (il y a déjà une partition numéro 1). Secteur de début par defaut (taper entrée). Secteur de fin par défaut (taper entrée). Ainsi on utilise la totalité du disque virtuel. p pour afficher la table de partition (ici on voit la partition que l'on a créé avec l'existante). Par défaut la partition est créée avec un type Linux ext3 (numéro 83) mais ici nous voulons utiliser les LVM. Nous allons donc changer le tag de la partition. t pour type de partition. 2 pour sélectionner la seconde partition présente (il y a déjà une partition numéro 1). L pour afficher la liste. Entrer le numéro : 8e pour Linux LVM. Vérifier avec un p. w pour exécuter la création de la partition.
Il faut obligatoirement rebooter (sauf si partprobe fonctionne pour vous) pour réinitialiser la table de partition sinon le noyau utilise toujours l'ancienne table de partition et on ne peut utiliser la nouvelle partition créée.
Nous devons ensuite l'initialiser pour pouvoir le prendre en compte en LVM.
pvcreate /dev/sdb2
Pour vérifier.
pvs pvscan pvdisplay /dev/sdb2
Nous devons ensuite ajouter l'espace nouvellement défini (partition LVM numéro 2) au groupe de volume initial.
vgextend datavg /dev/sdb2
La commande inverse.
vgreduce datavg /dev/sdb2
Pour vérifier.
pvdisplay /dev/sdb2 vgdisplay -v datavg -D (-D pour voir les volumes non-actifs) vgs
Vérifier la totalité des VG et voir les deux PV assignés au VG.
vgdisplay -v
Nous avons pris l'espace en considération dans le VG, il nous faut maintenant augmenter la taille du volume logique (ici de 3 Go).
Prendre la valeur Free PE de la commande vgdisplay, ce sont les Physical Extent de libre. Avec cette valeur, on remplira tout l’espace du volume sans en perdre.
lvextend -l +NOMBRE_PE cheminlv devicepv
lvextend -L +700 /dev/datavg/datalv /dev/sdb2 ou lvextend -L +3G /dev/datavg/datalv /dev/sdb2
La commande inverse pour information.
lvreduce -l 700 /dev/datavg/datalv
Enfin, nous devons agrandir le système de fichiers afin de pouvoir accéder à un plus grand espace de stockage.
Faire une vérification du système de fichiers uniquement si on peut démonter le volume car cette opération se fait à froid.
e2fsck -f /dev/datavg/datalv
Lancer l’opération d’extension du système de fichiers (fonctionne avec ext3 ou ext4 sans problème).
resize2fs /dev/datavg/datalv
Par défaut, l’augmentation va jusqu'au bout de la partition.
Les mêmes opérations précédentes en une seule commande. L'augmentation du lv et du file system en même temps pour attribuer 50% de l'espace libre disponible.
lvextend -r -l +50%FREE /dev/datavg/datalv lvresize -r -l +50%FREE /dev/datavg/datalv lvdisplay lvs
Remonter le volume si il a été démonté.
mount /dev/datavg/datalv /data ou mount -a #pour monter ce qui n'est pas monté dans /etc/fstab
La partition est de nouveau opérationnelle.
L’opération est terminée.