Crear particiones Logical Volume Manager (LVM)
Que son LVM?
Las particiones LVM (Logical Volume Manager) son una tecnología de administración de almacenamiento en Linux que ofrece flexibilidad y eficiencia en la gestión de datos. Con LVM, se crean volúmenes lógicos sobre grupos de volúmenes, en lugar de utilizar particiones estándar. Esto permite redimensionar volúmenes sobre la marcha, sin detener el sistema o realizar copias de seguridad. Además, LVM ofrece características avanzadas como instantáneas para respaldos puntuales, migración de datos y administración de redundancia. En resumen, LVM facilita la administración del almacenamiento en Linux, brindando mayor flexibilidad y facilidad de uso.
Para crear un partición LVM se deben realizar los siguientes pasos tomando como ejemplo el siguientes escenario:
Disco: /dev/sdb
Punto de montaje del LVM: /u01
Instalar el paquete lvm2
Para esta instalación se toma como referencia la distribución RedHat.
# yum install -y lvm2
Validar si el paquete ya se encuentra instalado.
# yum list installed | grep lvm
lvm2.x86_64 8:2.03.14-3.el8 @anaconda
lvm2-libs.x86_64 8:2.03.14-3.el8 @anaconda
Configuración de partición
Vamos a visualizar el disco donde se creara la partición LVM.
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 25G 0 disk
├─sda1 8:1 0 1021M 0 part /boot
└─sda2 8:2 0 24G 0 part
├─ol-root 252:0 0 16G 0 lvm /
└─ol-swap 252:1 0 8G 0 lvm [SWAP]
sdb 8:16 0 50G 0 disk
Creamos la partición del disco sdb.
# fdisk /dev/sdb
Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Device does not contain a recognized partition table.
Created a new DOS disklabel with disk identifier 0x957e9f64.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-104857599, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-104857599, default 104857599):
Created a new partition 1 of type 'Linux' and of size 50 GiB.
Command (m for help): t
Selected partition 1
Hex code (type L to list all codes): L
0 Empty 24 NEC DOS 81 Minix / old Lin bf Solaris
1 FAT12 27 Hidden NTFS Win 82 Linux swap / So c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 83 Linux c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 84 OS/2 hidden or c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 85 Linux extended c7 Syrinx
5 Extended 41 PPC PReP Boot 86 NTFS volume set da Non-FS data
6 FAT16 42 SFS 87 NTFS volume set db CP/M / CTOS / .
7 HPFS/NTFS/exFAT 4d QNX4.x 88 Linux plaintext de Dell Utility
8 AIX 4e QNX4.x 2nd part 8e Linux LVM df BootIt
9 AIX bootable 4f QNX4.x 3rd part 93 Amoeba e1 DOS access
a OS/2 Boot Manag 50 OnTrack DM 94 Amoeba BBT e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 9f BSD/OS e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M a0 IBM Thinkpad hi ea Rufus alignment
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a5 FreeBSD eb BeOS fs
f W95 Ext'd (LBA) 54 OnTrackDM6 a6 OpenBSD ee GPT
10 OPUS 55 EZ-Drive a7 NeXTSTEP ef EFI (FAT-12/16/
11 Hidden FAT12 56 Golden Bow a8 Darwin UFS f0 Linux/PA-RISC b
12 Compaq diagnost 5c Priam Edisk a9 NetBSD f1 SpeedStor
14 Hidden FAT16 <3 61 SpeedStor ab Darwin boot f4 SpeedStor
16 Hidden FAT16 63 GNU HURD or Sys af HFS / HFS+ f2 DOS secondary
17 Hidden HPFS/NTF 64 Novell Netware b7 BSDI fs fb VMware VMFS
18 AST SmartSleep 65 Novell Netware b8 BSDI swap fc VMware VMKCORE
1b Hidden W95 FAT3 70 DiskSecure Mult bb Boot Wizard hid fd Linux raid auto
1c Hidden W95 FAT3 75 PC/IX bc Acronis FAT32 L fe LANstep
1e Hidden W95 FAT1 80 Old Minix be Solaris boot ff BBT
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'.
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
Creamos el volumen físico en LVM y luego validamos que se haya creado.
# pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.
# lvmdiskscan
/dev/sda1 [ 1021.00 MiB]
/dev/sda2 [ 24.00 GiB] LVM physical volume
/dev/sdb1 [ <50.00 GiB] LVM physical volume
2 disks
1 partition
0 LVM physical volume whole disks
2 LVM physical volumes
# pvdisplay
...
"/dev/sdb1" is a new physical volume of "<50.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdb1
VG Name
PV Size <50.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID gGIuvf-cO8R-CUyy-4F43-1Kem-cSrN-uV6wJV
# pvscan
PV /dev/sda2 VG ol lvm2 [24.00 GiB / 4.00 MiB free]
PV /dev/sdb1 lvm2 [<50.00 GiB]
Total: 2 [<74.00 GiB] / in use: 1 [24.00 GiB] / in no VG: 1 [<50.00 GiB]
Configuración del volumen
Crear el grupo vg_u01 indicando la partición.
# vgcreate vg_u01 /dev/sdb1
Crear volumen lógico lv_u01 y que tome el 100% del espacio libre
# lvcreate --name lv_u01 -l 100%FREE vg_u01
En este punto el LVM ya se encuentra creado, esto se puede validar con los siguientes comando: lsblk, lvdisplay
Formatear y montar
Para este ejemplo le daremos el formato al LVM tipo ext4.
# mkfs.ext4 /dev/vg_u01/lv_u01
Ahora ya solo queda montarlo a un directorio
# mkdir -p /u01
# mount /dev/vg_u01/lv_u01 /u01
Luego de realizar el montaje ya puede utilizar el LVM para poder realizar las operaciones necesarias.
# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 3.8G 0 3.8G 0% /dev
tmpfs 3.8G 0 3.8G 0% /dev/shm
tmpfs 3.8G 8.5M 3.8G 1% /run
tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup
/dev/mapper/ol-root 16G 2.1G 13G 14% /
/dev/sda1 989M 220M 703M 24% /boot
tmpfs 767M 0 767M 0% /run/user/0
/dev/mapper/vg_u01-lv_u01 49G 53M 47G 1% /u01
Como ultimo punto luego de un reinicio del sistema operativo este montaje no se configura por lo que sera necesario agregarlo para un montaje automático.
echo "/dev/vg_u01/lv_u01 /u01 ext4 defaults 0 0" | sudo tee -a /etc/fstab > /dev/null
Realizando este paso ya se podrá reiniciar el sistema operativo sin problemas.