LVM
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