Comment créer un volume logique LVM sur une partition créée sur un volume EBS ?

Lecture de 8 minute(s)
0

Comment utiliser le gestionnaire de volumes logiques (LVM) pour créer un volume logique (LV) sur une partition créée sur mon volume Amazon Elastic Block Store (Amazon EBS) ?

Brève description

LVM vous permet d'allouer de l'espace disque et de réduire, de remettre en miroir et de redimensionner des volumes logiques. Avec LVM, vous pouvez allouer un volume EBS ou un ensemble de volumes EBS à un ou plusieurs volumes physiques.

Procédez comme suit pour utiliser LVM sur votre volume EBS et étendre les partitions :

  1. Créez des volumes physiques (PV) à partir de votre volume EBS.
  2. Créez un groupe de volumes (VG); puis ajoutez les volumes physiques dans le groupe de volumes.
  3. Créez un volume logique (LV), puis montez le répertoire sur le LVM.
  4. Créez et montez un système de fichiers.
  5. Redimensionnez le volume logique.

Résolution

Remarque : si vous avez déjà créé le LVM sur votre volume et que vous l'avez monté en vue d’une utilisation, suivez les instructions à partir de la page Extension du volume logique.

Créer des volumes physiques sur la partition de votre volume EBS

L'unité de stockage physique sous-jacente d'un volume logique LVM est un périphérique de stockage en mode bloc, tel qu'une partition d'un volume EBS ou un volume EBS complet.

Remarque : les instances basées sur Nitro exposent les volumes en tant que dispositifs NVMe. Les noms des périphériques de stockage en mode bloc suivent le modèle /dev/nvme1n1, /dev/nvme2n1, /dev/nvme3n1, ainsi de suite. Si vous utilisez une instance basée sur Nitro, remplacez les noms de dispositif dans les étapes suivantes par le nom de dispositif approprié. Pour plus d'informations sur l'attribution de noms de dispositif, consultez Noms d’appareils sur les instances Linux.

1.    Ouvrez la console Amazon Elastic Compute Cloud (Amazon EC2).

2.    Créez votre volume EBS, puis attachez le volume à votre instance.

3.    Utilisez la commande gdisk pour créer une partition. Pour la variable Code Hex ou GUID, entrez 8e00. L'exemple suivant crée la partition /dev/xvdh1 sur /dev/xvdh.

$ sudo gdisk /dev/xvdh
Command (? for help): n
Partition number (1-1218, default 1): 1
First sector (34-20971486, default = 2048) or {+-}size{KMGTP}:
Last sector (2048-20971486, default = 20971486) or {+-}size{KMGTP}:
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8e00        
Changed type of partition to 'Linux LVM'
...
OK; writing new GUID partition table (GPT) to /dev/xvdh.
The operation has completed successfully.

Utilisez la commande lsblk afin de confirmer la création de la partition :

$ lsblk
NAME    MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda    202:0    0   8G  0 disk
└─xvda1 202:1    0   8G  0 part /
xvdh    202:80   0  10G  0 disk
└─xvdh1 202:81   0  10G  0 part

4.    Utilisez la commande pvcreate pour créer un volume physique à partir de la partition. L'exemple suivant crée un volume physique à partir de /dev/xvdh1 :

$ sudo pvcreate /dev/xvdh1
  Physical volume "/dev/xvdh1" successfully created.

Créer des groupes de volumes et ajouter les volumes physiques dans le groupe de volumes

Utilisez la commande vgcreate pour créer un groupe de volumes afin de combiner les nouveaux volumes physiques. L'exemple suivant utilise un volume physique pour créer le groupe de volumes groupexemple1 :

$ sudo vgcreate examplegroup1 /dev/xvdh1    
  Volume group "examplegroup1" successfully created

Utilisez vgs ou vgdisplay pour afficher les informations du groupe de volumes :

$ sudo vgs
  VG             #PV #LV #SN Attr   VSize  VFree
  examplegroup1   1   0   0 wz--n- <10.00g <10.00g

Créer un volume logique (LV) et un répertoire de montage

1.    Utilisez la commande lvcreate pour créer des volumes logiques (partitions) à partir de votre groupe de volumes. L'exemple suivant crée un volume logique de 9 Go, lvexample1, à partir du groupe de volumes groupeexemple1 :

$ sudo lvcreate -n lvexample1 -L 9G examplegroup1
  Logical volume "lvexample1" created

Utilisez la commande lvs ou lvdisplay pour afficher les informations du volume logique :

$ sudo lvs
  LV          VG   Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert                                 
  lvexample1 examplegroup1 -wi-a----- 9.00g

2.    Utilisez la commande mkdir pour créer un répertoire de montage. L'exemple suivant crée le répertoire /mnt1 :

$ sudo mkdir /mnt1

Créer et monter un système de fichiers

1.    Utilisez les commandes suivantes pour créer un système de fichiers et monter les partitions à utiliser.

Exécutez la commande mkfs -t pour créer le système de fichiers. Remarque : remplacez xfs par votre type de système de fichiers, s'il est différent. Par exemple, utilisez ext2, ext3 ou ext4.

$ sudo mkfs -t xfs /dev/examplegroup1/lvexample1

Exécutez la commande lsblk -f pour vérifier la création du nouveau système de fichiers. Remarque : le type de système de fichiers créé à l'étape précédente s'affiche sous FSTYPE.

$ lsblk -f
NAME                         FSTYPE      LABEL UUID                                   MOUNTPOINT
xvda                                                                            
├─xvda1                                                                         
└─xvda2                      xfs               66e5e079-770e-4359-a9da-5205c3d8d5af   /
xvdh                                                                            
└─xvdh1                      LVM2_member       0UnOic-e2ng-XxH5-z0UW-7aTh-RxQK-KMrDqo
  └─examplegroup1-lvexample1 xfs              5db36052-81d5-4762-8502-6986ff3964e7

Exécutez la commande mount pour monter le système de fichiers dans le répertoire de montage que vous avez créé lors de l'étape précédente :

$ sudo mount /dev/examplegroup1/lvexample1 /mnt1

2.    Modifiez les options de montage dans le fichier /etc/fstab afin que le nouveau montage persiste après le redémarrage.

/dev/examplegroup1/lvexample1 /mnt1   xfs     defaults,nofail   0   0

Remarque : si le type de votre système de fichiers n'est pas xfs, alors remplacez xfs par le type dans le fichier /etc/fstab.

Étendre le volume logique

Il existe deux options pour étendre les volumes logiques :

  • Option 1 : augmenter la taille du volume EBS existant.
  • Option 2 : ajouter des volumes EBS supplémentaires à votre groupe de volumes.

Option 1 : augmenter la taille du volume EBS existant

Remarque : lorsque vous augmentez la taille de votre volume existant, les modifications de taille sont généralement appliquées en quelques secondes lorsque le volume passe à l'état d'optimisation. Les performances du volume sont affectées lorsqu'il est à l'état d'optimisation, mais ne sont pas inférieures à la spécification de configuration source. En fonction de votre type de volume, les changements de performances peuvent prendre de quelques minutes à quelques heures. Pour plus d'informations, voir Contrôler la progression des modifications de volumes.

1.    Modifiez la taille du volume EBS existant.

2.    Installez l'utilitaire growpart :

$ sudo yum install cloud-utils-growpart

Remarque : utilisez la commande suivante pour installer l'utilitaire growpart sur les systèmes Debian ou Ubuntu :

$ sudo apt install -y cloud-guest-utils

3.    Exécutez la commande growpart pour étendre la partition, puis la commande pvresize pour redimensionner le PV. Dans l'exemple suivant, la partition /dev/xvdh1 est étendue :

$ sudo growpart /dev/xvdh 1                      
CHANGED: disk=/dev/xvdh partition=1: start=2048 old: size=20971519,end=16777182 new: size=41940958,end=41943006

$ sudo pvresize /dev/xvdh1                       
  Physical volume "/dev/xvdh1" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized

Utilisez pvs ou pvdisplay pour afficher les informations du volume physique :

$ sudo pvs
  PV         VG            Fmt  Attr PSize   PFree
  /dev/xvdh1 examplegroup1 lvm2 a--  <20.00g <13.00g

Utilisez vgs ou vgdisplay pour afficher les informations du groupe de volumes :

$ sudo vgs
  VG            #PV #LV #SN Attr   VSize   VFree
  examplegroup1   1   1   0 wz--n- <20.00g <13.00g

4.    Exécutez la commande lvextend pour étendre le volume logique :

$ sudo lvextend -L 19G /dev/examplegroup1/lvexample1

Utilisez la commande lvs ou lvdisplay pour afficher les informations du volume logique :

$ sudo lvs
  LV        VG            Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lvexample1 examplegroup1 -wi-a----- 19.00g

5.    Développez le système de fichiers :

Remarque : assurez-vous d’entrer le type de système de fichiers correct dans l'entrée /etc/fstab.

Systèmes de fichiers Ext2, Ext3 et Ext4 :

$ sudo resize2fs /dev/examplegroup1/lvexample1

Systèmes de fichiers XFS:

$ sudo yum install x    rogs
$ sudo xfs_growfs /dev/examplegroup1/lvexample1

Option 2 : ajouter des volumes EBS supplémentaires au groupe de volumes

1.    Créez un autre volume EBS de 10 Go, puis attachez le volume à l'instance. Créez une partition sur le dispositif /dev/xvdi en vous reportant à l’étape 3 de Créer des volumes physiques sur la partition de votre volume EBS*.* Ensuite, exécutez la commande pvcreate. Dans l'exemple suivant, le nom du périphérique de stockage en mode bloc du volume est /dev/xvdi1.

$ sudo pvcreate /dev/xvdi1
Physical volume "/dev/xvdi1" successfully created.

2.    Utilisez la commande vgextend pour étendre le groupe de volumes et ajouter le nouveau volume. L'exemple suivant étend le groupe de volumes groupeexemple1 pour inclure le volume /dev/xvdi1 :

$ sudo vgextend examplegroup1 /dev/xvdi1
  Volume group "examplegroup2" successfully extended

Exécutez la commande vgs ou vgdisplay afin de confirmer l’extension. L'exemple suivant montre que désormais, il existe deux PV dans le groupe de volumes groupeexemple1 :

$ sudo vgs
  VG                       #PV #LV #SN Attr   VSize   VFree
  examplegroup1            2   1   0 wz--n-  29.99g   20.99g

3.    Exécutez la commande lvextend pour étendre le volume logique :

$ sudo lvextend -L 29G /dev/examplegroup1/lvexample1

4.    Développez le système de fichiers :

Remarque : en fonction de votre cas d'utilisation, suivez les étapes pour les systèmes de fichiers XFS ou Ext2, Ext3 et Ext4.

Systèmes de fichiers Ext2, Ext3 et Ext4 :

$ sudo resize2fs /dev/examplegroup1/lvexample1

Systèmes de fichiers XFS :

$ sudo xfs_growfs /dev/examplegroup1/lvexample1

Informations connexes

Comment créer un volume logique LVM sur un volume EBS complet?

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a 6 mois