Star InactiveStar InactiveStar InactiveStar InactiveStar Inactive
 

linux disque durs et partitions avec LVM

 

Ce cours fait partie de l'ensemble Linux à voir ici, sur Linux les fondamentaux ici et linux les commandes des bases du shell ici , ensuite linux et les droits sur les fichiers , Linux les gestionnaires de paquets , Linux editeur nano , linux configurer dhcp server et client , linux configurer dns server et client , linux disque durs et partitions , linux disque durs et partitions avec LVM

 

linux disque durs et partitions avec LVM : définitions 

  

LVM : Définitions

LVM pour Logical Volume Manager
permet, grâce aux volumes logiques, de dépasser les limites du disque physique
Inspiration des Volumes Logiques de HP-UX (AIX est à l'initiative du LVM)

Le Logical Volume Manager (LVM) est un gestionnaire de volumes logiques
Groupe de volumes = ensemble de disques physiques ou de partitions
Un volume logique est intégré à un groupe de volumes
Un système de fichiers réside dans un volume logique

LVM : Définitions

L’utilisation de LVM permet de :
Etendre ou réduire un groupe de volumes
en ajoutant ou sortant un disque physique ou une partition
Etendre ou réduire un volume logique dynamiquement
Gérer des systèmes de fichiers sur des espaces disques non contigus

Pour utiliser le « Logical Volume Manager », il faut :
s'assurer que le logiciel « lvm2 » est installé
démarrer le service « lvm2 »

LVM : Définitions

LVM est installé et utilisé en particulier pour :

Partager des disques de grande capacité en volumes logiques
plus commodes à utiliser ou à sauvegarder

Affecter des droits d'accès différents à chaque volume logique :
« Read-Only » ou non
« Mount » ou non

Isoler les zones stables des zones à forts potentiels de modifications
Stables  racine du système, /usr
Fort potentiel de modification  utilisateurs, /var, /tmp

LVM : Définitions

LVM est installé et utilisé en particulier pour :

Partager des disques de grande capacité en volumes logiques
plus commodes à utiliser ou à sauvegarder

Affecter des droits d'accès différents à chaque volume logique :
« Read-Only » ou non
« Mount » ou non

Isoler les zones stables des zones à forts potentiels de modifications
Stables  racine du système, /usr
Fort potentiel de modification  utilisateurs, /var, /tmp

 

 

 

 

Consultingit suite fleche 299

 

  

Une question? Posez-la ici

linux disque durs et partitions avec LVM: principe

 

 

LVM : Principe

Physical Volume (PV) = Volume Physique
Correspond à un disque physique ou à une partition de type « 8e » (Linux LVM)

Volume Group (VG) = Groupe de Volumes
Composé de un ou plusieurs volumes physiques
Considéré comme un disque virtuel
dont la capacité est égale à la somme des volumes physiques qui le composent
Découpé en « Physical Extent » (PE) lors de la création du groupe de volume auquel il est affecté

Physical Extent (PE) = Etendue physique
Unité physique de stockage (la plus petite)

LVM : Principe

Physical Volume (PV) = Volume Physique
Correspond à un disque physique ou à une partition de type « 8e » (Linux LVM)

Volume Group (VG) = Groupe de Volumes
Composé de un ou plusieurs volumes physiques
Considéré comme un disque virtuel
dont la capacité est égale à la somme des volumes physiques qui le composent
Découpé en « Physical Extent » (PE) lors de la création du groupe de volume auquel il est affecté

Physical Extent (PE) = Etendue physique
Unité physique de stockage (la plus petite)

LVM : Principe

Logical Volume (LV) = Volume Logique
Equivalent d'une partition dans un système non-LVM
Peut contenir un système de fichiers
Composé de « Logical Extent »

Logical Extent (LE) = Etendue logique
Même taille pour tous les volumes logiques d'un même groupe de volume
Chaque étendue logique (LE) est associée à une étendue physique (PE)

Une question? Posez-la ici

linux disque durs et partitions avec LVM: les commandes

 

LVM : Les commandes

Commandes liées directement au logiciel « Logical Volume Manager »

« lvmchange » permet de changer les attributs de LVM (Logical Volume Manager)
« lvmdiskscan » permet d’analyser tous les supports visibles par LVM2
« lvmdump » permet de créer une copie des informations de LVM2 pour des besoins de diagnostic

NB : Le LVM2 utilise des fichiers et des répertoires créés sous « /etc/lvm »
lvm.conf permet de paramétrer certaines options du LVM2
Le répertoire « archive » contient l’historique de l’évolution des structures
Le répertoire « backup » contient la dernière description des structures
Le répertoire « profile » permet de créer des profils types de structures (template)

 

LVM : Les commandes (PV)

Commandes de gestion du Volume Physique (PV)

pvscan  Liste tous les PV existants sur tous les disques
Utiliser la commande « lvmdiskscan » avec lvm2
pvcreate  Crée un PV
pvdisplay  Affiche les informations d'un PV
pvremove  Supprime un PV
pvchange  Modifie les attributs d’un PV
Utiliser la commande « lvmchange » avec lvm2
pvmove  Déplace le PE alloué d'un PV vers un autre PV

 

 

 

  

Une question? Posez-la ici

 

 

 

linux disque durs et partitions avec LVM : LVM : Les commandes (PV)

 

  

LVM : Les commandes (PV)

pvscan  Liste tous les PV existants sur tous les disques
Utiliser la commande « lvmdiskscan » avec lvm2

LVM : Les commandes (PV)

pvcreate  Crée un PV
Le faire pour « /dev/sdb6 » et « /dev/sdb7 » qui ont été dédié à LVM précédemment.

LVM : Les commandes (PV)

pvdisplay  Affiche les informations d'un PV
Le faire pour « /dev/sdb6 » et « /dev/sdb7 » qui ont été dédié à LVM précédemment.

LVM : Les commandes (PV)

PV Name = Nom du volume physique
VG Name = Nom du VG auquel appartient le PV
PV Size = Taille du volume physique
PV# = Numéro du volume physique dans le VG
PV Status = Etat du PV
Allocatable = Utilisable
Cur LV = Nombre de LV contenus dans ce PV
PE Size = Taille de PE
Total PE = Nombre total de PE
Free PE = Nombre de PE libres
allocated PE = Nombre de PE alloués
PV UUID = Identifiant unique du PV

 

linux disque durs et partitions avec LVM : LVM : Les commandes (VG)

 

LVM : Les commandes (VG)

Un groupe de volumes peut être constitué de plusieurs volumes physiques (PV)

Lors de la création d'un groupe de volumes :
les volumes physiques sont découpés en étendues physiques (PE)
dont la modification de la taille n’est plus possible après création du VG
des zones de métadonnées sont créées en début de chaque volume physique
ces métadonnées constituent la description du groupe de volumes
un répertoire du nom du VG est créé sous « /dev »

LVM : Les commandes (VG)

Un groupe de volumes peut être constitué de plusieurs volumes physiques (PV)

Lors de la création d'un groupe de volumes :
les volumes physiques sont découpés en étendues physiques (PE)
dont la modification de la taille n’est plus possible après création du VG
des zones de métadonnées sont créées en début de chaque volume physique
ces métadonnées constituent la description du groupe de volumes
un répertoire du nom du VG est créé sous « /dev »

LVM : Les commandes (VG)

Commandes de gestion des Groupes de Volumes (VG)

vgcreate  Crée un VG
vgchange  Change les attributs d'un VG
vgremove  Supprime un VG
vgdisplay  Visualise les informations du VG
vgextend  Ajoute un ou plusieurs PV dans un VG
vgreduce  Extrait un ou plusieurs PV d'un VG
vgrename  Renomme un VG

LVM : Les commandes (VG)

vgcfgbackup  Sauvegarde un VGRA*
vgcfgrestore  Restaure un VGRA*
vgck  Vérifie un VGRA*
vgexport  Désactive un VG pour pouvoir extraire les PV
vgimport  Active et déclare un VG sur un système


*VGRA (Volume Group Reserve Area) : Elle contient les informations liées au groupe de volumes mais aussi aux volumes logiques contenus dans le groupe de volumes

LVM : Les commandes (VG)

vgcfgbackup  Sauvegarde un VGRA*
vgcfgrestore  Restaure un VGRA*
vgck  Vérifie un VGRA*
vgexport  Désactive un VG pour pouvoir extraire les PV
vgimport  Active et déclare un VG sur un système


*VGRA (Volume Group Reserve Area) : Elle contient les informations liées au groupe de volumes mais aussi aux volumes logiques contenus dans le groupe de volumes

LVM : Les commandes (VG)

vgcreate  Crée un VG

Permet de créer un groupe de volume
Possibilité de définir la taille des étendues physiques

Commande entière : vgcreate -options nom_VG volumes_physiques
Options :
-l nombre_LV_max  Nombre maxi de volumes logiques dans le VG (max : 256)
-p nombre_PV_max  Nombre maxi de volumes physiques dans le VG (max. : 256)
-s taille_PE[kKmMgG]  Taille d'un PE, de 8 Ko à 16 Go par puissances de 2
Si le suffixe n'est pas donné, la taille est en mégaoctet par défaut (4Mo)

LVM : Les commandes (VG)

On va créer un VG01 avec le volume physique « /dev/sdb6 »
La taille des étendues physiques étant de 8Mo pour atteindre 512 Go

On va également créer un VG02 avec le volume physique « /dev/sdb7 »
La taille des étendues physiques étant de 4Mo (par défaut) pour atteindre 256 Go

LVM : Les commandes (VG)

vgchange  Change les attributs d'un VG
Désactiver le VG02
vgremove  Supprime un VG
Supprimer le VG02


Créer un VG02 avec le volume physique « /dev/sdb7 »
La taille des étendues physiques étant de 128Mo pour atteindre 2 Tb

LVM : Les commandes (VG)

vgdisplay  Visualise les informations du VG
Afficher les caractéristiques des VG01 et VG02
Par défaut, tous les VG sont affichées avec « vgdisplay »


LVM : Les commandes (VG)

VG name = Nom du VG
System ID = Type du VG
Format = Format du VG
Metadata Areas = Zone des métadonnées du VG
Metadata Sequence No = Numéro interne du VG
VG Access = Mode d'accès autorisé (lecture ou lecture / écriture)
VG Status = Statut du VG
MAX LV = Nombre maxi de LV que l'on peut créer dans ce VG
Cur LV = Nombre de LV disponibles dans ce VG
Open LV = Nombre de LV en cours d'utilisation
MAX LV Size = Taille maximale d'un volume logique

LVM : Les commandes (VG)

VG name = Nom du VG
System ID = Type du VG
Format = Format du VG
Metadata Areas = Zone des métadonnées du VG
Metadata Sequence No = Numéro interne du VG
VG Access = Mode d'accès autorisé (lecture ou lecture / écriture)
VG Status = Statut du VG
MAX LV = Nombre maxi de LV que l'on peut créer dans ce VG
Cur LV = Nombre de LV disponibles dans ce VG
Open LV = Nombre de LV en cours d'utilisation
MAX LV Size = Taille maximale d'un volume logique

LVM : Les commandes (VG)

Max PV = Nombre maxi de PV possible dans ce VG
Cur PV = Nombre de PV dans ce VG
Act PV = Nombre de PV actifs dans ce VG
VG Size = Taille du VG (somme de tous les PV)
PE Size = Taille de PE (défaut : 4 Mo)
Total PE = Nombre total de PE (bloc physique)
Alloc PE / Size = Nombre de PE alloués / Espace que cela représente Free
Free PE / Size = Nombre de PE libre / Espace que cela représente
VG UUID = Numéro unique du VG

LVM : Les commandes (VG)

Si on regarde maintenant ce qu’il se passe dans le répertoire « /etc/lvm »
On peut voir l’apparition des dossiers « archive » et « backup »

LVM : Les commandes (VG)

vgextend  Ajoute un ou plusieurs PV dans un VG
Commande : vgextend vg02 /dev/sdc5
A vous de jouer seul afin de découvrir cette commande ! 
Ajouter un autre disque physique à votre VM (8Go comme pour celui du PV de /dev/sdb)

LVM : Les commandes (VG)

vgextend  Ajoute un ou plusieurs PV dans un VG
Commande : vgextend vg02 /dev/sdc5
A vous de jouer seul afin de découvrir cette commande ! 
Ajouter un autre disque physique à votre VM (8Go comme pour celui du PV de /dev/sdb)

LVM : Les commandes (VG)

vgextend  Ajoute un ou plusieurs PV dans un VG
Commande : vgextend vg02 /dev/sdc5
A vous de jouer seul afin de découvrir cette commande ! 
Ajouter un autre disque physique à votre VM (8Go comme pour celui du PV de /dev/sdb)

LVM : Les commandes (VG)

Refaire les mêmes manipulations depuis le début afin d’étendre le « vg02 » :
Créer une partition étendue sur « /dev/sdc1 » avec les 8Go
Créer une partition destinée à LVM en « /dev/sdc5 » depuis la partition étendue avec les 8Go
Modifier le type de la nouvelle partition « /dev/sdc5 » en LVM
Afficher les informations du nouveau PV « /dev/sdc5 »
Découvrir les informations des commandes « pvs » et « vgs »
Etendre le « vg02 » avec ce nouveau PV « /dev/sdc5 »
Afficher de nouveau les commandes « pvs » et « vgs »
Afficher de nouveau les informations du nouveau PV « /dev/sdc5 »

 

linux disque durs et partitions avec LVM : LVM : Les commandes (LV)

 

LVM : Les commandes (LV)

Un volume logique est constitué d'étendues logiques (LE)

Une étendue logique est associée à une étendue physique (PE)

Un volume logique peut :
s'étendre sur plusieurs volumes physiques et utiliser des PE non contiguës
contenir un système de fichiers, un SWAP ou autre

LVM : Les commandes (LV)

Commandes de gestion des Volumes Logiques (LV)

lvcreate  Crée un LV
lvscan  Recherche de tous les LV existants
lvdisplay  Visualise les informations d'un LV
lvextend  Augmente la taille d'un LV
lvreduce  Réduit la taille d'un LV
lvremove  Supprime un LV
lvrename  Renomme un LV
lvchange  Modifie les attributs d'un LV

LVM : Les commandes (LV)

lvcreate  Crée un VL

Crée un volume logique dans un groupe de volume en affectant des étendues logiques (LE) à partir d'étendues physiques (PE) disponibles dans ce VG

Commande entière : lvcreate [-option] nomVG nomPV
Options :
-l nombre_LE  Taille du LV en nombre de LE
-L nombre[kKmMgGtT]  Taille du LV en nombre de Ko, Mo, Go, To (par défaut : Mo)
-n nom_LV  Nom du volume logique (par défaut : lv01)

LVM : Les commandes (LV)

On va créer deux LV :

« lv01 » pour le VG « vg01 » avec comme paramètres :
Taille du LV : 120 LE

« lv02 » pour le VG « Data » avec comme paramètres :
Taille du LV : 3G

N’oubliez pas de faire un « pvs » et « vgs » afin de bien prendre les bons paramètres


LVM : Les commandes (LV)

lvextend  Augmente la taille d’un VL

Taille absolue = Changer la taille d'un volume à 5Go
Commande entière : lvextend -L taille /dev/nomVG/nomLV
-L nombre[kKmMgGtT]  Taille du LV en nombre de Ko, Mo, Go, To (par défaut : Mo)

Taille relative = Ajouter 2Go à un volume
Commande entière : lvextend -L +taille /dev/nomVG/nomLV
-L nombre[kKmMgGtT]  Taille du LV en nombre de Ko, Mo, Go, To (par défaut : Mo)

Les étapes à respecter pour agrandir un volume logique :


LVM : Les commandes (LV)

lvextend  Augmente la taille d’un VL

Taille absolue = Changer la taille d'un volume à 5Go
Commande entière : lvextend -L taille /dev/nomVG/nomLV
-L nombre[kKmMgGtT]  Taille du LV en nombre de Ko, Mo, Go, To (par défaut : Mo)

Taille relative = Ajouter 2Go à un volume
Commande entière : lvextend -L +taille /dev/nomVG/nomLV
-L nombre[kKmMgGtT]  Taille du LV en nombre de Ko, Mo, Go, To (par défaut : Mo)

Les étapes à respecter pour agrandir un volume logique :

LVM : Les commandes (LV)

Démonter le système de fichiers (avec la commande umount)
umount /dev/nomVG/nomLV
Augmenter la taille du LV (avec la commande lvextend) en spécifiant la nouvelle taille
lvextend -L +2G /dev/nomVG/nomLV
Vérification forcée du système de fichiers (nécessaire avant l'étape suivante)
e2fsck -f /dev/nomVG/nomLV
Augmenter la taille du système de fichiers en laissant le programme autonome (taille)
resize2fs /dev/nomVG/nomLV
Remonter le système de fichiers (avec la commande mount)
mount /dev/nomVG/nomLV

LVM : Les commandes (LV)

Nous allons augmenter la taille du LV « lv02 » pour le VG « Data » avec comme paramètres :
Taille relative de 2Go pour l’augmentation depuis le PV « /dev/sdc5 »

N’oubliez pas de faire un :
« pvs »
« vgs »
« lvscan »
« lvdisplay » de « /dev/Data/lv02 »
afin de bien prendre les bons paramètres pour l’augmentation du LV

Dans notre cas, nous n’avons pas de FS (système de fichiers)

LVM : Les commandes (LV)

lvreduce  Réduit la taille d’un LV

Taille absolue = Changer la taille d'un volume à 4Go
Commande entière : lvreduce -L taille /dev/nomVG/nomLV
-L nombre[kKmMgGtT]  Taille du LV en nombre de Ko, Mo, Go, To (par défaut : Mo)

Taille relative = Retirer 1Go à un volume
Commande entière : lvreduce -L -taille /dev/nomVG/nomLV
-L nombre[kKmMgGtT]  Taille du LV en nombre de Ko, Mo, Go, To (par défaut : Mo)

Les étapes à respecter pour réduire un volume logique :
LVM : Les commandes (LV)

Démonter le système de fichiers (avec la commande umount)
umount /dev/nomVG/nomLV
Vérification forcée du système de fichiers (nécessaire avant l'étape suivante)
e2fsck -f /dev/nomVG/nomLV
Réduire la taille du système de fichiers en spécifiant la nouvelle taille
resize2fs /dev/nomVG/nomLV 4G
Ne pas donner de taille relative mais absolue !
Réduire la taille du LV (avec la commande lvreduce) en spécifiant la nouvelle taille
lvreduce -L 4G /dev/nomVG/nomLV
Ne pas donner de taille relative mais absolue !
Remonter le système de fichiers (avec la commande mount)
mount /dev/nomVG/nomLV


LVM : Les commandes (LV)

Nous allons réduire la taille du LV « lv02 » pour le VG « Data » avec comme paramètres :

Taille absolue de 4Go pour la réduction depuis le PV « /dev/sdc5 »

N’oubliez pas de faire un :
« pvs »
« vgs »
« lvscan »
« lvdisplay » de « /dev/Data/lv02 »
afin de bien prendre les bons paramètres pour la réduction du LV

Dans notre cas, nous n’avons pas de FS (système de fichiers)

LVM : Les commandes (LV)

Nous allons réduire la taille du LV « lv02 » pour le VG « Data » avec comme paramètres :

Taille absolue de 4Go pour la réduction depuis le PV « /dev/sdc5 »

N’oubliez pas de faire un :
« pvs »
« vgs »
« lvscan »
« lvdisplay » de « /dev/Data/lv02 »
afin de bien prendre les bons paramètres pour la réduction du LV

Dans notre cas, nous n’avons pas de FS (système de fichiers)

LVM : Les commandes (LV)

lvremove  Supprime un LV
Si LV inactif, alors la commande entière sera « lvremove /dev/nomVG/nomLV »
Si LV actif, alors il faut :
d’abord désactiver le LV avec la commande « lvchange -an /dev/nomVG/nomLV »
puis passer la commande entière « lvremove /dev/nomVG/nomLV »
Nous allons supprimer le LV « lv01 » pour le VG « vg01 »
N’oubliez pas de faire un :
« pvs »
« vgs »
« lvscan »
« lvdisplay » de « /dev/vg01/lv01 »
afin de bien prendre les bons paramètres pour la suppression du LV

LVM : Les commandes (LV)

lvrename  Renomme un LV

Il y a deux possibilités afin de renommer un LV :

Soit en passant directement par le nom du LV avec la commande suivante :
lvrename /dev/nomVG/ancienNomLV /dev/nomVG/nouveauNomLV

Soit en passant par le VG du LV avec la commande suivante :
lvrename VG ancienNomLV nouveauNomLV

LVM : Les commandes (LV)

Nous allons renommer le LV « lv02 » du VG « Data » en LV « lv01 »

En passant directement par le nom du LV !

N’oubliez pas de faire un :
« lvscan »
« lvdisplay » de « /dev/Data/lv02 »
afin de bien prendre les bons paramètres pour la suppression du LV

LVM : Les commandes (LV)

Nous allons renommer le LV « lv01 » du VG « Data » en LV « lvData »

En passant par le VG du LV !

N’oubliez pas de faire un :
« lvscan »
« lvdisplay » de « /dev/Data/lv01 »
afin de bien prendre les bons paramètres pour la suppression du LV

 

 

linux disque durs et partitions avec LVM : Ressources

 

Pour aller plus loin :

 

Documentation complète :

https://access.redhat.com/documentation/fr-fr/red_hat_enterprise_linux/6/html/logical_volume_manager_administration/index

https://doc.ubuntu-fr.org/lvm

https://wiki.debian.org/fr/LVM

 

Liens vers des articles/blogs très intéressants :

http://lea-linux.org/documentations/Leapro-pro_sys-lvm

https://www.linuxtricks.fr/wiki/lvm-sous-linux-volumes-logiques

https://blog.x11.fr/index.php/vmware/9-agrandir-un-disque-et-un-vg-dans-une-vm

 

 

 

Ce transcript reflète exclusivement l'opinion de ses auteurs et n’engage en aucune façon Consultingit

 

Besoin d'aides avec Linux??