LVM

De BlaxWiki
Aller à la navigationAller à la recherche

Le système de LVM insère des sous-couches entre la partition de disque et votre système de fichier (là où sont vos données). Ces sous-couches vont vous permettre de modifier dynamiquement la taille des systèmes de fichier, sans mettre en péril vos données. Ainsi vous pourrez ajouter, enlever de l'espace disque d'un filesystem à la volée, rajouter un système de fichier sans modification de la table des partitions. Cela ne pose pas de soucis d'avoir sur le meme disque ou grappe raid, X partitions en ext4 classique pour l'OS et une autre partition pour le VG du lvm

Partition(s) de disque
  |---> Physical volume
	|----> Volume Group
		|----> Logicals Volumes
			|----> système de fichiers


PV

Un volume physique ou « PV » pour « physical volume » est tout simplement un disque ou une partition. Il est conseillé de créer une seule partition sdX1 (primaire) utilisant tout le disque dur, sans la formater, plutot que de créer le PV sur sdX directement (ce qui est faisable mais peut poser des soucis). On peut très bien avoir plusieur sdaX pour plusieurs PV.

# pvcreate /dev/sdc1

# pvs (infos synthétique sur les pv)
  PV         VG        Fmt  Attr PSize   PFree
  /dev/drbd0 volimages lvm2 a--  100.00g  56.10g

# pvdisplay (info détaillé sur les pv)
 --- Physical volume ---
  PV Name               /dev/drbd0
  VG Name               volimages
  PV Size               100.00 GiB / not usable 3.34 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              25600
  Free PE               14361
  Allocated PE          11239
  PV UUID               DK4IWd-oZqp-HxUA-Jt7s-DaxU-ndpH-XAhgzT
  • Autres commandes
pvscan      : recherche les PV présents
lvmdiskscan : recherche des périphériques de blocs contenant des PV (on pourra y ajouter des PV)
pvdisplay   : idem lvmdiskscan
pvcreate    : cree un PV

VG

Un groupe de volumes ou « VG » pour « volume group » est un ensemble de PV. Il est déconseillé de faire un VG sur plusieurs disques dur. Si on créé un VG sans faire de PV, le PV va se creer automatiquement. Lorsque l'on créé les VG, le lien /dev/volxxx n existera pas tant qu on n a pas créé de LV dans le VG en question

# vgcreate $VolumeGroupName $PhysicalVolume
# vgcreate monvg /dev/sdc1

# vgs (infos synthétique sur les pv)
 VG        #PV #LV #SN Attr   VSize   VFree
  volimages   1  10   0 wz--nc 100.00g  56.10g

# vgdisplay (info détaillé sur les vg)
 --- Volume group ---
  VG Name               volimages
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  31
  VG Access             read/write
  VG Status             resizable
  Clustered             yes
  Shared                no
  MAX LV                0
  Cur LV                10
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               100.00 GiB
  PE Size               4.00 MiB
  Total PE              25600
  Alloc PE / Size       11239 / 43.90 GiB
  Free  PE / Size       14361 / 56.10 GiB
  VG UUID               jGxpYJ-Awyf-pDKd-3qNR-sDiZ-4HVA-Rd60Jg
  • Autres commandes
vgcreate   : Cree un VG en spécifiant 1 ou plusieurs PV. On peut indiquer la taille du PE.
vgchange   : Active/Désactive un VG ou tous les VG
vgdisplay  : Affiche la liste des VG et leurs caractéristiques. L’option -v permet de visualiser la liste des LV et des PV de chaque VG.
vgscan     : Recherche les VG
vgs 	   : Affiche les principales caractéristiques des VG
vgextend   : Agrandit un VG, on lui ajoute un ou plusieurs PV.
vgreduce   : Réduit un VG, en retirant un ou plusieurs PV.
vgremove   : Supprime un VG.

LV

# lvcreate -n $LVName -L $Taille $NomVG
# lvcreate -n Vol1 -L 10g myvg1

# lvs (infos synthétique sur les lv)
  LV                      VG        Attr      LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
  centos56_image_root     volimages -wi-a----  1.30g
  centos62_image_root     volimages -wi-a----  2.00g

# lvdisplay (info détaillé sur les lv)
  --- Logical volume ---
  LV Path                /dev/volimages/firewall_image_root
  LV Name                firewall_image_root
  VG Name                volimages
  LV UUID                iUQ4yx-gqpU-dgui-mtIJ-VK69-vkV0-5T6DJy
  LV Write Access        read/write
  LV Creation host, time node05.c01.cloud.agarik.com, 2013-04-18 12:15:15 +0200
  LV Status              available
  # open                 0
  LV Size                2.00 GiB
  Current LE             512
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2
....
  • Autres commandes
lvcreate   : Crée un LV en spécifiant la taille en Mo (M) ou en LE
lvscan 	   : Recherche les LV
lvs 	   : Affiches les caractéristiques d’un LV
lvdisplay  : Affiche les caractéristiques d’un LV
lvremove   : Supprime un LV
lvextend   : Agrandi un LV (il faut ensuite agrandir la taille du FS)
lvreduce   : Diminue la taille d’un LV (il faut d’abord diminuer la taille du FS)