¿Cómo puedo ampliar un volumen de EBS con particiones LVM?

6 minutos de lectura
0

Quiero ampliar mi volumen de Amazon Elastic Block Store (Amazon EBS) que tiene particiones LVM.

Breve descripción

Hay dos opciones para ampliar los volúmenes lógicos:

  1. Aumente el tamaño del volumen de EBS existente.
  2. Añada volúmenes de EBS adicionales a su grupo de volúmenes y amplíe el VG-LV.

Resolución

Opción 1: Aumentar el tamaño del volumen de EBS existente

Nota: Los cambios de tamaño de los volúmenes existentes suelen tener efecto en cuestión de segundos después de que el volumen entre en el estado de optimización. El rendimiento del volumen se ve afectado mientras se encuentra en el estado de optimización, pero no cae por debajo de la especificación de configuración de origen. En función de su tipo de volumen, los cambios de rendimiento pueden tardar desde unos minutos hasta unas horas. Para obtener más información, consulte Supervisar el progreso de las modificaciones de volumen.

1.Modifique el tamaño del volumen de EBS existente.

2.Ejecute el siguiente comando para instalar el paquete de la utilidad growpart:

$ sudo yum install cloud-utils-growpart

Nota: Utilice el siguiente comando para instalar la utilidad growpart en sistemas basados en Debian o Ubuntu:

$ sudo apt install -y cloud-guest-utils

3.Ejecute el comando growpart para ampliar la partición.

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

4.Ejecute el comando pvresize para cambiar el tamaño del PV. En el siguiente ejemplo, se amplía la partición**/dev/xvdh1**:

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

Utilicepvs opvdisplay para ver los detalles del volumen físico:

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

Utilicevgs ovgdisplay para ver los detalles del grupo de volúmenes:

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

5.Ejecute el comando lvextend para ampliar el volumen lógico:

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

**Nota:**En el ejemplo anterior, 19G es el nuevo tamaño aumentado del LV. 19G no es el tamaño en el que se debe aumentar el LV.

Utilice el comandolvs olvdisplaypara ver los detalles del volumen lógico:

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

6.Ejecute el siguiente comando para ampliar el sistema de archivos:

Sistemas de archivos Ext2, Ext3 y Ext4:

$ sudo resize2fs /dev/examplegroup1/lvexample1

Sistemas de archivos XFS:

$ sudo xfs_growfs /dev/examplegroup1/lvexample1

Opción 2: Añada volúmenes de EBS adicionales a su grupo de volúmenes y amplíe el VG-LV

1.Cree otro volumen de EBS de 10 GB y, a continuación,adjunte el volumen a la instancia. Cree una partición en el dispositivo**/dev/xvdi** siguiendo el paso 3 de Crear volúmenes físicos en la partición de su volumen de EBS. A continuación, ejecute el comando pvcreate. En el siguiente ejemplo, el nombre del dispositivo de bloques del volumen es /dev/xvdi1.

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

2.Utilice el comando vgextend para ampliar el grupo de volúmenes y añadir el nuevo volumen. El siguiente ejemplo amplía el grupo de volúmenesexamplegroup1 para incluir el volumen**/dev/xvdi1**:

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

Para confirmar la extensión, ejecute el comando vgs o vgdisplay. El siguiente ejemplo muestra que ahora hay dos PV en el grupo de volúmenesexamplegroup1:

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

3.Ejecute el comando lvextend para ampliar el volumen lógico:

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

Nota: En el ejemplo anterior, 29G es el nuevo tamaño aumentado del LV. 29G no es el tamaño en el que se debe aumentar el LV.

4.Cambiar el tamaño del sistema de archivos:

Sistemas de archivos Ext2, Ext3 y Ext4:

$ sudo resize2fs /dev/examplegroup1/lvexample1

Sistemas de archivos XFS:

$ sudo xfs_growfs /dev/examplegroup1/lvexample1

Ampliar un volumen segmentado

La segmentación es una técnica para distribuir datos en varios discos. Es posible que reciba un mensaje similar al siguiente al extender un volumen lógico:

$ 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

El error anterior o errores similares se producen al extender un volumen lógico «segmentado» sin añadir un número suficiente de dispositivos para segmentar los datos.

Para evitar estos errores al extender un volumen segmentado, siga estos pasos:

1.Ejecute el siguiente comando para identificar la cantidad de dispositivos en los que el LV distribuye los datos.

$ 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 columna #Str, o segmentación, representa la cantidad de dispositivos en los que se distribuyen los datos. En el ejemplo anterior, los datos se distribuyen en 2 dispositivos. Por lo tanto, necesita agregar al menos 2 dispositivos (o dispositivos en múltiplos de 2) al vg para ampliar el LV. Como ha añadido un dispositivo (en los pasos anteriores), añada el segundo dispositivo e intente ampliarlo de nuevo:

$ 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

El resultado del ejemplo anterior muestra que el comando lvextend se ha completado correctamente cuando se ha agregado el segundo dispositivo.

3.Ejecute el siguiente comando para cambiar el tamaño del sistema de archivos:

Sistemas de archivos Ext2, Ext3 y Ext4:

$ sudo resize2fs /dev/vg01/lv01

Sistemas de archivos XFS:

$ sudo xfs_growfs /dev/vg01/lv01
OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 10 meses