Redimensionar espacio en disco utilizando fdisk (NMIS 9/RHEL)

Redimensionamiento al 100%

A continuación, desarrollaremos los pasos a seguir para la aumentar espacio en los filesystem de nuestro SO utilizando la herramienta fdisk.

Nos enfocaremos en /sda2/rhel-root, ya que ahí es donde almacenaremos toda la información de nuestros nodos.

Como podemos ver en la siguiente imagen, contamos con 300G en sda que no han sido asignados a algún filesystem.


  • Accedemos a la herramienta fdisk y eliminamos la partición 2 (sda2), que es la que vamos a redimensionar. Presionamos d (delete) para borrar y luego el número 2 (sda2) para seleccionar esa partición.
[root@nmis9 ~]# fdisk /dev/sda

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): d
Partition number (1,2, default 2): 2

Partition 2 has been deleted.


  • Agregamos una nueva partición con la letra n (new), seguido de la letra p (primary) y escribimos el número 2 para seleccionar la partición; en las siguientes dos opciones de los sectores simplemente damos Enter y en la última opción del signature, presionamos la tecla N (No).
Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector (2099200-629145599, default 2099200):
Last sector, +sectors or +size{K,M,G,T,P} (2099200-629145599, default 629145599):

Created a new partition 2 of type 'Linux' and of size 299 GiB.
Partition #2 contains a LVM2_member signature.

Do you want to remove the signature? [Y]es/[N]o: N


  • A continuación, cambiamos el tipo de partición con la letra t (type), seguido del número 2 (sda2) y de 8e para seleccionar una partición tipo Linux VM. Para finalizar, presionamos la tecla w (write) para que la nueva partición que hemos generado se escriba. Podemos verificar que el espacio se ha asignado a /sda2/ ejecutando un lsblk (pero aún falta distribuirlo a rhel-root). Para finalizar este proceso, damos un reboot al servidor.
Command (m for help): t
Partition number (1,2, default 2): 2
Hex code (type L to list all codes): 8e

Changed type of partition 'Linux' to 'Linux LVM'.

Command (m for help): w
The partition table has been altered.
Syncing disks.

[root@nmis9 ~]#
[root@nmis9 ~]# lsblk
NAME          MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda             8:0    0  300G  0 disk
|-sda1          8:1    0    1G  0 part /boot
`-sda2          8:2    0  299G  0 part
  |-rhel-root 253:0    0   17G  0 lvm  /
  `-rhel-swap 253:1    0    2G  0 lvm  [SWAP]


[root@nmis9 ~]# reboot


  • Cuando el servidor haya reiniciado, ejecutamos un pvresize a /dev/sda2 para redimensionar el espacio, seguido de un lvextend a rhel-root para extender el 100% del espacio libre hacia esa partición.
[root@nmis9 ~]# pvresize /dev/sda2
  Physical volume "/dev/sda2" changed
  1 physical volume(s) resized or updated / 0 physical volume(s) not resized


[root@nmis9 ~]# lvextend -l 100%VG /dev/mapper/rhel-root
  Reducing 100%VG to remaining free space <297.00 GiB in VG.
  Size of logical volume rhel/root changed from <17.00 GiB (4351 extents) to <297.00 GiB (76031 extents)
  Logical volume rhel/root successfully resized.


  • Para finalizar, ejecutamos un fsadm a rhel-root para comprobar el tamaño del sistema de archivos y verificar que todo está correcto.
[root@nmis9 ~]# fsadm resize /dev/mapper/rhel-root
meta-data=/dev/mapper/rhel-root  isize=512    agcount=4, agsize=1113856 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=0 inobtcount=0
data     =                       bsize=4096   blocks=4455424, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 4455424 to 77855744


  • Después de todo este proceso, al ejecutar un df -h podremos ver el espacio asignado de manera correcta a nuestra partición /dev/mapper/rhel-root.

Redimensionamiento con porcentajes en cada partición

A continuación, desarrollaremos los pasos a seguir para aumentar espacio en los filesystem de nuestro SO utilizando la herramienta fdisk y asignando porcentajes diferentes a cada partición.

Nos enfocaremos en aumentar las particiones /var a 100GB (72% de 140GB) y / a 40GB (28% de 140GB) que a continuación se muestran en 19GB y 20GB inicialmente.

NAME                MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
nvme1n1             259:0    0  140G  0 disk
└─nvme1n1p1         259:1    0  140G  0 part
  └─vg_data-lv_data 253:2    0  140G  0 lvm  /data
nvme0n1             259:2    0  140G  0 disk
├─nvme0n1p1         259:3    0    1G  0 part /boot
└─nvme0n1p2         259:4    0   39G  0 part
  ├─vg_nmis-lv_root 253:0    0   19G  0 lvm  /
  └─vg_nmis-var     253:1    0   20G  0 lvm  /var


  • Accedemos a la herramienta fdisk y eliminamos la partición 2 (nvme0n1p2), que es la que vamos a redimensionar. Presionamos d (delete) para borrar y luego el número 2 (sda2) para seleccionar esa partición.
[root@nmis9 ~]# fdisk /dev/nvme0n1

Welcome to fdisk (util-linux 2.32.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.


Command (m for help): d
Partition number (1,2, default 2): 2

Partition 2 has been deleted.


  • Agregamos una nueva partición con la letra n (new), seguido de la letra p (primary) y escribimos el número 2 para seleccionar la partición; en las siguientes dos opciones de los sectores simplemente damos Enter y en la última opción del signature, presionamos la tecla N (No).
Command (m for help): n
Partition type
   p   primary (1 primary, 0 extended, 3 free)
   e   extended (container for logical partitions)
Select (default p): p
Partition number (2-4, default 2): 2
First sector : 
Last sector, +sectors or +size{K,M,G,T,P} :

Created a new partition 2 of type 'Linux' and of size 139 GiB.
Partition #2 contains a LVM2_member signature.

Do you want to remove the signature? [Y]es/[N]o: N
  • A continuación, cambiamos el tipo de partición con la letra t (type), seguido del número 2 (nvme0n1p2) y de 8e para seleccionar una partición tipo Linux VM. Para finalizar, presionamos la tecla w (write) para que la nueva partición que hemos generado se escriba. Podemos verificar que el espacio se ha asignado a /nvme0n1p2/ ejecutando un lsblk (pero aún falta distribuirlo a /var y a /). Para finalizar este proceso, damos un reboot al servidor.
Command (m for help): t
Partition number (1,2, default 2): 2
Hex code (type L to list all codes): 8e

Changed type of partition 'Linux' to 'Linux LVM'.

Command (m for help): w
The partition table has been altered.
Syncing disks.

[root@nmis9 ~]#
[root@nmis9 ~]# lsblk
NAME                MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
nvme1n1             259:0    0   140G  0 disk
└─nvme1n1p1         259:1    0   140G  0 part
  └─vg_data-lv_data 253:2    0   140G  0 lvm  /data
nvme0n1             259:2    0   140G  0 disk
├─nvme0n1p1         259:3    0     1G  0 part /boot
└─nvme0n1p2         259:4    0   139G  0 part
  ├─vg_nmis-lv_root 253:0    0   19G  0 lvm  /
  └─vg_nmis-var     253:1    0   20G  0 lvm  /var

[root@nmis9 ~]# reboot
  • Cuando el servidor haya reiniciado, ejecutamos un pvresize a /dev/nvme0n1p2 para redimensionar el espacio, seguido de un lvextend a vg_nmis-lv_root para extenderlo al 28% y un lvextend a vg_nmis-var para extenderlo al 72%.


[root@nmis9 ~]# pvresize /dev/nvme0n1p2

-----

[root@nmis9 ~]# lvextend -l 28%VG /dev/mapper/vg_nmis-lv_root

o

[root@nmis9 ~]# lvextend --size +40G /dev/mapper/vg_nmis-lv_root

-----

[root@nmis9 ~]# lvextend -l 72%VG /dev/mapper/vg_nmis-var

o

[root@nmis9 ~]# lvextend --size +139G /dev/mapper/vg_nmis-var


  • Para finalizar, ejecutamos un fsadm a rhel-root para comprobar el tamaño del sistema de archivos y verificar que todo está correcto.


[root@nmis9 ~]# fsadm resize /dev/mapper/vg_nmis-lv_root

[root@nmis9 ~]# fsadm resize /dev/mapper/vg_nmis-var



NAME                MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
nvme1n1             259:0    0   140G  0 disk
└─nvme1n1p1         259:1    0   140G  0 part
  └─vg_data-lv_data 253:2    0   140G  0 lvm  /data
nvme0n1             259:2    0   140G  0 disk
├─nvme0n1p1         259:3    0     1G  0 part /boot
└─nvme0n1p2         259:4    0   139G  0 part
  ├─vg_nmis-lv_root 253:0    0  38.9G  0 lvm  /
  └─vg_nmis-var     253:1    0 100.1G  0 lvm  /var


Filesystem                   Size  Used Avail Use% Mounted on
devtmpfs                     7.7G     0  7.7G   0% /dev
tmpfs                        7.7G     0  7.7G   0% /dev/shm
tmpfs                        7.7G   25M  7.7G   1% /run
tmpfs                        7.7G     0  7.7G   0% /sys/fs/cgroup
/dev/mapper/vg_nmis-lv_root   39G  5.5G   31G  15% /
/dev/nvme0n1p1               976M  225M  684M  25% /boot
/dev/mapper/vg_nmis-var       99G  564M   94G   1% /var
/dev/mapper/vg_data-lv_data  138G  1.1G  131G   1% /data
tmpfs                        1.6G     0  1.6G   0% /run/user/0