L'objectif de cette note est de présenter le redimensionnement d'un volume logique créé grâce au LVM (Logical Volume Manager). Ces opérations ont été réaliasées sur une distribution RedHat avec un noyau Linux 2.6.
Le but n'est pas ici de présenter le LVM, simplement d'avoir une note synthétique sur le redimensionnement. D'autres notes suivront probablement, sur la création d'un volume logique par exemple.
1 – Description
Le redimensionnement (agrandir et réduire) d'un volume logique se fait grâce à la commande lvresize, qui accepte deux types d'unités :
- les PE (Physical Extent) => option -l
- les unités classique (Mio, Gio, Tio, etc.) => option -L
La commande lvresize permet en outre 3 types d'opérations sur un volume logique :
- assigner une taille fixe
- agrandir d'une certaine taille => option +
- réduire d'une certaine taille => option -
Si l'on travaille avec les PE on peut également définir les tailles en pourcentage de la taille totale ou de l'espace libre.
2 – Déterminer l'espace du VG (Volume Group)
La première opération à réaliser lorsque l'on veut redimensionner un volume logique est de déterminer quelle est la taille restante sur le Volume Group (VG).
Pour cela, on utilise la commande vgdisplay, éventuellement suivie du nom du VG si on le connait :
$ vgdisplay --- Volume group --- VG Name rootvg System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 20 VG Access read/write VG Status resizable MAX LV 0 Cur LV 19 Open LV 18 Max PV 0 Cur PV 1 Act PV 1 VG Size 136.19 GB PE Size 32.00 MB Total PE 4358 Alloc PE / Size 1543 / 48.22 GB Free PE / Size 2815 / 87.97 GB VG UUID xxxxxx
On peut notamment consulter l'espace utilisé (Alloc PE / Size) ainsi que l'espace restant (Free PE / Size). Ces deux informations sont indiquées en PE puis en taille classique.
3 – Redimensionner le volume logique
Une fois cette information en tête on peut redimensionner selon la méthode souhaitée.
Par exemple, pour spécifier au volume logique lv_toto situé sur le VG rootvg une taille de 6 Gio :
$ lvresize -L 6G /dev/rootvg/lv_toto
Pour l'agrandir de 100 PE :
$ lvresize -l +100 /dev/rootvg/lv_toto
Pour le réduire de 10% de sa propre taille :
$ lvresize -l -10%LV /dev/rootvg/lv_toto
A noter : attention avec la réduction de taille d'un volume logique, il y a risque de destruction du système de fichier situé dessus si la taille indiqué est inférieure à la taille du système de fichiers.
Et voilà, le volume logique est maintenant redimensionné. On peut consulter sa nouvelle taille grâce à la commande lvdisplay suivie du chemin du volume logique :
$ lvdisplay /dev/rootvg/lv_toto --- Logical volume --- LV Name /dev/rootvg/lv_toto VG Name rootvg LV UUID xxxxx LV Write Access read/write LV Status available # open 1 LV Size 6.00 GB Current LE 192 Segments 2 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 253:2
4 – Redimensionner le système de fichiers
Une fois que le volume logique est redimensionné, on peut vouloir redimensionner un système de fichiers contenu à l'intérieur.
Pour les systèmes de fichiers ext2 & ext3 il y a l'outil resize2fs qui permet de redimensionner. Sur un noyau Linux 2.6 un système de fichiers ext3 peut d'ailleurs être redimensionné à chaud 🙂
Par exemple, pour un système de fichiers ext3 que l'on veut mettre à 6 Gio sur le volume logique lv_toto situé dans le groupe de volume rootvg :
$ resize2fs /dev/rootvg/lv_toto 6G
On peut constater la nouvelle taille grâce à un simple df :
$ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/rootvg-lv_toto 6092936 7653 5771162 1% /toto
Et voilà pour cette petite note sur le redimensionnement d'un volume logique.
Leave a Reply