Cuanto trabajas con serviodes es común que el espacio se llegen o se ocupe en un alto porcentaje en algún punto en el tiempo, ya que los servidores en producción llegan a estar operativos por varios años en algunos casos. Para poder otorgar mas espacio a un File System que está gestionado por LVM (Gestion de Volumentes Lógicos por sus siglas en inglés) puedes seguir estos pasos que te menciono en la guía Como extender un Volumen Lógico y el File System en Centos 7.
Como extender un Volumen Lógico y el File System en Centos 7
Los volúmenes lógicos con una buena práctiva, mas aún cuando se manejan almacenamientos por SAN, pero sidependientemente si tu file system está provisto de por un disco local o por una SAN los pasos son validos.
El primer paso es aumentar el espacio en el medio físico, por ejemplo, el que te otorgue el administrador de san, que puede ser entregado por un disco adicional, o también si está en una máquina virtual se puede otorgar aumentado el tamaño del disco mencionado. Este es el caso que vamos a documentar en este post.
Primero Aumenta el espacio del disco.
Para esto tu administrador de la VM o tu mismo, puedes incrementar el espacio, por ejemplo de 150GB a 350GB, en este caso el disco es el segundo disco y se identifica como /dev/sdb
# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_avtmpttest3-lv_root 18G 1.9G 15G 12% / tmpfs 939M 0 939M 0% /dev/shm /dev/sda1 477M 52M 400M 12% /boot /dev/mapper/vg_data-lv_data 147G 105G 35G 76% /home
Para identificar el disco y validar el tamaño podemos usar el siguiente comando:
# fdisk -l Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000c934e Device Boot Start End Blocks Id System /dev/sda1 * 1 64 512000 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 64 2611 20458496 8e Linux LVM Disk /dev/mapper/vg_data-lv_data: 159.4 GB, 159446466560 bytes
Este último renglón es el que nos interesa. Una vez identificado el disco debemos solicitar el incremento y cuando se tenga, debes re-leer la tabla de particiones para que el cambio de tamaño se actualice en el disco y/o partición deseada. En este caso puede haber dos opciones:
1.- reiniciando el servidor
2.- Si el reinicio no es una opción viable, entonces utilizar el comando partx
(que se provee en el paquete util-linux ) con el parámetro --update
en el dispositivo de bloques para
actualice la tabla de particiones del kernel en memoria desde la tabla de particiones en el disco:
partx -u /dev/sdb
Una ver reconocido el espacio adicional asignado al disco se podrá ver con el mismo comando que usamos al principio: fdisk -l
# fdisk -l Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk identifier: 0x000c934e Device Boot Start End Blocks Id System /dev/sda1 * 1 64 512000 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 64 2611 20458496 8e Linux LVM Disk /dev/mapper/vg_data-lv_data: 375.8 GB, 375805444096 bytes ....
Como vemos ya se ha detectado el nuevo espacio en el dispositivo. El siguiente paso es incrementar el espacio en volumen físico. Para esto se debe identificar ese volumen con el comando pvdisplay.
# pvdisplay --- Physical volume --- PV Name /dev/sdb VG Name vg_data PV Size 150.00 GiB / not usable 4.00 MiB Allocatable yes PE Size 4.00 MiB Total PE 38399 Free PE 384 Allocated PE 38015 PV UUID CLc78c-GM4f-3qOS-8Wbf-xSct-bP2E-n1d2ex ...
Incrementa el espacio en el volúmen físico
Para incrementar el espacio en el volumen físico ejecuta el comando:
pvresize /dev/sdb
Una vez ejecutado podrás observar que el espacio se asigno al volumen físico:
# pvdisplay --- Physical volume --- PV Name /dev/sdb VG Name vg_data PV Size 350.00 GiB / not usable 3.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 89599 Free PE 0 Allocated PE 89599 PV UUID CLc78c-GM4f-3qOS-8Wbf-xSct-bP2E-n1d2ex
Incrementa el espacio al volumen lógico
El siguiente paso es incrementar el espacio del volume lógico donde esté el file system que desees modificar, en el caso de este ejemplo vamos a incrementar el espacio de /home.
# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_data-lv_data 147G 105G 35G 76% /home
Asi que debemos ver los datos del volumen lógico lv_data con el comando lvdisplay
# lvdisplay --- Logical volume --- LV Path /dev/vg_data/lv_data LV Name lv_data VG Name vg_data LV UUID FT9090-ZbCa-jBzc-0ruG-eBln-FL47-y3UmsW LV Write Access read/write LV Creation host, time avt-mpt-test-3.30, 2017-06-23 11:23:37 -0500 LV Status available # open 1 LV Size 148.50 GiB Current LE 38015 Segments 1 Allocation inherit Read ahead sectors auto currently set to 256 Block device 253:2
ya que tenemos la información debemos extender el volúmen lógico con espacio que tenemos en el volúlen físico con el siguiente comando:
lvextend -l +100%FREE /dev/vg_data/lv_data
Al ejecutarse podremos ver el espacio disponible actualizado en el volúmen lógico lv_data:
# lvdisplay -v Using logical volume(s) on command line. --- Logical volume --- LV Path /dev/vg_data/lv_data LV Name lv_data VG Name vg_data LV UUID FT9090-ZbCa-jBzc-0ruG-eBln-FL47-y3UmsW LV Write Access read/write LV Creation host, time avt-mpt-test-3.30, 2017-06-23 11:23:37 -0500 LV Status available # open 1 LV Size 350.00 GiB Current LE 89599 Segments 1 Allocation inherit Read ahead sectors auto currently set to 256 Block device 253:2
Extiende el espacio en el file system
Por último debemos ampliar el eslacio del file system mediante el comando resize2fs como los siguientes parámetros:
resize2fs /dev/mapper/vg_data-lv_data
Y podemos confirmar que se ha ampliado el espacio del sistema de archivo montado en /home mediante el comando df
# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/vg_data-lv_data 345G 105G 240G 69% /home
Listo! hemos ampliado un file sistem en Centos 7.
By Gundi 11/18/2022 - 2:21 am
Buenos días.
¿Es posible en una máquina virtual, con un tamaño de disco que no se puede ampliar (tamaño físico completo) reducir el tamaño de un FS y asignárselo a otro?
Por ejemplo,:
/dev/sd1 de 20GB está lleno
/dev/sd15 de 100MB está al 5%
¿es posible quitar 40Mb de sd15 y pasarlos a sd1?
¿Y si en lugar de /dev/sd15 quiero sacar el espacio de tmpfs, se puede?
Un saludo.
Gundi