Espacio “desaparecido” en una instancia de Oracle Cloud (OCI)

Al crear una instancia en Oracle Cloud con Oracle Linux, es común que el sistema muestre menos espacio en disco del asignado. En este artículo explico por qué ocurre y cómo solucionarlo correctamente usando LVM.

Oracle Cloud OCI – espacio en disco no asignado en Oracle Linux
Photo by William Warby / Unsplash

Como he mencionado en entradas anteriores, actualmente estoy utilizando instancias (máquinas virtuales) en Oracle Cloud Infrastructure (OCI), específicamente instancias ARM (Ampere A1) que forman parte del Free Tier que ofrece Oracle.

Una de estas instancias fue desplegada con las siguientes características:

  • Sistema operativo: Oracle Linux
  • CPU: 2 cores
  • Memoria RAM: 12 GB
  • Disco (Boot Volume): 100 GB

Sin embargo, al revisar el sistema operativo, noté que el espacio disponible en disco era de aproximadamente 50 GB, lo cual resultaba confuso considerando que el volumen asignado era de 100 GB.

En este artículo explico por qué ocurre esto y cómo solucionarlo correctamente.


Verificación del problema

Para validar el estado del disco utilicé los siguientes comandos:

df -h

Muestra únicamente los sistemas de archivos montados.

Resultado:

  • Solo se visualiza el espacio actualmente asignado al sistema (~50 GB).

lsblk

Muestra los discos y particiones existentes, independientemente de si están montados o no.

Resultado:

  • El disco existe con 100 GB, pero no todo el espacio está asignado.

cfdisk

Muestra el espacio particionado y el espacio libre dentro del disco.

Resultado:

  • Se observan aproximadamente 53 GB sin utilizar.

¿Por qué ocurre esto en OCI?

Este comportamiento es normal en Oracle Cloud.

OCI no expande automáticamente la partición raíz, incluso si el volumen del disco es mayor.
Esto se hace de forma intencional para:

  • Evitar modificaciones automáticas en particiones críticas
  • Permitir al usuario definir su propio esquema de particionado
  • Facilitar escenarios empresariales (LVM, múltiples puntos de montaje, etc.)

En la mayoría de los casos, Oracle Linux en OCI utiliza LVM, lo que simplifica enormemente la solución.


Verificando el uso de LVM

Ejecutamos:

lsblk

Salida típica en Oracle Linux sobre OCI:

sda        100G
├─sda1     100M  /boot/efi
├─sda2       2G  /boot
└─sda3    44.5G  LVM (PV)
   ├─ocivolume-root 24.5G  /
   └─ocivolume-oled 20G   /var/oled

En este punto podemos confirmar que:

  • Solo 44.5 GB del disco están siendo usados por LVM
  • El resto del espacio del disco no está particionado
  • El filesystem raíz (/) no ha sido extendido

Solución recomendada (LVM)

Nota:
Este procedimiento es seguro, se puede ejecutar en caliente y no requiere reinicio.


1️⃣ Extender la partición del disco

sudo growpart /dev/sda 3

Este comando extiende la partición sda3 para utilizar todo el espacio libre del disco.


2️⃣ Redimensionar el Physical Volume (PV)

sudo pvresize /dev/sda3

Ahora LVM puede “ver” el nuevo espacio disponible.


3️⃣ Extender el Logical Volume raíz

sudo lvextend -l +100%FREE /dev/mapper/ocivolume-root

Este paso asigna todo el espacio libre al volumen lógico raíz (/).


4️⃣ Extender el filesystem (XFS)

Oracle Linux utiliza XFS por defecto:

sudo xfs_growfs /

Verificación final

df -h

Ahora el filesystem raíz (/) debería mostrar un tamaño cercano a 80–90 GB, dependiendo del espacio reservado para swap y /var/oled.


Conclusiones y buenas prácticas

  • Este comportamiento no es un error, es el diseño normal de OCI

  • Oracle Linux en OCI utiliza LVM por defecto

  • Siempre es recomendable:

    • Revisar lsblk después de crear una instancia
    • Extender explícitamente las particiones
    • Mantener intacto /var/oled, ya que es utilizado por servicios internos de OCI