{{tag>sysadmin lvm lv}} ====== Extension d'un volume logique ====== On détaille ici les opérations à effectuer pour étendre un volume logique LVM. ===== Prérequis ===== Pour l'exercice on va créer un fichier périphérique de 20 Mo que l'on associera a un groupe de volume vgtest. On créera un volume logique databank puis un système de fichier que l'on remplira à 100%. La création d'un volume logique est détaillée dans le wiki # creation du fichier périphérique $ sudo dd if=/dev/zero of=/tmp/vdisk-1 bs=1M count=20 $ sudo losetup /dev/loop0 vdisk-1 # creation du volume logique $ sudo pvcreate /dev/loop0 $ sudo vgcreate --physicalextentsize 1M vgtest /dev/loop0 $ sudo lvcreate --extents 19 --name databank vgtest # creation et saturation du système de fichier $ sudo mkfs.ext4 /dev/vgtest/databank $ sudo mount /dev/vgtest/databank /mnt/ $ sudo dd if=/dev/zero of=/mnt/file.data bs=1M count=16 ===== Procédure ===== Ici notre système de fichier est plein comme l'indique le retour de la commande **df**: $ df -lh Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur /dev/sda1 9,3G 1,1G 7,8G 12% / ... /dev/mapper/vgtest-databank 18M 17M 0 100% /mnt Utilisation à 100% du système de fichier sur le périphérique /dev/mapper/vgtest-databank. Il va nous falloir agrandir notre système de fichier afin de continuer a l'utili Pour pouvoir agrandir le système de fichier contenu dans le volume logique databank il faut: * Ajouter un volume physique au groupe de volume vgtest * Étendre le volume logique databank ==== Ajout du volume physique ==== on utilise un fichier de 30 Mo monté via losetup: $ sudo dd if=/dev/zero of=/tmp/vdisk-2 bs=1M count=30 $ sudo losetup /dev/loop1 /tmp/vdisk-2 Création du descripteur de groupe de volume sur le périphérique de type bloc: $ sudo pvcreate /dev/loop1 Physical volume "/dev/loop1" successfully created La commande **pvscan** détecte à présent 2 PVs: $ sudo pvscan PV /dev/loop0 VG vgtest lvm2 [19,00 MiB / 0 free] PV /dev/loop1 lvm2 [30,00 MiB] Total: 2 [49,00 MiB] / in use: 1 [19,00 MiB] / in no VG: 1 [30,00 MiB] * Le périphérique de type bloc /dev/loop0 est utilisé par le groupe de volume vgtest * Le périphérique /dev/loop1 n'est associé à aucun groupe de volume pour l'instant. **vgdisplay** permet d'afficher les attributs des groupes de volumes existants: $ sudo vgdisplay vgtest --- Volume group --- VG Name vgtest System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 2 ... VG Size 19,00 MiB PE Size 1,00 MiB Total PE 19 Alloc PE / Size 19 / 19,00 MiB Free PE / Size 0 / 0 VG UUID TW5Miy-3QdA-3ve1-I4R5-50Hy-tfie-Cu7pf4 Ici vgtest a une taille totale de 19 Mo. Il se compose de 19 PE de 1 Mo tous utilisés. On associe le volume physique /dev/loop1 au groupe de volume vgtest: $ sudo vgextend vgtest /dev/loop1 Volume group "vgtest" successfully extended Un nouvel appel à vgdisplay permet de confirmer l'association du volume physique au groupe de volume vgtest et de noter la nouvelle taille ou le nombre de PE allouables: $ sudo vgdisplay vgtest --- Volume group --- VG Name vgtest ... VG Size 48,00 MiB PE Size 1,00 MiB Total PE 48 Alloc PE / Size 19 / 19,00 MiB Free PE / Size 29 / 29,00 MiB Ici 29 PE de 1Mo sont à présent disponibles. On affecte les PE disponibles au volume logique databank $ sudo lvextend --extents +29 /dev/vgtest/databank A présent il ne reste qu'a démonter et retailler le système de fichier pour qu'il s'adapte a la nouvelle taille du volume logique: $ sudo umount /dev/vgtest/databank $ sudo resize2fs /dev/vgtest/databank $ sudo mount /dev/vgtest/databank /mnt La commande **df** montre que le système de fichier a bien été agrandi: $ df -lh /dev/vgtest/databank Sys. de fichiers Taille Utilisé Dispo Uti% Monté sur /dev/mapper/vgtest-databank 46M 17M 27M 39% /mnt ===== Références ===== * http://tldp.org/HOWTO/LVM-HOWTO/extendlv.html