¿Cómo uso LVM para crear un volumen lógico en la partición de un volumen de EBS?
Quiero usar Logical Volume Manager (LVM) para crear un LV en la partición de mi volumen de Amazon Elastic Block Store (Amazon EBS).
Resolución
Si ya has creado y montado un volumen lógico (LV), continúa con la sección Ampliación del volumen lógico.
Creación de un volumen físico (PV) en la partición del volumen
La unidad de almacenamiento físico subyacente de un LV es un dispositivo de bloques, como una partición de un volumen o un volumen completo.
Nota: Las instancias basadas en Nitro exponen los volúmenes como dispositivos NVMe. Los nombres de los dispositivos de bloques siguen el patrón /dev/nvme1n1, /dev/nvme2n1, /dev/nvme3n1, etc. Si utilizas una instancia basada en Nitro, reemplaza los nombres de los dispositivos en los siguientes pasos por el nombre de dispositivo correspondiente. Para obtener más información, consulta Nombres de dispositivos para volúmenes en instancias de Amazon EC2.
Para crear volúmenes físicos en la partición del volumen, sigue estos pasos:
-
Abre la consola de Amazon Elastic Compute Cloud (Amazon EC2).
-
Crea tu volumen de EBS y, a continuación, adjunta el volumen a tu instancia de Amazon EC2.
-
Ejecuta el siguiente comando para instalar LVM:
sudo yum install lvm2 -y
Nota: Para los sistemas basados en Debian o Ubuntu, ejecuta el siguiente comando para instalar la utilidad growpart:
sudo apt-get install -y lvm2
-
Ejecuta el comandogdiskpara crear una partición. En la petición Comando, escribe n. Para la variable Código hexadecimal o GUID, escribe 8e00.
El siguiente ejemplo crea la partición /dev/xvdh1 en /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
Resultado de ejemplo:
Changed type of partition to 'Linux LVM' OK; writing new GUID partition table (GPT) to /dev/xvdh. The operation has completed successfully.
-
Ejecuta el comando lsblk para confirmar que se ha creado la partición:
lsblk
Resultado de ejemplo:
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
-
Ejecuta el comandopvcreate para crear un volumen físico (PV) a partir de la partición. El siguiente ejemplo crea un PV a partir de /dev/xvdh1:
sudo pvcreate /dev/xvdh1
Resultado de ejemplo:
Physical volume "/dev/xvdh1" successfully created.
Creación de grupos de volúmenes y adición del volumen físico al grupo de volúmenes
Sigue estos pasos:
-
Ejecuta el comando vgcreate para crear un grupo de volúmenes que combine los nuevos PV. El siguiente ejemplo usa un PV para crear el grupo de volúmenes examplegroup1:
sudo vgcreate examplegroup1 /dev/xvdh1
Resultado de ejemplo:
group "examplegroup1" successfully created
-
Utiliza vgs o vgdisplay para ver los detalles del grupo de volúmenes:
sudo vgs
Resultado de ejemplo:
VG #PV #LV #SN Attr VSize VFree examplegroup1 1 0 0 wz--n- <10.00g <10.00g
Creación de un volumen físico y un directorio de montaje
Sigue estos pasos:
-
Ejecuta el comando lvcreate para crear volúmenes lógicos a partir de tu grupo de volúmenes. El siguiente ejemplo crea un volumen lógico de 9 GB, lvexample1, a partir del grupo de volúmenes examplegroup1:
sudo lvcreate -n lvexample1 -L 9G examplegroup1
Resultado de ejemplo:
volume "lvexample1" created
-
Ejecuta el comando lvs o lvdisplay para ver los detalles del LV:
sudo lvs
Resultado de ejemplo:
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lvexample1 examplegroup1 -wi-a----- 9.00g
-
Ejecuta el comandomkdirpara crear un directorio de montaje. El siguiente ejemplo crea el directorio /mnt1:
sudo mkdir /mnt1
Creación y montaje de un sistema de archivos
Sigue estos pasos:
-
Ejecuta el comando mkfs -t para crear el sistema de archivos:
sudo mkfs -t xfs /dev/examplegroup1/lvexample1
Nota: Sustituye xfs por el tipo de sistema de archivos. Por ejemplo, utilice ext2, ext3 o ext4.
-
Ejecuta el comando lsblk -f para comprobar que se ha creado el sistema de archivos:
lsblk -f
Resultado de ejemplo:
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
Nota: El tipo de sistema de archivos aparece en FSTYPE.
-
Ejecuta el comando mount para montar el sistema de archivos en el directorio mount:
sudo mount /dev/examplegroup1/lvexample1 /mnt1
-
Edita las opciones de montaje en el archivo /etc/fstab para que se mantenga el nuevo montaje después de reiniciar:
/dev/examplegroup1/lvexample1 /mnt1 xfs defaults,nofail 0 0
Nota: Sustituye xfs por el tipo de sistema de archivos.
Ampliación del volumen lógico
Para ampliar el LV, aumenta el tamaño del volumen de EBS existente o agrega volúmenes de EBS al grupo de volúmenes.
Aumento del tamaño del volumen de EBS existente
Nota: Al aumentar el tamaño de tu volumen existente, los cambios de tamaño suelen surtir efecto en unos segundos cuando el volumen entra en estado de Optimización. Sin embargo, si el volumen está en estado de Optimización, el rendimiento del volumen permanece entre las especificaciones de configuración de origen y destino. En función de tu tipo de volumen, los cambios de rendimiento pueden tardar desde unos minutos hasta unas horas. Para obtener más información, consulta Supervisión del progreso de las modificaciones de volumen de EBS.
Para aumentar el tamaño de un volumen de EBS existente, sigue estos pasos:
-
Modifica el tamaño del volumen de EBS existente.
-
Instala la utilidad growpart:
sudo yum install cloud-utils-growpart -y
Nota: Para instalar la utilidad growpart en sistemas basados en Debian o Ubuntu, ejecuta el siguiente comando:
sudo apt install -y cloud-guest-utils
-
Ejecuta el comando growpart para ampliar la partición. En el siguiente ejemplo, se amplía la partición /dev/xvdh1:
sudo growpart /dev/xvdh 1
Resultado de ejemplo:
CHANGED: disk=/dev/xvdh partition=1: start=2048 old: size=20971519,end=16777182 new: size=41940958,end=41943006
-
Ejecuta el comando pvresize para cambiar el tamaño del PV:
sudo pvresize /dev/xvdh1
Resultado de ejemplo:
Physical volume "/dev/xvdh1" changed 1 physical volume(s) resized or updated / 0 physical volume(s) not resized
-
Ejecuta el comando pvs o pvdisplay para ver los detalles del PV:
sudo pvs
Resultado de ejemplo:
PV VG Fmt Attr PSize PFree /dev/xvdh1 examplegroup1 lvm2 a-- <20.00g <13.00g
-
Utiliza vgs o vgdisplay para ver los detalles del grupo de volúmenes:
sudo vgs
Resultado de ejemplo:
VG #PV #LV #SN Attr VSize VFree examplegroup1 1 1 0 wz--n- <20.00g <13.00g
-
Ejecuta el comando lvextend para ampliar el volumen lógico:
sudo lvextend -L 19G /dev/examplegroup1/lvexample1
-
Ejecuta el comando lvs o lvdisplay para ver los detalles del LV:
sudo lvs
Resultado de ejemplo:
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert lvexample1 examplegroup1 -wi-a----- 19.00g
-
Ejecuta uno de los siguientes comandos para ampliar el sistema de archivos.
Sistemas de archivos Ext2, Ext3 y Ext4:sudo resize2fs /dev/examplegroup1/lvexample1
Sistemas de archivos xfs:
sudo yum install xfsprogs
Adición de volúmenes de EBS al grupo de volúmenes
Sigue estos pasos:
-
Crea otro volumen de EBS de 10 GB y, a continuación,adjunta el volumen a la instancia.
-
Crea una partición en el dispositivo /dev/xvdi.
-
Ejecuta el comando pvcreate para crear un PV. En el siguiente ejemplo, el nombre del dispositivo de bloques del volumen es /dev/xvdi1:
sudo pvcreate /dev/xvdi1
Resultado de ejemplo:
Physical volume "/dev/xvdi1" successfully created.
-
Utiliza el comando vgextend para ampliar el grupo de volúmenes y agregar el nuevo volumen. El siguiente ejemplo amplía el grupo de volúmenes examplegroup1 para incluir el volumen /dev/xvdi1:
sudo vgextend examplegroup1 /dev/xvdi1
Resultado de ejemplo:
Volume group "examplegroup2" successfully extended
-
Ejecuta el comando vgs o vgdisplay para confirmar la extensión:
sudo vgs
El siguiente ejemplo muestra que ahora hay dos PV en el grupo de volúmenes examplegroup1:
#PV #LV #SN Attr VSize VFree examplegroup1 2 1 0 wz--n- 29.99g 20.99g
-
Ejecuta el comando lvextend para ampliar el volumen lógico:
sudo lvextend -L 29G /dev/examplegroup1/lvexample1
-
Ejecuta uno de los siguientes comandos 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
Vídeos relacionados


Contenido relevante
- preguntada hace 22 díaslg...
- preguntada hace 2 meseslg...
- preguntada hace 4 meseslg...
- preguntada hace 3 meseslg...
- OFICIAL DE AWSActualizada hace 2 años
- ¿Cómo amplío mi sistema de archivos Linux después de aumentar el volumen de EBS en mi instancia EC2?OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 3 años