Cuando queremos extender un volumen LVM en linux, se nos pueden dar dos situaciones, que tengamos un pool de discos y podamos ampliar nuestro volumen desde la propia LUN o en nuestro caso, que sea otra LUN totalmente nueva por lo que el proceso cambia un poco al famoso lvextend.
Para extender un volumen LVM en linux, lo primero que tendremos que hacer es añadir los discos a nuestra máquina, como se puede observar en la imagen, son 3 LUN distintas las que le proveen de discos a esta máquina virtual.
Una vez añadido el disco lo que tendremos que hacer es identificar los
discos con fdisk -l.
En mi caso el disco nuevo a tratar es el siguiente ya que veremos que no tiene un volumen lógico asignado:
Disco /dev/sdc: 2,3 TiB, 2473901162496 bytes, 4831838208 sectores
Unidades: sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes
Creamos un nuevo volumen físico con pvcreate y extendemos el volumen de grupo ya existente con el volumen físico creado.
root@Plex:~# pvcreate /dev/sdc
root@Plex:~# vgextend storage /dev/sdc
Volume group "storage" successfully extended
Ahora si realizamos un pvscan veremos lo siguiente
root@Plex:~# pvscan
PV /dev/sda5 VG Plex-vg lvm2 [19,76 GiB / 0 free]
PV /dev/sdb VG storage lvm2 [2,25 TiB / 0 free]
PV /dev/sdc VG storage lvm2 [2,25 TiB / 2,25 TiB free]
Total: 3 [4,52 TiB] / in use: 3 [4,52 TiB] / in no VG: 0 [0 ]
Como podéis comprobar hay dos volúmenes físicos que tienen asignado el mismo volumen de grupo llamado storage. Lo único que tendremos que hacer es extender este volumen de grupo:
root@Plex:~# lvextend /dev/mapper/storage-vol_storage /dev/sdc
Size of logical volume storage/vol_storage changed from 2,25 TiB (589823 extents) to 4,50 TiB (1179646 extents).
Logical volume storage/vol_storage successfully resized.
Para finalizar, si comprobamos con el comando df, nuestro volumen lógico todavía no tiene el tamaño asignado, hay que hacer un resize al volumen lógico para que quede reflejado:
root@Plex:~# df -h
S.ficheros Tamaño Usados Disp Uso% Montado en
udev 991M 0 991M 0% /dev
tmpfs 201M 3,2M 198M 2% /run
/dev/mapper/Plex--vg-root 18G 1,1G 16G 7% /
tmpfs 1002M 0 1002M 0% /dev/shm
tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs 1002M 0 1002M 0% /sys/fs/cgroup
/dev/sda1 236M 63M 161M 28% /boot
/dev/mapper/storage-vol_storage 2,3T 85M 2,3T 1% /storage
tmpfs 201M 0 201M 0% /run/user/0
root@Plex:~# resize2fs /dev/mapper/storage-vol_storage
resize2fs 1.43.4 (31-Jan-2017)
El sistema de ficheros de /dev/mapper/storage-vol_storage está montado en /storage; hace falta cambiar el tamaño en línea
old_desc_blocks = 288, new_desc_blocks = 576
El sistema de ficheros en /dev/mapper/storage-vol_storage tiene ahora 1207957504 bloques (de 4k).
root@Plex:~# df -h
S.ficheros Tamaño Usados Disp Uso% Montado en
udev 991M 0 991M 0% /dev
tmpfs 201M 3,2M 198M 2% /run
/dev/mapper/Plex--vg-root 18G 1,1G 16G 7% /
tmpfs 1002M 0 1002M 0% /dev/shm
tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs 1002M 0 1002M 0% /sys/fs/cgroup
/dev/sda1 236M 63M 161M 28% /boot
/dev/mapper/storage-vol_storage 4,5T 64M 4,5T 1% /storage
tmpfs 201M 0 201M 0% /run/user/0
root@Plex:~#
Ahora sí, ya tenemos nuestros dos volumenes físicos apuntando al mismo volumen lógico de 4,5TB.
En la anterior entrada podéis ver cómo crear un disco LVM totalmente nuevo, hasta la próxima.