Вы находитесь на странице: 1из 31

Pr. K.

ZINEDINE
PLAN PLAN
. Initiation LVM I. Initiation LVM
II. Prparation du systme
III. Volume physique (PV)
IV. Groupe de Volumes (GV)
V. Volume Logique (LV) V. Volume Logique (LV)
VI. Agrandissement et rduction
VII. Dplacement et Suppression
VIII. Travaux Pratiques
Le Logical Volume Manager est un systme de gestion trs perfectionn
des supports de stockage. Le but est de dpasser la gestion physique
des disques, et leur organisation logique basique (les partitions) pour
tendre la capacit globale des supports, laide dune gestion
entirement logique de celle-ci.
Un LVM permet, tout comme le RAID 0 par exemple, de crer des
espaces de donnes logiques sur plusieurs disques. Il permet aussi de
faire du mirroring, comme le RAID 1
Initiation LVM
faire du mirroring, comme le RAID 1
Le LVM regroupe les disques physiques, ou tout autre support de
stockage dit physique (disque ) quil appelle des volumes physiques
PV (Physical Volume) en un groupe de volumes VG (Volume Group).
Le groupe VG est vu par le LVM comme une sorte de mtadisque, dans
lequel vous allez crer des volumes logiques LV (Logical Volume)
volont.
Volume physique PV : un support de stockage de donnes dit
physique : disque dur par exemple
Groupe de volumes VG : un regroupement logique de 1 n PG
Volume logique LV : un dcoupage logique au sein dun VG.
Un volume logique est vu comme une partition, et est utilisable comme telle. Il peut
contenir des donnes, il suffit de crer un systme de fichiers ordinaire (ext3 par
exemple) et de le monter de manire tout fait classique
Initiation LVM
Volumes Physiques PV Volumes Physiques PV
Groupe de Volumes VG
Volumes Logiques LV
Systme de Fichiers
Le LVM est dynamique: Il est possible dajouter et de supprimer des
volumes physiques dun groupe de volumes.
En ajoutant des volumes physiques, la capacit, et donc lespace
disponible du groupe augmente. Le nouvel espace disponible peut
permettre de crer des nouveaux volumes logiques, mais aussi
dagrandir un volume logique existant.
Initiation LVM
Un volume logique est dynamique : il peut tre agrandi ou rduit
volont, ce qui implique quil faut aussi pouvoir agrandir un systme de
fichiers, ou le rduire.
Prparation du systme
L'installation requiert simplement un paquet, les outils LVM (version 2).
Il permettra d'obtenir l'ensemble des commandes pour manipuler le
LVM.
Sous Mandriva: urpmi lvm2
La configuration du LVM est situe dans les fichiers et rpertoires
prsents dans /etc/lvm. prsents dans /etc/lvm.
Le fichier /etc/lvm/lvm.conf contient la configuration globale. La
configuration des diffrents volumes (physiques, groupes et logiques)
ne se trouve pas dans un fichier, mais dans une structure prsente au
sein des priphriques eux-mmes, dans les premiers blocs : ce sont
les mtadatas des volumes physiques.
Un volume physique peut tre un disque complet ou une partition
classique au sein dun disque. Dans ce cas, la partition doit tre de type
0x8e.
Voici le retour de la commande fdisk sur /dev/sdb. Distinguer les
partitions primaires 2 et 3 de type 8e qui vont servir pour les exemples
suivants
Exemple :
# fdisk -l /dev/sdb
Volume Physique PV
Exemple :
# fdisk -l /dev/sdb
Disque /dev/sdb: 160.0 Go, 160041885696 octets
255 heads, 63 sectors/track, 19457 cylinders
Units = cylindres of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000eab03
Priphrique Amorce Dbut Fin Blocs Id Systme
/dev/sdb1 2 16846 135307462+ 83 Linux
/dev/sdb2 16847 18152 10490445 8e Linux LVM
/dev/sdb3 18153 19457 1048241+ 8e Linux LVM
Cration de PV : pvcreate
Une fois les partitions cres, utiliser la commande pvcreate sur une
premire partition (plusieurs partitions peuvent tre prcises) :
# pvcreate /dev/sdb2
==> Physical volume "/dev/sdb2" successfully created
Voir les volumes physiques: pvdisplay
Volume Physique PV
Voir les volumes physiques: pvdisplay
La commande pvdisplay permet de visualiser lensemble des volumes
physiques accessibles sur votre systme. Elle peut prendre aussi un nom
de volume spcifique.
# pvdisplay /dev/sdb2
==> "/dev/sdb2" is a new physical volume of "10,00 GB"
--- NEW Physical volume ---
PV Name /dev/sdb2 VG Name
PV Size 10.00 GB Allocatable NO
PE Size (KByte) 0 Total PE 0
Free PE 0 Allocated PE 0
PV UUID KWfJuL-wBmv-ecD1-u1Wt-Ba3d-KK2b-iryDra
Pour le moment, les informations sont rduites. Le PV nappartient encore aucun
groupe de volumes (ligne VG Name). Sa taille est de 10 Go.
Les lignes les plus intressantes sont les lignes (pour linstant vides car le PV
nappartient pas un VG) o est indiqu PE.
PE signifie Physical Extend, extension physique. Chaque VG, et donc PV le
constituant, est dcoup en tranches appeles PE. Le PE est lunit de base de
travail du LVM.
Volume Physique PV
Si un PE fait 4 Mo, cela signifie que lespace pourra tre dcoup au sein du
groupe de volumes par tranches de 4 Mo. Lallocation se fait par PE : la cration
dun volume logique de 500 PE de 4 Mo fait donc 2000 Mo.
Les valeurs zro seront remplies ds que le PE sera dans un VG
Cration de VG :vgcreate
Pour crer un groupe de volumes on doit disposer dau moins un volume
physique.
On peut crer un groupe de volumes avec la commande vgcreate.
Un groupe de volumes porte un nom choisi. Cest le premier argument de la
commande. On passe ensuite comme argument la liste des volumes
physiques composant le groupe de volumes, ici un seul, /dev/sdb2.
Groupe de Volumes VG
physiques composant le groupe de volumes, ici un seul, /dev/sdb2.
# vgcreate vg01 /dev/sdb2
- Volume group "vg01" successfully
Proprits dun VG: vgdisplay
Le groupe de volumes a de nombreuses proprits. Il peut tre tudi avec la
commande vgdisplay
# vgdisplay vg01 ou #vgdisplay v vg01
--- Volume group ---
VG Name
System ID
Format
Metadata Areas
Metadata Sequence No
Groupe de Volumes VG
vg01
lvm2
1
1
Open LV
Max PV
Cur PV
Act PV
VG Size
0
0
1
1
10,00 GB
Metadata Sequence No
VG Access
VG Status
MAX LV
Cur LV
--- Physical volumes ---
PV Name
PV UUID
PV Status
Total PE / Free PE
1
read/write
resizable
0
0
/dev/sdb2
KWfJuL-wBmv-ecD1-u1Wt-Ba3d-KK2b-iryDra
allocatable
2561 / 2561
PE Size
Total PE
Alloc PE / Size
Free PE / Size
VG UUID
4,00 MB
2561
0 / 0
2561 / 10,00 GB
dZt8KP-xwol-5mb3-
NaVW-Wsui-3sQy-p8kvpG
Maintenant que le PV /dev/sdb2 fait partie dun VG, plus dinformations sont
disponibles :
# pvdisplay /dev/sdb2
--- Physical volume ---
PV Name
VG Name
PV Size
/dev/sdb2
vg01
10,00 GB / not usable 589,00 KB
Groupe de Volumes VG
PV Size
Allocatable
PE Size (KByte)
Total PE
Free PE
Allocated PE
PV UUID
10,00 GB / not usable 589,00 KB
yes
4096
2561
2561
0
KWfJuL-wBmv-ecD1-u1Wt-Ba3d-
KK2b-iryDra
Cration de LG :lvcreate
Un volume logique est un dcoupage dun VG (groupe de volumes) qui est
lquivalent dune partition dans laquelle vous pourrez crer un systme de
fichiers.
Un volume logique LV occupe un certain nombre de PE (extensions physiques)
dun VG, contigus ou non:
Volume Logique LV
oil est possible dagrandir un LV tant quil reste des PE de libres dans le VG.
oil est possible de rduire un LV, ce qui librera des PE dans le VG,
utilisables pour crer de nouveaux LV ou pour les agrandir.
Cration de LV :lvcreate
Un volume logique porte un nom, dispose dune taille exprime soit en
extensions logiques LE (Logical Extension) qui sont la reprsentation des PE au
sein dun LV, soit en Ko, Mo, Go
La commande suivante cre un volume logique appel data01 au sein du VG
vg01, dune taille de 6 Go. Le -L prcise que lunit est en Mo (m), Go (g), To
(Teraoctet, t), Po (Petaoctet), ou Eo (Exaoctet).
oPour prciser un nombre de PE, utilisez -l .
Volume Logique LV
oPour prciser un nombre de PE, utilisez -l .
# lvcreate -n data01 -L 6g vg01
==> Logical volume "data01" created
Un LV est vu comme une partition, et dispose aprs sa cration dun fichier
priphrique associ: /dev/<nom_du_vg>/<nom_du_lv>.
Noter quil sagit dun lien symbolique vers un fichier de /dev/mapper pour garder
une compatibilit avec les autres Unix.
# ls -l /dev/vg01/data01
lrwxrwxrwx 1 root root 23 sept. 13 09:27 /dev/vg01/data01 ->
/dev/mapper/vg01-data01
Proprits de LV :lvdisplay
# lvdisplay /dev/vg01/data01
--- Logical volume ---
LV Name /dev/vg01/data01
VG Name vg01
LV UUID 6ucPwc-sxMJ-K9P3-MkWR-t28I-NyRM-ZKkTmm
LV Write Access read/write
LV Status available
# open 0
LV Size 6,00 GB
Volume Logique LV
LV Size 6,00 GB
Current LE 1536
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
On peut passer les paramtres -v et -m. Dans ce dernier cas, lvdisplay affiche
aussi les segments quoccupe le volume logique au sein des divers volumes
physiques, donc la rpartition des extensions physiques occupes par le volume
logique au sein de chaque volume physique.
# lvdisplay -m /dev/vg01/data01
On peut crer un systme de fichiers et monter le LV comme pour nimporte quelle
partition :
Exemple: # mkfs -t ext3 /dev/vg01/data01
Il ne reste plus qu monter le nouveau systme de fichiers.
# mount -t ext3 /dev/vg01/data01 /mnt/data01
Accs au volume logique
# mount -t ext3 /dev/vg01/data01 /mnt/data01
# df /mnt/data01
Sys. fich. 1K-blocs Occup Disponible Capacit Mont sur
/dev/mapper/vg01-data01 6192704 143488 5734644 3% /mnt/data01
Groupe de Volumes:
Pour le moment, tout reste assez classique. La force du LVM est son dynamisme.
Ltape suivante consiste lexploiter.
Crer un nouveau LV de 6 Go appel data02 au sein du VG vg01. Voici ltat
actuel de vg01 : # vgdisplay vg01
==> Free PE / Size 1025 / 4,00 GB
Il ny a plus assez de place. Seuls 4 Go (1025 PE) sont disponibles. Il faut rajouter
au sein de ce VG un nouveau volume physique. Ceci se fait avec la commande
Agrandissement et rduction
au sein de ce VG un nouveau volume physique. Ceci se fait avec la commande
vgextend qui fonctionne de la mme manire que vgcreate :
Indiquez le nom du VG suivi du ou des PV rajouter:
# pvcreate /dev/sdb3
Physical volume "/dev/sdb3" successfully created
# vgextend vg01 /dev/sdb3
Volume group "vg01" successfully extended
Nouvel tat de vg01:#vgdisplay vg01
==> Free PE / Size 3584 / 14,00 GB
# lvcreate -n data02 -L 6g vg01
==> Logical volume "data02" created
Quand on cre un LV, le LVM cherche optimiser lutilisation des PE de manire ce
quils soient les plus contigus possibles et si possible sur un mme PV. Ceci se voit
avec la commande lvdisplay et le paramtre -m, sur les lignes Segments et la liste
des segments proposs (Segments 1)
Les commandes suivantes crent le systme de fichiers et montent celui-ci :
# mkfs -t ext3 /dev/vg01/data02
Agrandissement et rduction
# mkfs -t ext3 /dev/vg01/data02
# mount -t ext3 /dev/vg01/data02 /mnt/data02
Il se trouve que le LV data01 de 6 Go est trop petit. Il doit en faire le double. Il faut
lui ajouter 6 Go, ce qui est possible car il reste 8 Go (2048 PE) dans le groupe de
volumes vg01 :
# vgdisplay vg01|grep Free
Free PE / Size 2048 / 8,00 GB
Lagrandissement dun volume logique se fait dans cet ordre :
Agrandissement du LV avec la commande lvextend
Agrandissement du systme de fichier avec resize2fs (ext3)
Agrandissement de VL
Agrandissement du systme de fichier avec resize2fs (ext3)
La commande lvextend autorise les paramtres -l (nombre dextensions logiques
LE) ou -L comme pour lvcreate. On prcise ensuite la nouvelle taille du LV ou, si
vous rajoutez un + en prfixe, la taille additionnelle souhaite.
On peut aussi prciser, en dernier argument, le nom du PV sur lequel forcer
lextension du LV (cest aussi possible avec lvcreate). Ca ne marchera que si le ou
les PV prciss disposent dassez de PE.
La commande suivante rajoute 1536 LE (4x1536=6144 Mo soit 6 Go) dans data01:
# lvextend -l +1536 /dev/vg01/data01
Extending logical volume data01 to 12,00 GB
Logical volume data01 successfully resized
Regardez maintenant sur quels PV les donnes sont situes :
# lvdisplay -m /dev/vg01/data01
--- Logical volume ---
LV Name
VG Name
LV UUID
/dev/vg01/data01
vg01
6ucPwc-sxMJ-K9P3-MkWR-t28I-NyRM-ZKkTmm
Agrandissement de VL
Le volume logique data01 occupe bien 12 Go, sur deux segments de PE, ces
segments tant sur les PV /dev/sdb2 et /dev/sdb3. Le LVM a donc attribu un
espace sur lensemble des PV du VG.
VG Name
LV UUID
LV Write Access
LV Status
# open
LV Size
Current LE
Segments
Allocation
Read ahead sectors
- currently set to
Block device
vg01
6ucPwc-sxMJ-K9P3-MkWR-t28I-NyRM-ZKkTmm
read/write
available
1
12,00 GB
3072
2
inherit
auto
256
253:0
--- Segments ---
Logical extent 0 to 2560:
Type linear
Physical volume /dev/sdb2
Physical extents 0 to 2560
Logical extent 2561 to 3071:
Type linear
Physical volume /dev/sdb3
Physical extents 1536 to 2046
Extension du systme de fichiers
Seul le volume logique a t agrandi. Pour le moment, la taille du systme de
fichiers contenu dans data01 na pas chang :
# df -h /mnt/data01
Sys. de fich. Tail. Occ. Disp. %Occ . Mont sur
/dev/mapper/vg01-data01 6,0G 141M 5,5G 3% /mnt/data01
La commande resize2fs permet de rduire et dagrandir un systme de fichiers. Le
premier argument est le systme de fichiers, le second la taille, avec un ventuel
Agrandissement de VL
premier argument est le systme de fichiers, le second la taille, avec un ventuel
suffixe K (Ko), M (Mo), ou G (Go). Sans suffixe, cest le nombre de blocs du
systme de fichiers qui est indiqu. Si la taille est absente, le systme de fichiers
sera adapt la taille de la partition ou du LV.
La commande resize2fs peut tre utilise chaud. i.e. systme de fichiers mont,
pour les agrandissements. Il faudra par contre dmonter le systme de fichiers
pour le rduire.
Extension du systme de fichiers
# resize2fs /dev/vg01/data01
resize2fs 1.40.8 (13-Mar-2008)
Filesystem at /dev/vg01/data01 is mounted on /mnt/data01; on-line
resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/vg01/data01 to 3145728 (4k) blocks.
Le systme de fichiers /dev/vg01/data01 a maintenant une taille
de 3145728 blocs.
Agrandissement de VL
Regarder ltat du systme de fichiers, il occupe maintenant 12 Go :
# df -h /mnt/data01
Sys. de fich. Tail. Occ. Disp. %Occ. Mont sur
/dev/mapper/vg01-data01 12G 144M 12G 2% /mnt/data01
Puissance du LVM :
rajout de volumes physiques
agrandissement de volumes logiques la vole, de manire dynamique. Il ny
a plus de place ? Ce nest pas grave : il suffit de rajouter un nouveau disque,
le transformer en PV, lajouter dans le VG, et redimensionner le LV qui
manque de place, sans avoir repartitionner, recrer de systme de fichiers,
faire des backups, etc.
Rajout dun PV et vg01 et agrandissement de Data01
Agrandissement de VL
Rajout dun PV et vg01 et agrandissement de Data01
Pour rduire la taille dun volume logique, on doit procder dans cet ordre :
Vrification du systme de fichiers rduire avec fsck.
Rduction du systme de fichiers contenu dans le volume logique avec
resize2fs.
Rduction du volume logique avec la commande lvreduce.
On va rduire le LV data01 4 Go. Cest uniquement possible si ses donnes
occupent moins de 4 Go.
Rduction de VL
occupent moins de 4 Go.
Dans un premier temps, vrifier la taille actuelle du systme de fichiers. Ici , il est
quasiment vide
:
# df -h /mnt/data01
Sys. de fich. Tail. Occ. Disp. %Occ. Mont sur
/dev/mapper/vg01-data01 12G 144M 12G 2% /mnt/data01
Le systme de fichiers ne peut tre rduit que sil nest pas mont dmontez-le :
# umount /mnt/data01
Vrifier le systme de fichiers :
# fsck -f /dev/vg01/data01
Redimensionner le systme de fichiers 4 Go :
# resize2fs /dev/vg01/data01 4G
Vrifier la nouvelle taille du systme de fichiers. 4096*1048576 font bien 4 Go.
# dumpe2fs -h /dev/vg01/data01 | grep ^Block
Rduction de VL
# dumpe2fs -h /dev/vg01/data01 | grep ^Block
Enfin, redimensionner le LV 4 Go. La syntaxe de lvreduce est la mme que
lvextend, sauf quil nest pas possible de prciser de PV.
Veiller ici ne pas se tromper : si on a mal rduit le systme de fichiers, on
risque de le dtruire. Rpondre y la question si on est certain.
# lvreduce -L 4G /dev/vg01/data01
Remonter le systme de fichiers :
# mount -t ext3 /dev/vg01/data01 /mnt/data01
# df -h /mnt/data01
Sys. de fich. Tail. Occ. Disp. %Occ. Mont sur
/dev/mapper/vg01-data01 4,0G 141M 3,7G 4% /mnt/data01
Il est courant en entreprise de dplacer un PV vers un autre. Il peut tre dans le
but de remplacer un disque contenant le PV par un autre (pour agrandir par
exemple). Dans ce cas, on peut dplacer le contenu dun PV vers un autre, voire
des PE dun LV vers un autre PV, ou encore certains PE prcis. Sans rien prciser
comme destination, le LVM va dplacer tous les PE du PV dans les autres PV du
groupe de volumes.
Attention : les volumes physiques doivent tre dans le mme groupe de volumes.
La commande pvmove permet de dplacer les PE dun PV vers un autre.
Dplacement du contenu du PV
La commande pvmove permet de dplacer les PE dun PV vers un autre.
Il sagit ici pour vous de dplacer le contenu du PV /dev/sdb3 vers /dev/sdb2.
/dev/sdb3 contient 1536 PE dutiliss. Il contient tous les LE du LV data02.
# pvdisplay [-v] /dev/sdb2
--- Physical volume ---
PV Name
VG Name
PV Size
Allocatable
PE Size (KByte)
Total PE
Free PE
Allocated PE
PV UUID
/dev/sdb2
vg01
10,00 GB / not usable 589,00 KB
yes
4096
2561
1537
1024
KWfJuL-wBmv-ecD1-u1Wt-Ba3d-KK2b-iryDra
La commande vgreduce permet de retirer un ou plusieurs PV dun groupe de
volumes. Pour cela, il faut tout dabord que les PV en question soient vides : leurs
PE doivent tre entirement libres. Cest le cas de /dev/sdb3 quon va retirer du VG
vg01 :
#vgreduce vg01 /dev/sdb3
Removed "/dev/sdb3" from volume group "vg01"@
Contrler que le VG ne contient plus ce PV :
# vgdisplay -v vg01 | grep -A 100 "Physical
Rduction dun GV
# vgdisplay -v vg01 | grep -A 100 "Physical
Using volume group(s) on command line
Finding volume group "vg01"
--- Physical volumes ---
PV Name /dev/sdb2
PV UUID KWfJuL-wBmv-ecD1-u1Wt-Ba3d-KK2b-iryDra
PV Status allocatable
Total PE / Free PE 2561 / 1
tapes
Pour supprimer un groupe de volumes, vous devez suivre les tapes suivantes :
Dmonter tous les systmes de fichiers des LV associs.
Supprimer tous les volumes logiques avec lvremove.
Retirer tous les volumes physiques du VG avec lvreduce.
Dtruire le VG avec vgremove.
Suppression dun GV
On va dtruire le groupe de volumes vg01
Supprimer un volume logique
Dmontez data01 et data02 :
# umount /data01
# umount /data02
Supprimez les volumes logiques avec lvremove :
# lvremove /dev/vg01/data01 /dev/vg01/data02
Retirer tous les volumes physiques
Utilisez la commande vgreduce avec le paramtre -a pour ALL :
# vgreduce -a vg01
Cant remove final physical volume "/dev/sdb2" from volume group "vg01"
Remarquez que la commande vgreduce laisse toujours au minimum un PV
dans le VG, car il faut au moins un PV pour constituer un VG.
Dtruire un groupe de volumes
Suppression dun GV
Dtruire un groupe de volumes
Utilisez la commande vgremove pour dtruire un groupe de volumes :
# vgremove vg01
Volume group "vg01" successfully removed
Vrifiez que les fichiers et rpertoires associs ont disparu :
# ls /dev/vg01
ls: ne peut accder /dev/vg01: Aucun fichier ou dossier de ce type
Enfin, la commande vgdisplay ne retourne plus rien :
# vgdisplay
Supprimer un volume physique
Les deux volumes physiques peuvent maintenant tre dtruits puisquils ne
sont plus utiliss.
On peut dtruire les informations contenues dans le volume avec la
commande pvremove. Cependant, si on dtruit la partition via fdisk ou quon
a cr un systme de fichiers dessus, leffet est le mme.
Suppression dun GV
pvchange : modifie ltat dun volume physique, par exemple pour interdire
lallocation dextensions physiques sur ce volume.
pvresize : redimensionne un volume physique si sa partition ou disque
dorigine a t agrandie ou rduite.
pvscan : recherche tous les volumes physiques prsents sur tous les
supports de stockage du systme.
vgchange : modifie les attributs dun groupe de volumes, pour lactiver ou
Commandes supplmentaires
vgchange : modifie les attributs dun groupe de volumes, pour lactiver ou
le dsactiver par exemple, mais aussi pour modifier les valeurs maximales
de PV et de PE, ou pour interdire son agrandissement ou sa rduction.
vgscan : recherche tous les groupes de volumes sur tous les supports
vgrename : renomme un groupe de volumes.
vgmerge : regroupe deux groupes de volumes en un seul.
lvresize : redimensionne un volume logique, quivaut tant lvextend qu
lvreduce.
lvchange : modifie les attributs dun volume logique
lvrename : renomme un volume logique.

Вам также может понравиться