Agregar Disco y Extender un Volúmen Lógico

Cuando crear un volúmen lógico en tu servidor o sistema Linux la idea es que puedas ampliar de forma sencilla el espacio disponible en tu punto de montaje cuando lo necesites. La idea principal es que teniendo un punto de montaje operando puedes agregar disco(s) a tu servidor y puedas asignarlo mediante LVM.

Para agregar disco y extender un volúmen lógico o LVM a un sistema solo tienes que conectar o agregar un disco nuevo y asignarlo al volume group para tener ese nuevo espacio como disponible en ese Volume Group y poder ampliar el volúmen lógico. Para lograrlo sigue estos pasos:

1. Agrega un o varios discos: Agrega a tu sistema Linux los discos que desees para aumentar el espacio, los discos lo debe detectar tu servidor y los debe poder identificar con el comando lsblk, si tuvieras algun problema para detectarlo puedes ver este post para mas detalles.

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 
└─sdb1                  8:17   0   1.5T  0 part 
  └─vg--data-lv--data 253:0    0     1T  0 lvm  /data01
sdc                     8:32   0   1.5T  0 disk 
sdd                     8:48   0   1.5T  0 disk 
sr0                    11:0    1  1024M  0 rom  

2. Crear la partición del nuevo disco: En el disco nuevo que identifiques con el comando lsblk debes crear una patición con el comando fdisk.

fdisk /dev/sdc

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): 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/sdc: 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/sdc1       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.

3. Crear el phisical volume en la particion: En el disco que ha sido particionado debes asignarlo como un physical volume mediante el comando pvcreate:

pvcreate /dev/sdc1
Physical volume "/dev/sdc1" successfully created.

4. Se extiende el Volume Group con el nuevo disco: Con el nuevo disco ya con el formato adecuado (physical volume) se debe hacer al disco parte del grupo de volúmenes. Para hacerlo debe extender el volume group con el siguiente comando:

vgextend vg-data /dev/sdc1
  Volume group "vg-data" successfully extended

Al listar los detalles del volume group podras ver que aumentó su tamañó, en este ejemplo de 1.5 TB a 3 TB y que ternia 512 GB libreas a tener

vgdisplay vg-data
  --- Volume group ---
  VG Name               vg-data
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               <3.00 TiB
  PE Size               4.00 MiB
  Total PE              786430
  Alloc PE / Size       262144 / 1.00 TiB
  Free  PE / Size       524286 / <2.00 TiB
  VG UUID               33Aqdr-yLav-Da76-umDJ-JNc3-tohc-VMX4RZ

5. Extender el Logical Volume: Cuando se tiene espacio disponible en el Volume Grup se procede a extender el volumen lógico, que es como extender la partición en un sistema de archivos tradicional con particiones.

El volumen lógico permite crecer de forma más sencilla, por ejemplo de 1TB a 2 TB con el parámetro -L que permite incrementos en M (megas), G (gigas), o T (teras), por ejemplo:
-L+120G : incrementa 120 Gigas al volumen si el actual fuera de 100 GB aumentaría a 220 GB
-L120G : Aumenta el volumen del tamaño indicado, un volumen de 100GB aumentaría a 120 GB

Hay otra opcion para aumentar el tamaño de un volumen lógico con un porcentaje de espacio mediante el parametro -l y puedes indicar el espacio en pocenajes:
-l +50%FREE : aumenta el tamaño del volumen con el 50% del espacio libre
-l +100%FRE : aumenta el espacio del volumen lógivo con el 100% del espacio libre.

Para est ejemplo usaremos el incremento del espacío en un TB

lvextend -L +1T /dev/vg-data/lv-data
  Size of logical volume vg-data/lv-data changed from 1.00 TiB (262144 extents) to 2.00 TiB (524288 extents).
  Logical volume vg-data/lv-data successfully resized.

Si ves los detalles del volúmen lógico antes y despues, podras observar el cambio aquí las salidas de texto. Antes del incremento:

lvdisplay
  --- 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                 1
  LV Size                1.00 TiB
  Current LE             262144
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

Después del incremento:

lvdisplay
  --- 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                 1
  LV Size                2.00 TiB
  Current LE             524288
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0

6. Extender el systema de archivos: Cuando se tiene espacio disponible en el Logical Volume se procede a extender el sistema de archivo, en este caso como es un ext4, pues se realiza con el comando resize2fs. Pero primero veamos como está el sistema de archivos del ejemplo antes de ampliarlo.

df -h /dev/mapper/vg--data-lv--data
Filesystem                     Size  Used Avail Use% Mounted on
/dev/mapper/vg--data-lv--data 1007G   28K  956G   1% /data01

Ahora ejecutemos el comando para ampliar el sistema de archivos con el espacio libre el volúmen lógico.

resize2fs /dev/mapper/vg--data-lv--data
resize2fs 1.44.1 (24-Mar-2018)
Filesystem at /dev/mapper/vg--data-lv--data is mounted on /data01; on-line resizing required
old_desc_blocks = 128, new_desc_blocks = 256
The filesystem on /dev/mapper/vg--data-lv--data is now 536870912 (4k) blocks long.

Aqui el sistema de archivos despues de ampliar al tamaño del volúmen lógico.

df -h /dev/mapper/vg--data-lv--data
Filesystem                     Size  Used Avail Use% Mounted on
/dev/mapper/vg--data-lv--data  2.0T   28K  1.9T   1% /data01

Así es como puedes aumentar el espacio en un disco al agregar un nuevo disco a un Volume Group, una de las características más útiles de gestionar el espacio en disco mediante LVM (Logical Volume Manager).

Posted in Comandos Linux | Tagged , , | Leave a comment

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.

Posted in Comandos Linux | Tagged , | Leave a comment

Detectar un Nuevo Disco en Ubuntu Server

En Ubuntu Server puedes necesitas agregar un disco pero cuando lo agregues puede no detectar un nuevo disco en Ubuntu Server automáticamente, por lo que necesitas forzar un nuevo escaneo del bus SCSI para detectar el disco. Aquí te muestro cómo hacerlo.

Para poder identificar el disco puedes usar el comando lsblk y puedes compronar que tu disco nuevo noa aparece en el listado, ve como detectarlo para que puedas utilizarlo en tu sistema

$ 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
sr0    11:0    1  1024M  0 rom

Identifica el host SCSI

Primero, necesitas identificar a qué host SCSI está conectado el nuevo disco. Puedes encontrar esta información revisando el directorio /sys/class/scsi_host/. Por ejemplo:

$ ls /sys/class/scsi_host/
host0 host1 host2

Esto puede variara en tu sistema operativo, pero la idea es que el nuevo disco está en uno de estos buses. Una vez que hayas identificado el host SCSI, puedes desencadenar un nuevo escaneo del bus SCSI asociado a ese host.

Forzar a detectar el disco nuevo

Utiliza el siguiente comando, reemplazando hostX con el host SCSI apropiado empezando por el de numero más grande que esperando que este sea el que se ha agregado más recientemete. Siguiendo el ejemplo:

echo "- - -" > /sys/class/scsi_host/host2/scan

Al ejecutar el comendo lsblk para listar los dispositivos de bloque aparecerá el disco que has agregado.

root@avt-nxt-cloud01:~# 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

El disco está listo para ser usado en una nueva partición tradicional, crear un nuevo LVM o extender un LVM ya existente para agregar espacio en tu servidor Ubuntu.

Posted in Ubuntu | Tagged , , , | Leave a comment

Ubuntu 24.04 LTS Disponible Desde Hoy

Hace ya tiempo que no escribo en este blog que comencé ya hace varios años con un post en el que escribí sobre Linux Mint 12 cehcando la fecha fue en Enero 23 del 2012 y ya ha pasado un buen tiempo desde esos días. Las cosas que han pasado han sido numerosas y vertiginosas en el mundo de Linux.

Download Descarga Ubuntu Desktop 24.04 LTS

Volviendo al tema del lanzamiento Ubuntu 24.04 LTS es una de esas distribuciones que en verdada involucra algunos cambios importantes y que en general han sido lanzamientos sin muchas caracteristicas relevantes pues solo consideraban la cadencia y actualizaban algunas versiones sin mas.

Este lanzamiento, Ubuntu presenta bastantes novedades interesantes como el nuevo instalados Subiquity que se agrega por primera vez a una version LTS, tabimén se presenta la opción de una instanacion mínima por default. En la parte de sistemas de archivos, esta version de ubuntu, tiene soporte experimental para ZFS y cifrado completo del disco basado en TPM y la habilidad de importar configuraciones de instalación automáticas.

En la parte del usuario se presenta con Gnome 46, una nuevo centro de aplicaciones o App Centre, también una nueva aplicación para actualizar el firmware. Netplan es ahora la herramienta de configuración de red y soporta un modo bidireccional con NetworkManager.

Para descargar Ubuntu 24.04 LTS puedes hacerlo desde los siguientes enlaces:

Ubunru 24.04 LTS Desktop: ubuntu-24.04-desktop-amd64.iso
Ubuntu 24.04 LTS Server: ubuntu-24.04-live-server-amd64.iso

Tambien puedes ver los detalles del anuncio del lanzamiento y leer las notas de la versión por si quiere ver a detalle todo lo que incluye bajo el capó.

Considera las alternativas de descarga en la página oficinal de Cannonical en donde puedes descargar Ubuntu 24.04 por medio de bit-torrent, de algun enlace de alguno de los mirros.

Posted in Software Libre | Leave a comment

Cómo instalar AlmaLinux 9.1

AlmaLinux es una distribución de Linux de código abierto, gratuita y empresarial que se basa en el código fuente de Red Hat Enterprise Linux (RHEL). Cómo Instalar AlmaLinux 9.1 que es compatible con todas las aplicaciones y herramientas de RHEL y es una excelente alternativa para aquellos que buscan un sistema operativo empresarial confiable y estable.

Continue reading

Posted in Centos | Tagged , , , | Leave a comment

Cómo extender un volumen lógico en Linux

Si tienes Linux instalado en algún servidor o alguna máquina virtual que tiene un volumen lógico y requieres agregar más espacio a un punto de montaje específico, lo puedes hacer mediante un par de comando y puede ser incluso en el punto de montaje raíz y no necesitas reiniciar. Ve como extender un volumen lógico y asignar más espacio a un servidor o máquina virtual.

Continue reading

Posted in Software Libre | Leave a comment

Pulseaudio Equalizer for Linux 2022.07 listo para descargar

Equalizador para Linux 2021

Se ha publicado una nueva versión de este software Pulseaudio Equalizer for Linux en su versión 2022.07.0 en donde se resuelven algunos bugs, se corrigen algunos problemas con los presets personales.

Continue reading

Posted in Software Libre | 10 Comments