Passer au contenu

Comment utiliser LVM pour créer un volume logique sur la partition d'un volume EBS ?

Lecture de 8 minute(s)
0

Je souhaite utiliser Logical Volume Manager (LVM) pour créer un LV sur la partition de mon volume Amazon Elastic Block Store (Amazon EBS).

Résolution

Si vous avez déjà créé et monté un LV, passez à la section Étendre le LV.

Créer des PV sur la partition de votre volume

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

Remarque : Les instances basées sur Nitro exposent des volumes en tant que périphériques NVMe. Les noms des périphériques de stockage en mode bloc suivent le modèle /dev/nvme1n1, /dev/nvme2n1, /dev/nvme3n1, etc. Si vous utilisez une instance basée sur Nitro, remplacez les noms des périphériques dans les étapes suivantes par le nom de périphérique approprié. Pour plus d'informations, consultez la section Noms de périphériques pour les volumes sur les instances Amazon EC2.

Pour créer des volumes physiques sur la partition de votre volume, procédez comme suit :

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

  2. Créez votre volume EBS, puis associez-le à votre instance Amazon EC2.

  3. Exécutez la commande suivante pour installer LVM :

    sudo yum install lvm2 -y

    Remarque : Pour les systèmes basées sur Debian ou Ubuntu, exécutez la commande suivante pour installer l'utilitaire growpart :

    sudo apt-get install -y lvm2
  4. Exécutez la commande gdisk pour créer une partition. Pour l'invite de commande, saisissez n. Pour le code Hex ou GUID de la variable, saisissez 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

    Exemple de sortie :

    Changed type of partition to 'Linux LVM'
    
    OK; writing new GUID partition table (GPT) to /dev/xvdh.
    The operation has completed successfully.
  5. Exécutez la commande lsblk pour confirmer que la partition est créée :

    lsblk

    Exemple de sortie :

    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
  6. Exécutez la commande pvcreate pour créer un volume physique (PV) à partir de la partition. L'exemple suivant crée un PV à partir de /dev/xvdh1 :

    sudo pvcreate /dev/xvdh1

    Exemple de sortie :

    Physical volume "/dev/xvdh1" successfully created.

Créer des groupes de volumes et ajouter le PV au groupe de volumes

Procédez comme suit :

  1. Exécutez la commande vgcreate pour créer un groupe de volumes qui combine les nouveaux PV. L'exemple suivant utilise un PV pour créer le groupe de volumes examplegroup1 :

    sudo vgcreate examplegroup1 /dev/xvdh1

    Exemple de sortie :

    group "examplegroup1" successfully created
  2. Exécutez la commande vgs ou vgdisplay pour afficher les détails du groupe de volumes :

    sudo vgs

    Exemple de sortie :

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

Créer un LV et un répertoire de montage

Procédez comme suit :

  1. Exécutez la commande lvcreate pour créer des LV à partir de votre groupe de volumes. L'exemple suivant crée un LV de 9 Go, lvexample1, à partir du groupe de volumes examplegroup1 :

    sudo lvcreate -n lvexample1 -L 9G examplegroup1

    Exemple de sortie :

    volume "lvexample1" created
  2. Exécutez la commande lvs ou lvdisplay pour afficher les détails du LV :

    sudo lvs

    Exemple de sortie :

    LV          VG             Attr       LSize Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
    lvexample1  examplegroup1  -wi-a----- 9.00g
  3. Exécutez 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

Procédez comme suit :

  1. Exécutez la commande mkfs -t pour créer le système de fichiers :

    sudo mkfs -t xfs /dev/examplegroup1/lvexample1

    Remarque : Remplacez xfs par votre type de système de fichiers. Par exemple, utilisez ext2, ext3 ou ext4.

  2. Exécutez la commande lsblk -f pour vérifier que le système de fichiers est créé :

    lsblk -f

    Exemple de sortie :

    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

    Remarque : Le type de système de fichiers apparaît sous FSTYPE.

  3. Exécutez la commande mount pour monter le système de fichiers dans le répertoire de montage :

     sudo mount /dev/examplegroup1/lvexample1 /mnt1
  4. 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 : Remplacez xfs par votre type de système de fichiers.

Étendre le LV

Pour étendre le LV, augmentez la taille du volume EBS existant ou ajoutez des volumes EBS au groupe de volumes.

Augmenter la taille du volume EBS existant

Remarque : Lorsque vous augmentez la taille de votre volume existant, les modifications de taille prennent généralement effet en quelques secondes après que le volume soit passé à l'état Optimisation. Lorsque le volume indique l'état Optimisation, les performances du volume demeurent entre les spécifications de configuration source et cible. Selon le type de volume, les modifications des performances peuvent prendre entre quelques minutes et plusieurs heures. Pour plus d'informations, reportez-vous à la section Surveiller la progression des modifications de volume Amazon EBS.

Pour augmenter la taille d'un volume EBS existant, procédez comme suit :

  1. Modifiez la taille du volume EBS existant.

  2. Installez l'utilitaire growpart :

    sudo yum install cloud-utils-growpart -y

    Remarque : Pour installer l'utilitaire growpart sur des systèmes basés sur Debian ou Ubuntu, exécutez la commande suivante :

    sudo apt install -y cloud-guest-utils
  3. Exécutez la commande growpart pour étendre la partition. Dans l'exemple suivant, la partition /dev/xvdh1 est étendue :

    sudo growpart /dev/xvdh1    

    Exemple de sortie :

    CHANGED: disk=/dev/xvdh partition=1: start=2048 old: size=20971519,end=16777182 new: size=41940958,end=41943006
  4. Exécutez la commande pvresize pour redimensionner le PV :

    sudo pvresize /dev/xvdh1   

    Exemple de sortie :

    Physical volume "/dev/xvdh1" changed
    1 physical volume(s) resized or updated / 0 physical volume(s) not resized
  5. Exécutez la commande pvs ou pvdisplay pour afficher les détails du PV :

    sudo pvs

    Exemple de sortie :

    PV         VG            Fmt  Attr PSize   PFree
    /dev/xvdh1 examplegroup1 lvm2 a--  <20.00g <13.00g
  6. Exécutez la commande vgs ou vgdisplay pour afficher les détails du groupe de volumes :

    sudo vgs  

    Exemple de sortie :

    VG            #PV #LV #SN Attr   VSize   VFree
    examplegroup1   1   1   0 wz--n- <20.00g <13.00g
  7. Exécutez la commande lvextend pour étendre le LV :

    sudo lvextend -L 19G /dev/examplegroup1/lvexample1
  8. Exécutez la commande lvs ou lvdisplay pour afficher les détails du LV :

     sudo lvs  

    Exemple de sortie :

    LV          VG             Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
    lvexample1  examplegroup1  -wi-a----- 19.00g
  9. Exécutez l'une des commandes suivantes pour étendre le système de fichiers.
    Systèmes de fichiers Ext2, ** Ext3** et Ext4 :

    sudo resize2fs /dev/examplegroup1/lvexample1

    Systèmes de fichiers XFS :

    sudo xfs_growfs /dev/examplegroup1/lvexample1

Ajouter des volumes EBS au groupe de volumes

Procédez comme suit :

  1. Créez un autre volume EBS de 10 Go, puis associez le volume à l'instance.

  2. Créez une partition sur le périphérique /dev/xvdi.

  3. Exécutez la commande pvcreate pour créer un PV. Dans l'exemple suivant, le nom du périphérique de stockage en mode bloc du volume est /dev/xvdi1 :

    sudo pvcreate /dev/xvdi1

    Exemple de sortie :

    Physical volume "/dev/xvdi1" successfully created.
  4. Exécutez la commande vgextend pour étendre le groupe de volumes et ajouter le nouveau volume. L'exemple suivant étend le groupe de volumes examplegroup1 pour inclure le volume /dev/xvdi1 :

    sudo vgextend examplegroup1 /dev/xvdi1

    Exemple de sortie :

    Volume group "examplegroup2" successfully extended
  5. Exécutez la commande vgs ou vgdisplay pour confirmer l’extension :

     sudo vgs  

    L'exemple suivant montre qu'il existe maintenant deux PV dans le groupe de volumes examplegroup1 :

                           #PV #LV #SN Attr   VSize   VFree
    examplegroup1           2   1   0 wz--n-  29.99g   20.99g
  6. Exécutez la commande lvextend pour étendre le LV :

    sudo lvextend -L 29G /dev/examplegroup1/lvexample1
  7. Exécutez l'une des commandes suivantes pour étendre le système de fichiers.
    Systèmes de fichiers Ext2, ** Ext3** et Ext4 :

    sudo resize2fs /dev/examplegroup1/lvexample1

    Systèmes de fichiers XFS :

    sudo xfs_growfs /dev/examplegroup1/lvexample1
AWS OFFICIELA mis à jour il y a 6 mois