Tout d'abord, l'installation de LVM se fait par la commande :

root@~> aptitude install lvm2

Ensuite, il faut comprendre comment fonctionne LVM.

LVM se base sur des volumes physiques (ou physical volumes) comme /dev/sda pour créer des volume groups, dans lesquels on créera nos logical volumes, tels que /home ou /var ou même /srv/toto.

Nous partirons du principe pour ce mémo que la partition de travail est /dev/sda3 d'une taille de 100Go, dans laquelle je créerai 3 volumes logiques que seront /home, /var/log et /srv

Tout d'abord, il faut initialiser notre phisical volume pour y travailler dessus :

root@~> pvcreate /dev/sda3

Une fois fait, je crée mon volume group. On pourrait en créer trois, mais l'intérêt ne nous oblige pas à cela. Nous lui donneront le nom de groupe1 :

root@~> vgcreate groupe1 /dev/sda3

Enfin, il nous faudra créer nos volumes logiques (dans l'ordre cité dans la description du but de ce tutoriel) :

root@~> lvcreate -n home --size 50g groupe1
root@~> lvcreate -n varlog --size 15g groupe1
root@~> lvcreate -n srv --size 15g groupe1

Vous remarquerez qu'il reste donc 20Go d'espace libre sur le volume physique, qui est alloué mais non utilisé. Nous utiliserons cet espace plus tard.

Enfin, il faut créer le filesystem (ext3 dans notre cas) sur ces trois volumes, grâce à la commande classique mkfs.ext3 :

root@~> mkfs.ext3 /dev/groupe1/home
root@~> mkfs.ext3 /dev/groupe1/varlog
root@~> mkfs.ext3 /dev/groupe1/srv

Voilà, il vous suffit d'utiliser vos volumes logiques comme des volumes physiques, en utilisant /dev/groupe1/xxx comme lien :

root@~> mount /dev/groupe1/home /home
root@~> mount /dev/groupe1/varlog /var/log
root@~> mount /dev/groupe1/srv /srv

Pour vérifier que tout est correct, on peut lister les volumes logiques existants avec la commande suivante :

root@~> lvdisplay

Il est également possible d'agrandir un volume logique. Même si (pour notre cas) ext3 est flexible et permet un redimensionnement d'un volume même monté, je vous conseille de le démonter.

Ensuite, on étendra l'espace alloué de la manière suivante :

root@~> lvextend -L+10g /dev/goupe1/home
root@~> e2fsck -f /dev/goupe1/home
root@~> resize2fs /dev/goupe1/home

Comme vous l'aurez compris, j'agrandis la taille de mon volume home de 10Go.

Une autre syntaxe (merci Billux) pour créer le dernier volume logique :

root@~> lvcreate -n toto -l 100%FREE

Si vous avez bien suivi les calculs, il s'agira donc d'un volume de 10Go.

Voilà, vous avez toutes les clés en main pour utiliser LVM !

A bientôt !