Comment puis-je étendre un volume EBS contenant des partitions LVM ?
Je souhaite étendre mon volume Amazon Elastic Block Store (Amazon EBS) contenant des partitions LVM.
Brève description
Il existe deux options pour étendre les volumes logiques :
- Augmenter la taille du volume EBS existant
- Ajouter des volumes EBS supplémentaires à votre groupe de volumes et étendre le VG-LV
Résolution
Option 1 : Augmenter la taille du volume EBS existant
Remarque : les modifications de taille apportées aux volumes existants prennent généralement effet quelques secondes après que le volume passe à l'état d'optimisation. Les performances du volume sont affectées pendant l'état d'optimisation, mais elles ne sont pas inférieures aux spécifications de configuration source. Selon le type de volume, les modifications peuvent prendre de quelques minutes à quelques heures. Pour plus d'informations, reportez-vous à la section Surveiller la progression des modifications de volume.
1. Modifiez la taille du volume EBS existant.
2. Exécutez la commande suivante pour installer l'utilitaire growpart :
$ sudo yum install cloud-utils-growpart
Remarque : exécutez la commande suivante pour installer l'utilitaire growpart pour des systèmes basés sur Debian ou Ubuntu :
$ sudo apt install -y cloud-guest-utils
3. Exécutez la commande growpart pour étendre la partition.
$ sudo growpart /dev/xvdh 1 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. Dans l'exemple suivant, la partition /dev/xvdh1 est étendue :
$ sudo pvresize /dev/xvdh1 Physical volume "/dev/xvdh1" changed 1 physical volume(s) resized or updated / 0 physical volume(s) not resized
Utilisez la commande pvs ou pvdisplay pour afficher les détails du volume physique :
$ sudo pvs PV VG Fmt Attr PSize PFree /dev/xvdh1 examplegroup1 lvm2 a-- <20.00g <13.00g
Utilisez la commande vgs ou vgdisplay pour afficher les détails du groupe de volumes :
$ sudo vgs VG #PV #LV #SN Attr VSize VFree examplegroup1 1 1 0 wz--n- <20.00g <13.00g
5. Exécutez la commande lvextend pour étendre le volume logique :
$ sudo lvextend -L 19G /dev/examplegroup1/lvexample1
Remarque : Dans l'exemple précédent, 19 G est la nouvelle taille augmentée du LV. 19 G n'est pas la taille par laquelle le LV doit être augmenté.
Utilisez la commande lvs ou lvdisplay pour afficher les détails du volume logique :
$ sudo lvs LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lvexample1 examplegroup1 -wi-a----- 19.00g
6. Exécutez la commande suivante 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
Option 2 : Ajouter des volumes EBS supplémentaires à votre groupe de volumes et étendre le VG-LV
1. Créez un autre volume EBS de 10 Go, puis associez le volume à l'instance. Créez une partition sur le périphérique /dev/xvdi en suivant l'étape 3 de Création de volumes physiques sur la partition de votre volume EBS. Exécutez ensuite 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 examplegroup1 pour inclure le volume /dev/xvdi1 :
$ sudo vgextend examplegroup1 /dev/xvdi1 Volume group "examplegroup2" successfully extended
Pour confirmer l'extension, exécutez la commande vgs ou vgdisplay. L'exemple suivant montre qu'il existe désormais deux PV dans le groupe de volumes examplegroup1 :
$ 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
Remarque : Dans l'exemple précédent, 29 G est la nouvelle taille augmentée du LV. 29 G n'est pas la taille par laquelle le LV doit être augmenté.
4. Redimensionnez 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
Étendre un volume agrégé par bandes
L'agrégation par bandes est une technique qui permet de répartir les données sur plusieurs disques. Vous pouvez recevoir un message similaire au suivant lors de l'extension d'un volume logique :
$ pvcreate /dev/xvdd Physical volume "/dev/xvdd" successfully created. $ vgextend vg01 /dev/xvdd Volume group "vg01" successfully extended $ vgs VG #PV #LV #SN Attr VSize VFree vg01 3 1 0 wz--n- <23.99g <13.99g $ lvextend /dev/vg01/lv01 -L +10G Using stripesize of last segment 128.00 KiB Insufficient suitable allocatable extents for logical volume lv01: 1026 more required
L'erreur précédente ou des erreurs similaires se produisent lors de l'extension d'un volume logique « agrégé par bandes » sans ajouter un nombre suffisant de périphériques pour agréger les données par bandes.
Pour éviter ces erreurs lors de l'extension d'un volume agrégé par bandes, procédez comme suit :
1. Exécutez la commande suivante pour identifier le nombre de périphériques sur lesquels le LV agrège les données par bandes.
$ lvs -o+lv_layout,stripes LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Layout #Str lv01 vg01 -wi-a----- 10.00g striped 2
2. La colonne #Str, ou bandes, représente le nombre de périphériques sur lesquels les données sont agrégées par bandes. Dans l'exemple précédent, les données sont agrégées par bandes sur 2 périphériques. Vous devez donc ajouter au moins 2 périphériques (ou des périphériques par multiples de 2) au vg pour étendre le LV. Comme vous avez ajouté un périphérique (dans les étapes précédentes), ajoutez un deuxième périphérique et essayez de l'étendre à nouveau :
$ pvcreate /dev/xvde Physical volume "/dev/xvde" successfully created. $ vgextend vg01 /dev/xvde Volume group "vg01" successfully extended $ vgs VG #PV #LV #SN Attr VSize VFree vg01 4 1 0 wz--n- 31.98g 21.98g $ lvextend /dev/vg01/lv01 -L +10G Using stripesize of last segment 128.00 KiB Size of logical volume vg01/lv01 changed from 10.00 GiB (2560 extents) to 20.00 GiB (5120 extents). Logical volume vg01/lv01 successfully resized. $ lvs -o+lv_layout,stripes LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert Layout #Str lv01 vg01 -wi-a----- 20.00g striped 2 lv01 vg01 -wi-a----- 20.00g striped 2
L'exemple de sortie précédent montre que la commande lvextend s'est correctement terminée lorsque le deuxième périphérique a été ajouté.
3. Exécutez la commande suivante pour redimensionner le système de fichiers :
Systèmes de fichiers Ext2, Ext3 et Ext4 :
$ sudo resize2fs /dev/vg01/lv01
Systèmes de fichiers XFS :
$ sudo xfs_growfs /dev/vg01/lv01
Contenus pertinents
- demandé il y a un anlg...
- demandé il y a 4 jourslg...
- demandé il y a un anlg...
- demandé il y a un anlg...
- AWS OFFICIELA mis à jour il y a 10 mois
- AWS OFFICIELA mis à jour il y a 2 ans
- AWS OFFICIELA mis à jour il y a 2 ans
- AWS OFFICIELA mis à jour il y a 7 mois