Para crear una nueva partición LVM y agregar un nuevo disco en un sistema Linux, sigue estos pasos:
1. Conectar el disco: Si es un disco físico nuevo, asegúrate de conectarlo correctamente al sistema y encenderlo si es necesario, si suera un ambiente virtualizado puedes agragar el nuevo disco en vivo o en caliente y hacer que el sistema lo detecte.
2. Identificar el disco: Utiliza comandos como lsblk
, fdisk -l
o lshw
para identificar el nuevo disco recién conectado. Por ejemplo, puede aparecer como /dev/sdb
. Si no aparece puedes ver el enlace anterior.
Veremos este ejemplo donde tenemos 3 discos nuevos de 1.5 TB que ya han sido detectados en el servidor linux. Con el comando lsblk veremos los detalles de estos:
# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
fd0 2:0 1 4K 0 disk
loop0 7:0 0 105.4M 1 loop /snap/core/16574
loop1 7:1 0 104M 1 loop /snap/core/16928
sda 8:0 0 25G 0 disk
├─sda1 8:1 0 1M 0 part
└─sda2 8:2 0 25G 0 part /
sdb 8:16 0 1.5T 0 disk
sdc 8:32 0 1.5T 0 disk
sdd 8:48 0 1.5T 0 disk
sr0 11:0 1 1024M 0 rom
3. Crear una nueva partición: Se utiliza el primero de los discos para en el, crear una particion de tipo linux (83) mediante el comando fdisk, en este comando se pasa como parámetro la ruta del dispositivo y para este ejemplo utilizaremos el disco sdb
fdisk /dev/sdb
Welcome to fdisk (util-linux 2.31.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 0x778e923e.
Command (m for help): p
Disk /dev/sdb: 1.5 TiB, 1649267441664 bytes, 3221225472 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x778e923e
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): 1
First sector (2048-3221225471, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-3221225471, default 3221225471):
Created a new partition 1 of type 'Linux' and of size 1.5 TiB.
Command (m for help): p
Disk /dev/sdb: 1.5 TiB, 1649267441664 bytes, 3221225472 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x778e923e
Device Boot Start End Sectors Size Id Type
/dev/sdb1 2048 3221225471 3221223424 1.5T 83 Linux
Command (m for help): w
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
4. Crear el sistema de archivos LVM: Es necesario crear un sistema de archivos LVM en el disco. Primero, utiliza el comando pvcreate
para inicializar el nuevo disco como un dispositivo físico o physical volume en el LVM.
pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created.
5. Crear el Volume Group en el LVM: Una vez que tengamos uno o varios physical volumes vamos a crear un volume group al cual le debemos poner un nombre, para este ejemplo le daremos el nombre de vg-data. Esto lo hacemos con el siguiente comando:
vgcreate vg-data /dev/sdb1
Volume group «vg-data» successfully created
Validamos que el volume group esta creado con el comando vgdisplay y el nombre de volue group para ver su información
vgdisplay vg-data
--- Volume group ---
VG Name vg-data
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 1
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 0
Open LV 0
Max PV 0
Cur PV 1
Act PV 1
VG Size <1.50 TiB
PE Size 4.00 MiB
Total PE 393215
Alloc PE / Size 0 / 0
Free PE / Size 393215 / <1.50 TiB
VG UUID 33Aqdr-yLav-Da76-umDJ-JNc3-tohc-VMX4RZ
6. Crear el Logical Volume: El volúmen lógico o logical volume es a lo que una partición es en los discos tradicionales, es decir es lo que definirá el tamaño del recurso de almacenamiento que será montado posteriormente. Para crear el volúmen logico utiliza el comando lvcreate al que le tienes que pasar como parámetros un nombre, el tamaño y un nombre de volume group. Usaremos el nombre lv-data con un tamaño de 1 TB y el volume group vg-data
lvcreate -n lv-data --size 1024G vg-data
Logical volume "lv-data" created.
Puedes verificar los datos del volúmen lógico con el comando lvdisplay la ruta del lv, en este caso /dev/vg-data/lv-data
lvdisplay /dev/vg-data/lv-data
--- Logical volume ---
LV Path /dev/vg-data/lv-data
LV Name lv-data
VG Name vg-data
LV UUID Hqonzn-JpAI-FyQG-2qI8-gNtn-IW9Y-1Mks4p
LV Write Access read/write
LV Creation host, time avt-nxt-cloud01, 2024-05-05 01:41:22 +0000
LV Status available
# open 0
LV Size 1.00 TiB
Current LE 262144
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 253:0
7. Crear el sistema de archivo: El volúmen lógico está listo y puede ser formateado como se haría con una partición en el sistema de particiones tradicional. En este cado usaremos el sistema de archivos Ext4 de Linux pero se puede hacer con XFS, ZFS o algun otro.
Para crear el sistema de archivos o dar formato a ese logical volume puedes usar el siguiente comando
mkfs.ext4 /dev/vg-data/lv-data
8. Montar el sistema de archivos: Una vez que está formateado este volúmen lógico puedes montar un nuevo disco con LVM en Linux, por ejemplo en la ruta /data01
mkdir /data01
mount -t ext4 /dev/vg-data/lv-data /data01
Puedes verificar que se encuentra montado en tu servidor o sistema Linux mediante el comando df -h
df -h
Filesystem Size Used Avail Use% Mounted on
udev 1.9G 0 1.9G 0% /dev
tmpfs 395M 1.2M 394M 1% /run
/dev/sda2 25G 12G 12G 50% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 2.0G 0 2.0G 0% /sys/fs/cgroup
/dev/loop0 106M 106M 0 100% /snap/core/16574
/dev/loop1 104M 104M 0 100% /snap/core/16928
tmpfs 395M 0 395M 0% /run/user/1000
/dev/mapper/vg--data-lv--data 1007G 28K 956G 1% /data01
El punto de montaje está listo para almacenar datos en el servidor Linux, pero si en un momento dado requieres agregar un nuevo disco y crecer el espacio de almacenamiento puedes seguir este post donde se describen los pasos para ampliar un volúmen lógico y tener mas espacio agregando discos en el servidor.