LVM : Différence entre versions

De SLM - MediaWiki
(Created page with "La gestion par volumes logiques (en anglais, LVM) est une méthode et un logiciel de gestion de l'utilisation des espaces de stockage, l'avantage de LVM est qu'il permet de s...")
 
 
(2 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 +
[[Debian|Retour]]
 +
 
La gestion par volumes logiques (en anglais, LVM) est une méthode et un logiciel de gestion de l'utilisation des espaces de stockage, l'avantage de LVM est qu'il permet de sécuriser et optimiser les espaces de stockage avec souplesse, LVM facilite la modification de la taille des volumes logiques (augmentation ou diminution) sans perte de données.
 
La gestion par volumes logiques (en anglais, LVM) est une méthode et un logiciel de gestion de l'utilisation des espaces de stockage, l'avantage de LVM est qu'il permet de sécuriser et optimiser les espaces de stockage avec souplesse, LVM facilite la modification de la taille des volumes logiques (augmentation ou diminution) sans perte de données.
  
Ligne 8 : Ligne 10 :
  
  
'''Tutoriel d'agrandissement d'une partition à la taille maximale'''
+
===Agrandissement d'une partition à la taille maximale===
  
 
Partition LVM de l'exemple : '''/dev/sda2'''
 
Partition LVM de l'exemple : '''/dev/sda2'''
Ligne 18 : Ligne 20 :
 
Système de fichier : '''EXT4'''
 
Système de fichier : '''EXT4'''
  
  ''fdisk -l''
+
fdisk -l  
    ''Check if a LVM partition exist (Linux LVM), note the partition (/dev/sda2)''
+
  Check if a LVM partition exist (Linux LVM), note the partition (/dev/sda2)
  ''file -s /dev/issabel_issabel/root''
+
 
    ''Check and note the filesystem used by our source partition. Note: the filesystem of the partition we wish to extend SHOULD be the same than the new partition''
+
file -s /dev/issabel_issabel/root
   ''fdisk /dev/sda''
+
  Check and note the filesystem used by our source partition. Note: the filesystem of the partition we wish to extend SHOULD be the same than the new partition
     '''Note:''' Inputs to fdisk: n, p, 3, \n, \n, t, 3, 8e, w
+
    
   ''partprobe''
+
fdisk /dev/sda
     '''Note:''' To avoid reboot so that the new partition table is taken into account, partprobe can be used.
+
     Note: Inputs to fdisk: n, p, 3, \n, \n, t, 3, 8e, w
  ''fdisk -l''
+
    
     ''Check if a new LVM partition was created (Linux LVM), note the device id (/dev/sda3)''
+
partprobe
  ''mkfs.ext4 /dev/sda3''
+
     Note: To avoid reboot so that the new partition table is taken into account, partprobe can be used.
     ''Make it a EXT4 filesystem''
+
  ''pvcreate /dev/sda3''
+
fdisk -l
     '''Note:''' Create the LVM physical volume
+
     Check if a new LVM partition was created (Linux LVM), note the device id (/dev/sda3)
  ''vgextend issabel_issabel /dev/sda3''
+
 
     '''Note:''' Extend the group which contain already our target partition (here "issabel_issabel", check volume groups with "vgs") to our newly created physical volume
+
mkfs.ext4 /dev/sda3
  ''lvextend -l +100%FREE /dev/issabel_issabel/root''
+
     Make it a EXT4 filesystem
     '''Note:''' Extend the LVM logical volume to take all spaces
+
  ''resize2fs /dev/issabel_issabel/root''
+
pvcreate /dev/sda3
     '''Note:''' Extend the filesystem
+
     Note: Create the LVM physical volume
 +
 
 +
vgextend issabel_issabel /dev/sda3
 +
     Note: Extend the group which contain already our target partition (here "issabel_issabel", check volume groups with "vgs") to our newly created physical volume
 +
 
 +
lvextend -l +100%FREE /dev/issabel_issabel/root
 +
     Note: Extend the LVM logical volume to take all spaces
 +
 +
resize2fs /dev/issabel_issabel/root
 +
    Note: Extend the filesystem
 +
 
 +
===Exemple d'agrandissement d'une partition à la taille maximale avec filesystem XFS===
 +
fdisk /dev/sda
 +
    Note: Inputs to fdisk: n, p, 3, \n, \n, t, 3, 8e, w
 +
    Note: This create a new LVM partition (n) which is of type primary (p) with assignated partition number (3) which use all remaining storage space of the device by following default fdisk options (\n, \n) then change system type (t) by selecting the partition number (3) to the LVM type (8e) and then write the edited partition table (w)
 +
 
 +
partprobe
 +
     Note: To avoid reboot so that the new partition table is taken into account, partprobe can be used.
 +
 
 +
mkfs.xfs /dev/sda3
 +
    Note: Make it a XFS filesystem
  
'''Exemple d'agrandissement d'une partition à la taille maximale avec filesystem XFS'''
+
pvcreate /dev/sda3
  ''fdisk /dev/sda''
+
     Note: Create the LVM physical volume
    '''Note:''' Inputs to fdisk: n, p, 3, \n, \n, t, 3, 8e, w
+
    
    '''Note:''' This create a new LVM partition (n) which is of type primary (p) with assignated partition number (3) which use all remaining storage space of the device by following default fdisk options (\n, \n) then change system type (t) by selecting the partition number (3) to the LVM type (8e) and then write the edited partition table (w)
+
vgextend centos /dev/sda3
  ''partprobe''
+
     Note: Extend the group which contain already our target partition (here "centos", check volume groups with "vgs") to our newly created physical volume
    '''Note:''' To avoid reboot so that the new partition table is taken into account, partprobe can be used.
+
    
  ''mkfs.xfs /dev/sda3''
+
lvextend -l +100%FREE /dev/centos/root
    '''Note:''' Make it a XFS filesystem
+
     Note: Extend the LVM logical volume to take all spaces
  ''pvcreate /dev/sda3''
+
    
     '''Note:''' Create the LVM physical volume
+
xfs_growfs /dev/centos/root
   ''vgextend centos /dev/sda3''
+
     Note: Extend the XFS filesystem
     '''Note:''' Extend the group which contain already our target partition (here "centos", check volume groups with "vgs") to our newly created physical volume
 
   ''lvextend -l +100%FREE /dev/centos/root''
 
     '''Note:''' Extend the LVM logical volume to take all spaces
 
   ''xfs_growfs /dev/centos/root''
 
     '''Note:''' Extend the XFS filesystem
 
  
'''Connaître le système de fichier utilisé par un volume logique LVM'''
+
===Connaître le système de fichier utilisé par un volume logique LVM===
  ''file -s /dev/VolGroup00/LogVol01''
+
file -s /dev/VolGroup00/LogVol01
  
'''Supprimer un volume logique'''
+
===Supprimer un volume logique===
  ''lvremove /dev/VolGroup00/LogVol01''
+
lvremove /dev/VolGroup00/LogVol01
  
'''Réduire un volume physique (PV)'''
+
===Réduire un volume physique (PV)===
 +
pvresize --setphysicalvolumesize 4G /dev/sda1
  
  ''pvresize --setphysicalvolumesize 4G /dev/sda1''
+
===Déplacement automatique d'un volume logique (utile lors d'une réduction)===
 +
pvs -v --segments /dev/sdc2
 +
    note : Informations à propos des segments et leurs positions
  
'''Déplacement automatique d'un volume logique (utile lors d'une réduction)'''
+
pvmove --alloc anywhere /dev/sdc2:14776-14900
  ''pvs -v --segments /dev/sdc2''
+
     note : replace the last range numbers (segments) by numbers gathered from pvs command
    '''note : ''' Informations à propos des segments et leurs positions
 
  ''pvmove --alloc anywhere /dev/sdc2:14776-14900''
 
     '''note : ''' replace the last range numbers (segments) by numbers gathered from ''pvs'' command
 
  
'''Redimensionner une partition pour qu'elle prenne tout l'espace libre (fonctionne dans certain cas, voir l'exemple avec XFS en haut pour une méthode plus générique)'''
+
===Redimensionner une partition pour qu'elle prenne tout l'espace libre===
 +
fonctionne dans certain cas, voir l'exemple avec XFS en haut pour une méthode plus générique)
  
  ''pvresize /dev/sdc2''
+
pvresize /dev/sdc2
     '''Note :''' Redimensionne la taille du volume automatiquement (on peut aussi spécifier la taille souhaité via ''--setphysicalvolumesize 16G'')
+
     Note : Redimensionne la taille du volume automatiquement (on peut aussi spécifier la taille souhaité via --setphysicalvolumesize 16G)
   ''lvextend -l 100%FREE /dev/VolGroup00/LogVol00''
+
    
     '''Note :''' Redimensionne le volume logique automatiquement
+
lvextend -l 100%FREE /dev/VolGroup00/LogVol00
   ''resize2fs /dev/VolGroup00/LogVol00''
+
     Note : Redimensionne le volume logique automatiquement
     '''Note :''' Redimensionne le système de fichiers automatiquement
+
    
 +
resize2fs /dev/VolGroup00/LogVol00
 +
     Note : Redimensionne le système de fichiers automatiquement
  
'''Informations LVM'''
+
===Informations LVM===
  ''pvdisplay''
+
  pvdisplay
   '''Note :''' Informations concernant les volumes physique
+
   Note : Informations concernant les volumes physique
  ''vgdisplay''
+
   
   '''Note :''' Informations concernant les groupes
+
vgdisplay
  ''lvdisplay''
+
   Note : Informations concernant les groupes
   '''Note :''' Informations concernant les volumes logiques
+
   
 +
lvdisplay
 +
   Note : Informations concernant les volumes logiques
  
'''Vérifications'''
+
===Vérifications===
  
  ''pvck -v /dev/sdc2''
+
pvck -v /dev/sdc2
     '''Note :''' Vérifie les volumes physique
+
     Note : Vérifie les volumes physique
   ''e2fsck -f /dev/VolGroup00/LogVol00''
+
    
     '''Note :''' Vérifie le système de fichiers
+
e2fsck -f /dev/VolGroup00/LogVol00
 +
     Note : Vérifie le système de fichiers
  
'''Nettoyer les erreurs de lectures (désactive/réactive les partitions et groupes, exemple avec deux volumes logique)'''
+
===Nettoyer les erreurs de lectures===
   ''vgscan''
+
désactive/réactive les partitions et groupes, exemple avec deux volumes logique
   ''lvchange -an VolGroup00/LogVol00''
+
   vgscan
   ''lvchange -an VolGroup00/LogVol01''
+
   lvchange -an VolGroup00/LogVol00
   ''vgchange -an VolGroup00''
+
   lvchange -an VolGroup00/LogVol01
   ''vgscan''
+
   vgchange -an VolGroup00
   ''vgchange -ay VolGroup00''
+
   vgscan
   ''lvscan''
+
   vgchange -ay VolGroup00
   ''lvchange -ay VolGroup00/LogVol00''
+
   lvscan
   ''lvchange -ay VolGroup00/LogVol01''
+
   lvchange -ay VolGroup00/LogVol00
 +
   lvchange -ay VolGroup00/LogVol01
  
 
Si une procédure échoue, essayer de démonter /dev/VolGroup00/LogVol00 et autres
 
Si une procédure échoue, essayer de démonter /dev/VolGroup00/LogVol00 et autres

Version actuelle datée du 1 avril 2020 à 07:57

Retour

La gestion par volumes logiques (en anglais, LVM) est une méthode et un logiciel de gestion de l'utilisation des espaces de stockage, l'avantage de LVM est qu'il permet de sécuriser et optimiser les espaces de stockage avec souplesse, LVM facilite la modification de la taille des volumes logiques (augmentation ou diminution) sans perte de données.

L'outil graphique "system-config-lvm" peut être utilisé pour redimensionner (réduire ou étendre) des partitions LVM.

Si l'outil graphique plante au démarrage, "éjecter" le disque, ouvrir de nouveau l'outil et ré-insérer le disque (dans le cas d'une utilisation avec une VM), aller dans le menu de "system-config-lvm" et cliquer sur rafraichir.

LVM est très souple en ce qui concerne l'agrandissement des partitions, de façon générale, pour étendre n'importe quel partition, il faut créer une nouvelle partition de la taille souhaité et disposant du même système de fichier que la partition cible, créer ensuite un volume physique contenant cette partition au sein de LVM et étendre le groupe de volume contenant la partition cible à la nouvelle partition, étendre le volume logique et en dernier étendre le système de fichiers.


Agrandissement d'une partition à la taille maximale

Partition LVM de l'exemple : /dev/sda2

Nom du groupe de volumes LVM : issabel_issabel

Nom du volume logique : root

Système de fichier : EXT4

fdisk -l 
  Check if a LVM partition exist (Linux LVM), note the partition (/dev/sda2)
file -s /dev/issabel_issabel/root
 Check and note the filesystem used by our source partition. Note: the filesystem of the partition we wish to extend SHOULD be the same than the new partition
 
fdisk /dev/sda
   Note: Inputs to fdisk: n, p, 3, \n, \n, t, 3, 8e, w
 
partprobe
   Note: To avoid reboot so that the new partition table is taken into account, partprobe can be used.

fdisk -l
   Check if a new LVM partition was created (Linux LVM), note the device id (/dev/sda3)
mkfs.ext4 /dev/sda3
   Make it a EXT4 filesystem

pvcreate /dev/sda3
   Note: Create the LVM physical volume
vgextend issabel_issabel /dev/sda3
   Note: Extend the group which contain already our target partition (here "issabel_issabel", check volume groups with "vgs") to our newly created physical volume
lvextend -l +100%FREE /dev/issabel_issabel/root
   Note: Extend the LVM logical volume to take all spaces

resize2fs /dev/issabel_issabel/root
   Note: Extend the filesystem

Exemple d'agrandissement d'une partition à la taille maximale avec filesystem XFS

fdisk /dev/sda
   Note: Inputs to fdisk: n, p, 3, \n, \n, t, 3, 8e, w
   Note: This create a new LVM partition (n) which is of type primary (p) with assignated partition number (3) which use all remaining storage space of the device by following default fdisk options (\n, \n) then change system type (t) by selecting the partition number (3) to the LVM type (8e) and then write the edited partition table (w)
 
partprobe
   Note: To avoid reboot so that the new partition table is taken into account, partprobe can be used.
mkfs.xfs /dev/sda3
   Note: Make it a XFS filesystem
pvcreate /dev/sda3
   Note: Create the LVM physical volume
 
vgextend centos /dev/sda3
   Note: Extend the group which contain already our target partition (here "centos", check volume groups with "vgs") to our newly created physical volume
 
lvextend -l +100%FREE /dev/centos/root
   Note: Extend the LVM logical volume to take all spaces
 
xfs_growfs /dev/centos/root
   Note: Extend the XFS filesystem

Connaître le système de fichier utilisé par un volume logique LVM

file -s /dev/VolGroup00/LogVol01

Supprimer un volume logique

lvremove /dev/VolGroup00/LogVol01

Réduire un volume physique (PV)

pvresize --setphysicalvolumesize 4G /dev/sda1

Déplacement automatique d'un volume logique (utile lors d'une réduction)

pvs -v --segments /dev/sdc2
   note : Informations à propos des segments et leurs positions
pvmove --alloc anywhere /dev/sdc2:14776-14900
   note : replace the last range numbers (segments) by numbers gathered from pvs command

Redimensionner une partition pour qu'elle prenne tout l'espace libre

fonctionne dans certain cas, voir l'exemple avec XFS en haut pour une méthode plus générique)

pvresize /dev/sdc2
   Note : Redimensionne la taille du volume automatiquement (on peut aussi spécifier la taille souhaité via --setphysicalvolumesize 16G)
 
lvextend -l 100%FREE /dev/VolGroup00/LogVol00
   Note : Redimensionne le volume logique automatiquement
 
resize2fs /dev/VolGroup00/LogVol00
   Note : Redimensionne le système de fichiers automatiquement

Informations LVM

pvdisplay
  Note : Informations concernant les volumes physique

vgdisplay
  Note : Informations concernant les groupes

lvdisplay
  Note : Informations concernant les volumes logiques

Vérifications

pvck -v /dev/sdc2
   Note : Vérifie les volumes physique
 
e2fsck -f /dev/VolGroup00/LogVol00
   Note : Vérifie le système de fichiers

Nettoyer les erreurs de lectures

désactive/réactive les partitions et groupes, exemple avec deux volumes logique

 vgscan
 lvchange -an VolGroup00/LogVol00
 lvchange -an VolGroup00/LogVol01
 vgchange -an VolGroup00
 vgscan
 vgchange -ay VolGroup00
 lvscan
 lvchange -ay VolGroup00/LogVol00
 lvchange -ay VolGroup00/LogVol01

Si une procédure échoue, essayer de démonter /dev/VolGroup00/LogVol00 et autres