AirV's Blog

Just another blog

Logical Volume

From Doc-Ubuntu.fr :

Un volume physique ou « PV » pour « physical volume » est tout simplement un disque ou une partition. Bref, c’est un espace de stockage bien réel (autrement dit un périphérique de la forme /dev/sda2 par exemple), que l’on va confier à LVM. Bien évidemment, tout ce qui était présent sur la partition sera effacé.

Un groupe de volumes ou « VG » pour « volume group » est, comme son nom l’indique, un ensemble de volumes physiques. On a donc un ou plusieursvolumes physiques dans un groupe de volumes, et pour utiliser LVM, il faut obligatoirement au moins un groupe de volumes. Habituellement, sur les gros serveurs, on essaye de regrouper les disques en fonction de leur caractéristiques (capacités, performances, etc.). Pour un particulier, le fait de mettre plusieurs disques dans un même groupe de volume peut permettre « d’étaler » un système de fichiers sur plusieurs disques, et d’avoir donc /homepar exemple qui utiliserait 2 disques. Une telle configuration est tout de même assez dangereuse en cas de perte d’un disque… De plus, cela n’apporterait aucun gain de performance contrairement à du RAID-0 par exemple. 🙂

Un volume logique ou « LV » pour « logical volume » est ce que nous allons utiliser au final. Un volume logique est un espace « quelque part dans un groupe de volume » où l’on peut mettre un système de fichiers. C’est donc ce qui remplace les partitions. On peut donc utiliser un volume logique pour mettre la mémoire virtuelle, un pour /home, etc. Peut-on mettre / sur un volume logique ? Oui et non. Techniquement, oui, ça fonctionne maintenant à peu près correctement. Mais Grub peut se montrer capricieux dans certaines configurations. Donc, à moins d’utiliser Lilo, je vous conseille vivement d’éviter les ennuis inutiles pour commencer et de ne pas tenter tout de suite d’installer votre système avec un / sur un volume logique.

On peut voir les choses ainsi :

  • Lancer le service vm
/etc/ini.d/vm start
  • PViser les partitions
pvcreate /dev/sda6
pvcreate /dev/sdb1
  • Créer un VG (appelé pool0) avec ces partitions
vgcreate pool0 /dev/sda6 /dev/sdb1
  • Créer un LV de 300G appelé personnel sur ce VG (-n : nom / -L : taille)
lvcreate -L 300G -n personnel pool0
  • Formater ce LV (/dev/LG/VL)
mke2fs -j -m1 /dev/pool0/personnel
  • Monter la partition

mount /dev/pool0/personnel /disk/mirgel/personnel

  • Redimensionnement LG

pvcreate /dev/sdc2

vgextend pool0 /dev/sdc2

  • Redimensionnement LV ex pour /dev/mapper/pool0-logiciels
umount /disk/mirgel/personnel
e2fsck -f /dev/pool0/personnel (vérification du volume)
lvextend -L +10G /dev/mapper/personnel (lvresize)
resize2fs /dev/pool0/personnel
mount /dev/pool0/personnel /disk/mirgel/personnel
  • Suppression

umount /disk/mirgel/personnel

lvremove /dev/pool0/personnel

  • Affichage

pvdisplay

vgdisplay pool

lvdisplay