LVM (Logical Volume Manager) est un système qui permet de créer des volumes logiques et qui permet de gérer plusieurs systèmes de fichiers sur un ou plusieurs disques.
En effet, grâce au LVM, vous serez en mesure de gérer dynamiquement un système de fichiers résidant sur un ou plusieurs disques durs physiques. Un peu comme le RAID logiciel.
En utilisant le LVM, vous pourriez par exemple stocker les données des utilisateurs sur un disque dur et stocker le reste sur l'autre disque dur.
Le LVM possède 3 couches :
Les volumes physiques correspondent aux disques durs physiques ou aux partitions présentes sur ceux-ci (c'est au choix).
Les volumes physiques font le lien entre le matériel (votre ou vos disques durs) et le LVM.
Les commandes permettant de gérer ces volumes physiques en LVM commencent par : pv
Les groupes de volumes permettent de regrouper plusieurs disques durs physiques ou plusieurs partitions ensemble.
C'est dans ces groupes de volumes que l'on créera nos volumes logiques.
Ce sont les volumes dans lesquels nous créerons les systèmes de fichiers (ext4, ntfs, ...) et dans lesquels nous pourrons stocker des données.
Notez que les volumes logiques devront être montés dans le système de fichiers principal pour pouvoir y stocker des données ou les utiliser.
Pour cela, il suffit de taper la commande :
Bash
fdisk -l
Dans notre cas, nous avons :
- /dev/sda : le disque dur où Debian est installé.
- /dev/sdb : le 2ème disque dur qui est vierge pour le moment. (Pas de partitions présentes sur ce disque dur)
Plain Text
Disque /dev/sda : 64.4 Go, 64424509440 octets 255 têtes, 63 secteurs/piste, 7832 cylindres, total 125829120 secteurs Unités = secteurs de 1 * 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Identifiant de disque : 0x000d5066 Périphérique Amorce Début Fin Blocs Id Système /dev/sda1 * 2048 120635391 60316672 83 Linux /dev/sda2 120637438 125827071 2594817 5 Étendue /dev/sda5 120637440 125827071 2594816 82 partition d'échange Linux / Solaris Disque /dev/sdb : 85.9 Go, 85899345920 octets 255 têtes, 63 secteurs/piste, 10443 cylindres, total 167772160 secteurs Unités = secteurs de 1 * 512 = 512 octets Taille de secteur (logique / physique) : 512 octets / 512 octets taille d'E/S (minimale / optimale) : 512 octets / 512 octets Identifiant de disque : 0x00000000 Le disque /dev/sdb ne contient pas une table de partitions valable
Pour installer LVM, il suffit d'installer le paquet lvm2.
Bash
apt-get install lvm2
Bash
pvcreate /dev/sdb
Plain Text
Writing physical volume data to disk "/dev/sdb" Physical volume "/dev/sdb" successfully created
Pour vérifier que le volume a bien été créé, utilisez la commande "pvdisplay" qui listera les volumes physiques existants.
Bash
pvdisplay
Plain Text
"/dev/sdb" is a new physical volume of "80,00 GiB" --- NEW Physical volume --- PV Name /dev/sdb VG Name PV Size 80,00 GiB Allocatable NO PE Size 0 Total PE 0 Free PE 0 Allocated PE 0 PV UUID Tqludv-SipP-Kjcp-22eU-JSVf-NxDJ-IlFFcO
Pour créer un groupe de volume, il faut utiliser la commande "vgcreate" en indiquant en paramètre :
- le nom du groupe
- puis le chemin du volume physique (créé précédemment)
Bash
vgcreate iwvg /dev/sdb
Plain Text
Volume group "iwvg" successfully created
Pour vérifier que le groupe de volumes a bien été créé, utilisez aussi la commande "pvdisplay".
Comme vous pouvez le voir, le nom du volume group (VG) est affiché. Ce qui n'était pas le cas précédemment.
Bash
pvdisplay
Plain Text
--- Physical volume --- PV Name /dev/sdb VG Name iwvg PV Size 80,00 GiB / not usable 4,00 MiB Allocatable yes PE Size 4,00 MiB Total PE 20479 Free PE 20479 Allocated PE 0 PV UUID Tqludv-SipP-Kjcp-22eU-JSVf-NxDJ-IlFFcO
Pour lister les volumes groupes, utilisez la commande :
Bash
vgscan
Plain Text
Reading all physical volumes. This may take a while... Found volume group "iwvg" using metadata type lvm2
Pour obtenir plus d'information concernant votre groupe de volumes, utilisez la commande :
Bash
vgdisplay iwvg
Plain Text
--- Volume group --- VG Name iwvg System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 1 VG Access read/write VG Status resizable MAX LV 0 Cur LV 0 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 80,00 GiB PE Size 4,00 MiB Total PE 20479 Alloc PE / Size 0 / 0 Free PE / Size 20479 / 80,00 GiB VG UUID zxxLNN-lX08-rhB2-MM9T-kUP6-GSaC-TEObDY
Maintenant, vous serez en mesure de créer les volumes logiques souhaités.
Pour cela, utilisez la commande : lvcreate.
Paramètres :
-L : taille du volume logique en Mo. Notez qu'il est aussi possible d'indiquer une taille en Go comme ceci : -L50GO
-n : nom du volume logique
(3e paramètre) : nom du groupe de volumes
Notez qu'il est préférable d'indiquer la taille en GO si vous souhaitez créé un volume de plusieurs gigaoctets.
En effet, 1 Go = 1024 Mo et non 1000 Mo.
Comme le vous le verrez un peu plus bas, notre volume de 5000 Mo aura une taille de 48,83 Go et non 50 Go.
Par contre, le volume de 30 Go aura bien une taille de 30 Go.
Bash
lvcreate -L 50000 -n iw_vol1 iwvg
Plain Text
Logical volume "iw_vol1" created
Bash
lvcreate -L 30GO -n iw_vol2 iwvg
Plain Text
Logical volume "iw_vol2" created
Pour vérifier que le volume logique a bien été créé, utilisez la commande "lvscan".
Bash
lvscan
Plain Text
ACTIVE '/dev/iwvg/iw_vol1' [48,83 GiB] inherit ACTIVE '/dev/iwvg/iw_vol2' [30,00 GiB] inherit
Pour obtenir plus d'information concernant votre volume logique, utilisez la commande :
Bash
lvdisplay
Plain Text
--- Logical volume --- LV Path /dev/iwvg/iw_vol1 LV Name iw_vol1 VG Name iwvg LV UUID DMOkJu-Y0gu-75KX-da1g-qLgD-yZah-jvFLAZ LV Write Access read/write LV Creation host, time debian, 2016-09-10 14:19:25 +0200 LV Status available # open 0 LV Size 48,83 GiB Current LE 12500 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:0 --- Logical volume --- LV Path /dev/iwvg/iw_vol2 LV Name iw_vol2 VG Name iwvg LV UUID ie2Oot-Dki9-wmuR-9gqE-FjX5-hwie-kqzLqe LV Write Access read/write LV Creation host, time debian, 2016-09-10 14:22:27 +0200 LV Status available # open 0 LV Size 30,00 GiB Current LE 7680 Segments 1 Allocation inherit Read ahead sectors auto - currently set to 256 Block device 254:1
Pour pouvoir utiliser votre volume logique, vous devez d'abord le formater pour y créer le système de fichiers souhaité. (Comme pour une partition normale)
Pour formater le volume avec un système de fichier ext4, utilisez la commande ci-dessous.
Note : /dev/iwvg/iw_vol1 correspond au chemin du volume logique à formater. Il s'agit de la valeur "LV Path" affichée par la commande "lvdisplay" (voir ci-dessus).
Bash
mkfs -t ext4 /dev/iwvg/iw_vol1
Pour pouvoir utiliser votre volume logique, il est nécessaire de le monter.
Pour cela, créer un dossier où vous souhaitez, puis montez votre volume logique dans ce nouveau dossier.
Bash
mkdir /my_lvm_volume mount /dev/iwvg/iw_vol1 /my_lvm_volume
Ensuite, utilisez la commande "df -h" pour afficher la liste des systèmes de fichiers, ainsi que la taille occupée par ceux-ci.
Vous verrez aussi votre volume logique "iwvg-iw_vol1" qui est monté sur "/my_lvm_volume".
Bash
df -h
Plain Text
Sys. fich. Taille Util. Dispo Uti% Monté sur rootfs 57G 4,2G 50G 8% / udev 10M 0 10M 0% /dev tmpfs 396M 648K 395M 1% /run /dev/disk/by-uuid/3f7e5d0d-62e7-4ec9-a36b-a9f0983644c8 57G 4,2G 50G 8% / tmpfs 5,0M 0 5,0M 0% /run/lock tmpfs 1,3G 224K 1,3G 1% /run/shm /dev/mapper/iwvg-iw_vol1 49G 180M 46G 1% /my_lvm_volume
Maintenant, les données que vous stockerez dans le dossier "/my_lvm_volume" seront stockées en réalité dans votre volume logique "/dev/iwvg/iw_vol1".
Pour redimensionner un volume logique, vous devez utiliser la commande "lvextend".
Cette commande peut être utilisée de 2 façons.
Pour étendre un volume logique à la taille souhaitée, utilisez la commande comme ceci :
Bash
lvextend -L50G /dev/iwvg/iw_vol1
Pour ajouter plusieurs Mo ou Go à un volume logique, utilisez la commande comme ceci :
Bash
lvextend -L+10G /dev/iwvg/iw_vol1
Pour terminer, n'oubliez pas de mettre à jour le système de fichiers présent sur le volume logique que vous venez de redimensionner.
Pour cela, démontez le volume logique concerné :
Bash
umount /dev/iwvg/iw_vol1
Puis, vérifiez et redimensionnez le système de fichiers du volume logique.
Bash
e2fsck -f /dev/iwvg/iw_vol1 resize2fs /dev/iwvg/iw_vol1
Pour finir, remontez votre volume logique comme précédemment :
Bash
mount /dev/iwvg/iw_vol1 /my_lvm_volume
Pour terminer, si vous souhaitez supprimer un volume logique :
- démontez le volume logique concerné
- puis, utilisez la commande : lvremove
Bash
umount /dev/iwvg/iw_vol1 lvremove /dev/iwvg/iw_vol1
Si un volume physique d'un groupe de volume n'existe plus, utilisez de préférence la commande :
Bash
vgreduce --removemissing
Si vous voulez supprimer un groupe de volumes complet, utilisez la commande "vgremove" en indiquant le nom du groupe de volume en paramètre.
Bash
vgremove iwvg
Notez que si des volumes logiques existent toujours dans le groupe de volume, cette commande vous demandera si vous souhaitez aussi les supprimer.
Répondez "y" pour les supprimer.
Plain Text
Do you really want to remove volume group "iwvg" containing 2 logical volumes? [y/n]:
Pour passer outre de cette question et supprimer automatiquement les volumes logiques présents dans le groupe de volume à supprimer, ajoutez le paramètre "-f".
Bash
vgremove -f iwvg
Pour supprimer un volume physique :
- démontez les volumes logiques concernés par ce volume physique
- puis, supprimez le groupe de volume qui utilise ce volume physique
- et enfin, utilisez la commande "pvremove" en indiquant le volume physique à supprimer en paramètre.
Bash
pvremove /dev/sdb
Linux 17/6/2015
Linux 18/9/2016
Linux 11/1/2014
Linux 11/1/2014
Contenu épinglé
Contact
® InformatiWeb-Pro.net - InformatiWeb.net 2008-2022 - © Lionel Eppe - Tous droits réservés.
Toute reproduction totale ou partielle de ce site est interdite et constituerait une contrefaçon sanctionnée par les articles L.335-2 et suivants du Code de la propriété intellectuelle.
Vous devez être connecté pour pouvoir poster un commentaire