Utiliser LVM (Logical Volume Manager)

Pour les étapes suivantes aidez vous du HOWTO sur LVM.

Mise en place de LVM

Construire les "Physical Volume"

Pour ce TP nous allons utiliser les trois partitions de 500 Mo du nouveau disque préparés à la séance précédente.

Créez trois "Physical Volume" associés à chaque partition (commande pvcreate). Vérifiez la création avec pvs et pvdisplay.

pvcreate fichier-special

Vérifiez le résultat avec la commande pvs.

Construire un "Volume Group"

Créez un Volume Group (avec vgcreate) basé sur le premier volume physique.

vgcreate MonVG fichier-special-du-premier-VP

Ajoutez lui un deuxième volume physique. Vérifiez la création avec vgs et vgdisplay.

vgextend MonVG fichier-special-du-deuxième-VP

Vous avez donc à l'issue de cette étape un PV libre de 500 Mo et un VG de 1 Go constitué de deux PV. Vérifiez le résultat avec la commande vgs.

Construire un "Logical Volume"

  • Créez deux volumes logiques (LV) (un de 300 Mo et un de 700 Mo) basés sur le VG précédent :
    lvcreate MonVG -L taille
    
  • Vérifiez le résultat avec la commande lvs. Des fichiers spéciaux sont créés dans /dev/MonVG/* pour formatter les LV et les utiliser comme disques.
  • Formattez ces LV en ext4
    mkfs.ext4 /dev/MonVG/*
    
  • Montez-les et copiez des fichiers à l'intérieur.
    mkdir -p /tmp/{disk0,disk1}
    mount /dev/MonVG/lvol0 /tmp/disk0
    mount /dev/MonVG/lvol1 /tmp/disk1
    
  • Vérifiez le résultat avec la commande df -h.

Modifier les volumes

Remplacer un PV par un autre

Nous allons maintenant remplacer un des deux premiers PV (qui sont dans le VG) par le troisième qui est, pour l'instant, inutilisé.

  • Commencez par ajouter le troisième PV au VG que nous utilisons. Vérifiez avec vgdisplay qu'il y a de la place libre dans le VG (le PV que nous venons d'ajouter qui est d'ailleure libre à vérifier avec pvs).
  • Videz le premier PV des données qui sont à l'intérieur avec la commande pvmove. Utilisez la commande pvs ou vgs pour vérifier le résultat.
  • Une fois ce premier PV vidé, vous pouvez le retirer du VG avec la commande vgreduce. Vérifiez que les deux systèmes de fichiers sont toujours valides. Vérifiez leur contenu.

Agrandir une partition

  • Faites en sorte que votre VG regroupe les trois PV.
  • Agrandissez ensuite l'un des LV (commande lvextend) en lui ajoutant les 500 Mo.
  • Prenez soin ensuite d'agrandir le système de fichiers de ce LV (avec la commande resize2fs). Vérifiez ensuite le contenu de ce système de fichiers (commandes df et ls).

Supprimer LVM

  • Commencez par démonter les LV utilisés :
    umount /tmp/{disk0,disk1}
    
  • Supprimez les LV avec lvremove. Vérifiez que le répertoire /dev/MonVG a disparu.
    lvremove /dev/MonVG/*
    
  • Enlevez deux des PV du VG (il doit en rester un) :
    vgreduce MonVG /dev/{sdb1,sdb2}
    
  • Supprimez le VG :
    vgremove MonVG
    
  • Supprimez les trois PV :
    pvremove /dev/{sdb1,sdb2,sdb3}