27 Jun Cómo crear un volumen lógico (LVM) en una partición creada en un volumen de EBS.
Descripción breve de Logical Volume Manager (LVM).
El LVM, Logical Volume Manager o Gestor de Volúmenes Lógicos, de Linux, es un software que permite la implementar un Arreglo Independiente de Discos Redundantes (RAID) a partir de particiones y presentar estas particiones al sistema operativo como dispositivos nuevos. Para su funcionamiento, asigna discos a uno o mas volúmenes físicos que deben estar particionados como tipo LVM.
LVM le permite asignar espacio en el disco dividir, volver a reflejar en espejo y cambiar el tamaño de los volúmenes lógicos. Con LVM, puede asignar un volumen de EBS o un conjunto de volúmenes de EBS a uno o más volúmenes físicos.
Comandos para utilizar LVM:
- Crear Volúmenes Físicos con (PV) a partir de los volúmenes EBS.
- Crear Grupos de Volúmenes (VG) en estos grupos añadimos los volúmenes físicos a estos grupos de volúmenes.
- Creamos Volúmenes Lógicos (LV) estos volúmenes se añaden a los grupos de volúmenes y se montan en sistemas de archivos.
- gdisk con este comando podremos particionar discos rígidos de cualquier tamaño con una tabla de particiones GPT de GUID (impresión de discos mayores a 2 TB).
Crearemos una partición xvdh1
en un volumen o disco xvdh
.
Usaremos el comando gdisk
para crear la partición. Para la variable Código hexadesimal o GUID escribiremos 8e00
. Este ejemplo es para crear 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 Changed type of partition to 'Linux LVM' ... OK; writing new GUID partition table (GPT) to /dev/xvdh. The operation has completed successfully.
Para confirmar las particiones creadas usamos el comando lsblk
.
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
Aquí comenzamos a crear los volúmenes físicos con el comando (PV), para ello utilizaremos el comando pvcreate
, En el siguiente ejemplo crearemos un volumen físico a partir de /dev/xvdh1
.
sudo pvcreate /dev/xvdh1 Physical volume "/dev/xvdh1" successfully created.
Crearemos un grupo de volúmenes y los añadiremos a este grupo de volúmenes los volúmenes físicos creados anteriormente. Con (VG) utilizaremos el comando vgcreate
para crear este grupo de volúmenes para combinar los nuevos volúmenes físicos. En el ejemplo usaremos un volumen físico para crear el grupo de volúmenes (examplegroup1).
sudo vgcreate examplegroup1 /dev/xvdh1 Volume group "examplegroup1" successfully created
Para validar que hemos creado el grupo de volúmenes podemos usar los comandos vgs
o vgdispaly
.
sudo vgs VG #PV #LV #SN Attr VSize VFree examplegroup1 1 0 0 wz--n- <10.00g <10.00g
Crearemos un volumen lógico (LV) y un directorio de montaje (punto de montaje o montura). Para ello utilizaremos el comando lvcreate
, para crear los volúmenes lógicos (particiones) a partir de el grupo de volúmenes creado anteriormente. En el ejemplo crearemos un volumen lógico de 9GB, ( lvexample1) a partir del grupo de volúmenes (examplegroup1).
sudo lvcreate -n lvexample1 -L 9G examplegroup1 Logical volume "lvexample1" created
Para verificar usamos el comando vgs
o vgdisplay
y veremos 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----- 9.00g
Usaremos el comando mkdir
para crear un directorio para montar el volumen. En este ejemplo utilizaremos /mnt1
.
sudo mkdir /mnt1
Ahora creamos y montamos el sistema de archivos. Utilizaremos los comandos siguientes. Crear sistema de archivos mkfs -t
, Nota: Se debe sustituir xfs por el tipo de sistema de archivos, de ser diferente, por ejemplo (ext2, ext3 o ext4).
sudo mkfs -t xfs /dev/examplegroup1/lvexample1
Ejecutamos el comando lsblk -f
para comprobar la creación del nuevo sistema de archivos. Nota: el tipo de sistema de archivos que se creo en el paso anterior se encuentra en el apartado 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
Montaremos nuestro sistema de archivos con el comando mount
.
sudo mount /dev/examplegroup1/lvexample1 /mnt1
Para que este montaje sea permanente editaremos el archivo fstab, (/etc/fstab
).
/dev/examplegroup1/lvexample1 /mnt1 xfs defaults,nofail 0 0
Nota: Si su tipo de sistema de archivos no es xfs, sustituya xfs por el tipo del archivo en /etc/fstab
.
Happy Hacking!