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...")
 
Ligne 8 : Ligne 8 :
  
  
'''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===
  
Nom du groupe de volumes LVM : '''issabel_issabel'''
+
Nom du groupe de volumes LVM : ===issabel_issabel===
  
Nom du volume logique : '''root'''
+
Nom du volume logique : ===root===
  
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''
+
   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''
+
  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
+
fdisk /dev/sda
   ''partprobe''
+
     Note: Inputs to fdisk: n, p, 3, \n, \n, t, 3, 8e, w
     '''Note:''' To avoid reboot so that the new partition table is taken into account, partprobe can be used.
+
    
  ''fdisk -l''
+
partprobe
     ''Check if a new LVM partition was created (Linux LVM), note the device id (/dev/sda3)''
+
     Note: To avoid reboot so that the new partition table is taken into account, partprobe can be used.
  ''mkfs.ext4 /dev/sda3''
+
    ''Make it a EXT4 filesystem''
+
fdisk -l
  ''pvcreate /dev/sda3''
+
     Check if a new LVM partition was created (Linux LVM), note the device id (/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'''
+
mkfs.ext4 /dev/sda3
  ''fdisk /dev/sda''
+
     Make it a EXT4 filesystem
    '''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)
+
pvcreate /dev/sda3
  ''partprobe''
+
     Note: Create the LVM physical volume
    '''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'''
+
vgextend issabel_issabel /dev/sda3
  ''file -s /dev/VolGroup00/LogVol01''
+
    Note: Extend the group which contain already our target partition (here "issabel_issabel", check volume groups with "vgs") to our newly created physical volume
  
'''Supprimer un volume logique'''
+
lvextend -l +100%FREE /dev/issabel_issabel/root
  ''lvremove /dev/VolGroup00/LogVol01''
+
    Note: Extend the LVM logical volume to take all spaces
 +
 +
resize2fs /dev/issabel_issabel/root
 +
    Note: Extend the filesystem
  
'''Réduire un volume physique (PV)'''
+
===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.
  
  ''pvresize --setphysicalvolumesize 4G /dev/sda1''
+
mkfs.xfs /dev/sda3
 +
    Note: Make it a XFS filesystem
  
'''Déplacement automatique d'un volume logique (utile lors d'une réduction)'''
+
pvcreate /dev/sda3
   ''pvs -v --segments /dev/sdc2''
+
    Note: Create the LVM physical volume
     '''note : ''' Informations à propos des segments et leurs positions
+
 
   ''pvmove --alloc anywhere /dev/sdc2:14776-14900''
+
vgextend centos /dev/sda3
     '''note : ''' replace the last range numbers (segments) by numbers gathered from ''pvs'' command
+
    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
  
'''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)'''
+
===Connaître le système de fichier utilisé par un volume logique LVM===
 +
file -s /dev/VolGroup00/LogVol01
  
  ''pvresize /dev/sdc2''
+
===Supprimer un volume logique===
    '''Note :''' Redimensionne la taille du volume automatiquement (on peut aussi spécifier la taille souhaité via ''--setphysicalvolumesize 16G'')
+
lvremove /dev/VolGroup00/LogVol01
  ''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'''
+
===Réduire un volume physique (PV)===
''pvdisplay''
+
  pvresize --setphysicalvolumesize 4G /dev/sda1
  '''Note :''' Informations concernant les volumes physique
 
  ''vgdisplay''
 
  '''Note :''' Informations concernant les groupes
 
''lvdisplay''
 
  '''Note :''' Informations concernant les volumes logiques
 
  
'''Vérifications'''
+
===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
  
  ''pvck -v /dev/sdc2''
+
pvmove --alloc anywhere /dev/sdc2:14776-14900
    '''Note :''' Vérifie les volumes physique
+
     note : replace the last range numbers (segments) by numbers gathered from pvs command
  ''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)'''
+
===Redimensionner une partition pour qu'elle prenne tout l'espace libre===
   ''vgscan''
+
fonctionne dans certain cas, voir l'exemple avec XFS en haut pour une méthode plus générique)
   ''lvchange -an VolGroup00/LogVol00''
+
 
   ''lvchange -an VolGroup00/LogVol01''
+
pvresize /dev/sdc2
   ''vgchange -an VolGroup00''
+
    Note : Redimensionne la taille du volume automatiquement (on peut aussi spécifier la taille souhaité via --setphysicalvolumesize 16G)
   ''vgscan''
+
 
   ''vgchange -ay VolGroup00''
+
lvextend -l 100%FREE /dev/VolGroup00/LogVol00
   ''lvscan''
+
    Note : Redimensionne le volume logique automatiquement
   ''lvchange -ay VolGroup00/LogVol00''
+
 
   ''lvchange -ay VolGroup00/LogVol01''
+
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
 
Si une procédure échoue, essayer de démonter /dev/VolGroup00/LogVol00 et autres

Version du 29 mars 2020 à 10:38

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