LVM

De DokuWikiExperience.

LVM est un outil permettant de regrouper (entre autre) plusieurs partition de disque différents pour en former un seul.

Sommaire

La base

On commence donc pas l'installer

apt-get install lvm2

Jusqu'que là pas de problème particulier. Démarrer lvm si il n'est pas déjà démarrer :

/etc/init.d/lvm start

ensuite il faut identifier les partitions voulu attention en cas d'erreur toute les données sont définitivement perdu.

pvcreate /dev/sdXY

répeter la commande avec le nombre de partition désirée pour ma part :

pvcreate /dev/sda5
pvcreate /dev/sdd1

Voila nous venons de déclarer nos deux partition. Il faut maintenant en faire un "groupe de volume" La commande :

vgcreate

est là pour ça. Nous allons attribuer comme nom de ce groupe de volume "mvg" (My Volume Group)

vgcreate mvg /dev/sda5 /dev/sdd1 (on indique toute les partition faisant parti du volume)

si tout ce passe correctement vous pouvez voir votre nouveau groupe de volume :

vgdisplay

Nous voici donc maintenant avec un groupe de volume il nous reste à créer une sorte de partition d'espace à allouer.

Créons une partition de XGo

lvcreate -n lvm -L Xg mvg

Notre espace est maintenant prêt à être formaté en vue d'une utilisation !

mkfs -t ext3 /dev/mvg/lvm
mkdir mountpoint
mount /dev/mvg/lvm mountpoint

Plus loin avec LVM

Réduction d'un volume

Il faut faire l'exacte inverse de la création, nous allons donc réduire le FileSystem, et ensuite réduire le VG. Retirons 200G de notre volume reiserFS :

resize_reiserfs -s-200G /dev/mapper/mvg-lvm

Après avoir valider la BETA que le monde va mourir et que toute vos données sont perdu à jamais et que en faîte rien mais un temps infini pour vous. Bref tout va bien ;)

ensuite réduire le VG :

vgreduce mvg -a
Physical volume "/dev/sda5" still in use
Removed "/dev/sdb1" from volume group "mvg"

Sortir un disque du LVM

Un disque en prédictive failure ? besoin de plus de place ? un nouveau disque mais plus d'emplacement SATA de libre ? Il faut commencer par ne plus utiliser le Physical Volume (PV).

Pour connaître l'état d'utilisation taper :

vgs -a -o +devices
LV   VG   Attr   LSize   Origin Snap%  Move Log Copy%  Convert Devices     
lvm  mvg  -wi-ao 363,00G                                       /dev/sdb1(0)
lvm  mvg  -wi-ao 363,00G                                       /dev/sda5(0)

physiquement nous voyons les devices utiliser. Si vous avez suffisamment de place la commande est simple :

pvmove /dev/sdXY

ou /dev/sdXY est le disque dur physique à retirer. Si comme moi vous n'avez pas assez de place il faut en faire (facile! ou pas :p), seconde solution prendre un disque dur USB, l'ajouter dans le VG (vgextend mvg /dev/sdXY) bref suivre la section agrandissement d'un volume et ensuite on peux commencer.

Il faut dire à LVM que nous ne voulons plus utiliser le disque /dev/sdXY :

pvmove -v /dev/sdXY

ce qui donne :

Finding volume group "mvg"
Archiving volume group "mvg" metadata (seqno 4).
Creating logical volume pvmove0
Moving 16384 extents of logical volume mvg/lvm
Found volume group "mvg"
Updating volume group metadata
Creating volume group backup "/etc/lvm/backup/mvg" (seqno 5).
Found volume group "mvg"
Found volume group "mvg"
Suspending mvg-lvm (252:0) with device flush
Found volume group "mvg"
Creating mvg-pvmove0
Loading mvg-pvmove0 table
Resuming mvg-pvmove0 (252:1)
Found volume group "mvg"
Loading mvg-pvmove0 table
Suppressed mvg-pvmove0 identical table reload.
Loading mvg-lvm table
Resuming mvg-lvm (252:0)
Checking progress every 15 seconds
/dev/sdb1: Moved: 0,6%
/dev/sdb1: Moved: 1,1%
/dev/sdb1: Moved: 1,7%
...
/dev/sdb1: Moved: 99,7%
ABORTING: Can't find mirror LV in mvg for /dev/sdb1

ne pas tenir compte de l'erreur. Pour voir si c'est bon :

lvs -a -o +devices
LV   VG   Attr   LSize  Origin Snap%  Move Log Copy%  Convert Devices     
lvm  mvg  -wi-a- 64,00G                                       /dev/sda5(0)

Nous ne voyons plus l'utilisation de /dev/sdb1. Pour finir faire un

vgreduce mvg -a
Physical volume "/dev/sda5" still in use
Removed "/dev/sdb1" from volume group "mvg"

Nous pouvons voir que la réduction du VG est effective. Avant :

vgdisplay 

 --- Volume group ---
 VG Name               mvg
 System ID             
 Format                lvm2
 Metadata Areas        2
 Metadata Sequence No  7
 VG Access             read/write
 VG Status             resizable
 MAX LV                0
 Cur LV                1
 Open LV               0
 Max PV                0
 Cur PV                2
 Act PV                2
 VG Size               363,70 GB
 PE Size               4,00 MB
 Total PE              93106
 Alloc PE / Size       16384 / 64,00 GB
 Free  PE / Size       76722 / 299,70 GB
 VG UUID               LbDvy2-axho-uQan-OlTU-TgnJ-e07r-qjSPI3

Après :

vgdisplay 
 --- Volume group ---
 VG Name               mvg
 System ID             
 Format                lvm2
 Metadata Areas        1
 Metadata Sequence No  8
 VG Access             read/write
 VG Status             resizable
 MAX LV                0
 Cur LV                1
 Open LV               0
 Max PV                0
 Cur PV                1
 Act PV                1
 VG Size               173,78 GB
 PE Size               4,00 MB
 Total PE              44488
 Alloc PE / Size       16384 / 64,00 GB
 Free  PE / Size       28104 / 109,78 GB
 VG UUID               LbDvy2-axho-uQan-OlTU-TgnJ-e07r-qjSPI3
Outils personnels