Redimensionner disque lvm d'une VM
Sur une VM, si on redimensionne le disque virtuel et qu'on veut agrandir une partition LVM sur le disque
On demande au système de scanner les disques, pour qu'il prenne en compte l'agrandissement du disque dur:
rescan-scsi-bus.sh
Il faut d'abord agrandir la partition sur laquelle le PV est créé (ici sda2) :
cfdisk /dev/sda2
Dans cfdisk, il doit afficher l'espace libre en faire, ajouté sur le disque.
Ensuite sélectionner /dev/sda2 et redimensionner la partition
Enfin, ecrire les données et fermer cfdisk.
Via fdisk - l, on doit voir la partion sda2 agrandie.
Ensuite on agrandi le volume physique:
pveresize /dev/sda2
Ensuite on agrandit le volume logique, en ajoutant 10Giga
Pour voir le nom du LV, taper la commande lvs
lvresize -L +10G -r /dev/cl/root
Ou si on veut tout allouer l'espace du PV à notre LV:
lvresize -l +100%FREE /dev/cl/root
Il reste à redimensionner le système de fichier, pour que tout soit pris en compte:
resize2fs /chemin/disque/lvm # Dans le cas d'un système ext4
Agrandir le disque en recréant la table de partition
Il se peut qu'on ne puisse pas agrandir directement la partition contenant les données LVM: la partition étendue étant avant la LVM, et cfdisk ne peut pas agrandir le disque.
Dans ce cas, il faut utiliser fdisk, on va supprimer notre partition LVM et la recréer. L'idée étant de ne pas supprimer les donnée, mais de juste modifier la table de partition, il faudra que nos partitions commencent sur le même secteur et finissent sur un secteur plus loin. La partition sera la même e mais agrandie, donc nos données seront toujours présentes.
! Bien faire une backup au préalable, c'est toujours délicat de toucher aux tables de partitions
Configuration fdisk
Lancer fdisk sur le disque à modifier (ici /dev/sda):
fdisk /dev/sda
Détail des commandes fdisk (les détail de sont en commentaire):
Bienvenue dans fdisk (util-linux 2.38.1).
Les modifications resteront en mémoire jusqu'à écriture.
Soyez prudent avant d'utiliser la commande d'écriture.
Le disque est actuellement utilisé — le repartitionner est
probablement une mauvaise idée.
Il est recommandé de démonter tous les systèmes de fichiers et désactiver (avec
swapoff) toutes les partitions d'échange de ce disque.
Commande (m pour l'aide) : p # afficher les partitions et copier les valeurs dans un bloc-note
Disque /dev/sda : 40 GiB, 42949672960 octets, 83886080 secteurs
Modèle de disque : Virtual Disk
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x248fe134
Périphérique Amorçage Début Fin Secteurs Taille Id Type
/dev/sda1 * 2048 1953791 1951744 953M 83 Linux
/dev/sda2 1953792 2148351 194560 95M 83 Linux
/dev/sda3 2150398 41209855 39059458 18,6G 5 Étendue
/dev/sda5 2150400 41209855 39059456 18,6G 8e LVM Linux
La partition 3 ne commence pas sur une frontière de cylindre physique.
Commande (m pour l'aide) : d # Suppression partition
Numéro de partition (1-3,5, 5 par défaut) : 3 # la n°3 (/dev/sda3)
La partition 3 a été supprimée.
Commande (m pour l'aide) : n # Créer un nouvelle partition
Type de partition
p primaire (2 primaire, 0 étendue, 2 libre)
e étendue (conteneur pour partitions logiques)
Sélectionnez (p par défaut) : e # Créer un nouvelle partition de type étendue
Numéro de partition (3,4, 3 par défaut) : 3
Premier secteur (2148352-83886079, 2148352 par défaut) : 2150398 # La nouvelle partition commence exactement au même endroit que celle qu'on vient de supprimer
Dernier secteur, +/-secteurs ou +/-taille{K,M,G,T,P} (2150398-83886079, 83886079 par défaut) : # on laisse par défaut, ce qui correspond à la fin du disque.
Commande (m pour l'aide) : p # On réaffiche la table de partition
Disque /dev/sda : 40 GiB, 42949672960 octets, 83886080 secteurs
Modèle de disque : Virtual Disk
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x248fe134
Périphérique Amorçage Début Fin Secteurs Taille Id Type
/dev/sda1 * 2048 1953791 1951744 953M 83 Linux
/dev/sda2 1953792 2148351 194560 95M 83 Linux
/dev/sda3 2150398 83886079 81735682 39G 5 Étendue
La partition 3 ne commence pas sur une frontière de cylindre physique.
Commande (m pour l'aide) : n # on créé une nouvelle partition n°5
Tout l’espace des partitions primaires est utilisé.
Ajout de la partition logique 5
Premier secteur (2152446-83886079, 2152448 par défaut) :
Dernier secteur, +/-secteurs ou +/-taille{K,M,G,T,P} (2152448-83886079, 83886079 par défaut) :
Une nouvelle partition 5 de type « Linux » et de taille 39 GiB a été créée.
La partition #5 contient une signature ext4.
Voulez-vous supprimer la signature ? [O]ui/[N]on : o # Suppression signature
La signature sera supprimée par une commande d'écriture.
Commande (m pour l'aide) : x # passage en mode "avancé" de fdisk
Commande pour spécialistes (m pour l'aide) : b # on souhaite déplacer le début des données dans une partition
Numéro de partition (1-3,5, 5 par défaut) : 5 # pour la n°5
Nouveau début de données (2150399-83886079, 2152448 par défaut) : 2150400 # Début qu'on repositionne exactement au même endroit que l'initiale.
Commande pour spécialistes (m pour l'aide) : r # il reste juste à modifier le type, retour en mode normal.
Commande (m pour l'aide) : t # modifier le type d'une partition
Numéro de partition (1-3,5, 5 par défaut) : 5 # la n°5
Code Hexa ou synonyme (taper L pour afficher tous les codes) :L # on liste les types existan
...
lvm - 8E
linuxex - 85
...
Code Hexa ou synonyme (taper L pour afficher tous les codes) :8E # on veut une partition LVM linux comme initialement.
Type de partition « Linux » modifié en « Linux LVM ».
Commande (m pour l'aide) : p # On affiche l'état de nos partitions
Disque /dev/sda : 40 GiB, 42949672960 octets, 83886080 secteurs
Modèle de disque : Virtual Disk
Unités : secteur de 1 × 512 = 512 octets
Taille de secteur (logique / physique) : 512 octets / 4096 octets
taille d'E/S (minimale / optimale) : 4096 octets / 4096 octets
Type d'étiquette de disque : dos
Identifiant de disque : 0x248fe134
Périphérique Amorçage Début Fin Secteurs Taille Id Type
/dev/sda1 * 2048 1953791 1951744 953M 83 Linux
/dev/sda2 1953792 2148351 194560 95M 83 Linux
/dev/sda3 2150398 83886079 81735682 39G 5 Étendue
/dev/sda5 2150400 83886079 81735680 39G 8e LVM Linux
Commande (m pour l'aide) : w # Tout est bon On écrit les modifications sur le disque
La table de partitions a été altérée.
Impossible de mettre à jour les informations du système à propos de la partition 3: Périphérique ou ressource occupé
Le noyau continue à utiliser les anciennes partitions. La nouvelle table sera utilisée lors du prochain démarrage.
Synchronisation des disques.
Il reste à redémarrer le système pour que ça soit pris en compte
reboot
Prise en compte dans LVM
Enfin, comme précédemment il faudra agrandir la partition LVM avec pvs et lvresize
pvresize /dev/sda5
lvextend -l +100%FREE /chemin/disque/lvm
File system
Il va rester à redimensionner le système de fichier posé sur la partition pour que lui aussi occupe tout l’espace :
resize2fs /chemin/disque/lvm
Liens
→ Augmenter la tailler d'un disque LVM (pour l'agrandissement avec fdisk)