Montar un Nuevo Disco con LVM

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.

This entry was posted in Comandos Linux and tagged , . Bookmark the permalink.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


*