Opyntel

Hetzner server disk full: what the console shows, and what to do

If your Hetzner server’s disk is full, the console will not tell you. It graphs CPU, disk I/O and network from the host, so it never shows how full the disk is and sends no alert when it fills. Log in and follow the Linux disk full guide to find and free the space. If you need more room for good, either rescale the server to a type with a bigger disk, which cannot be undone, or attach a Volume, which can grow later but never shrink.

What the Hetzner console shows

The console’s graphs are read from the host, not from inside the server. They cover CPU, disk reads and writes, and network traffic. Disk I/O tells you the disk is busy, not that it is full. The first sign of a full disk is usually a failed deploy, a database that stops writing or a container that will not start.

Free space on a full Hetzner disk first

On Hetzner servers built from the Docker CE app or running Coolify, the space usually goes to /var/lib/docker: images, build cache and container logs. Start here:

bash
df -h
docker system df
sudo du -xh --max-depth=1 /var 2>/dev/null | sort -h | tail -10

The Linux disk full guide has the commands to clean up each one safely.

Grow the disk

OptionWhat happensCan you undo it?
Rescale to a bigger server typeThe primary disk grows with the new type. Grow the partition from the Rescue System afterwards if it did not grow by itself.No. Hetzner never shrinks a disk, so you cannot rescale to a type with a smaller one. Keep the current disk size when scaling up if you may want to scale back down.
Attach a VolumeBlock storage from 10 GB to 10 TB for one server. Move Docker’s data or your database onto it.Grow it any time, with no downtime. It can never shrink.

After growing a Volume in the console, grow its file system on the server:

bash
lsblk                                                 # find the Volume's device
sudo resize2fs /dev/disk/by-id/scsi-0HC_Volume_<id>   # ext4
sudo xfs_growfs /mnt/<volume>                         # XFS

How Opyntel watches Hetzner disks

Opyntel reads your servers from the Hetzner API, and the Opyntel agent, started with one docker run command on each server, reports how full every disk and Volume is from inside, using outbound HTTPS only. It alerts when a disk passes your threshold or is on track to fill, and again when it recovers, by email, Slack or SMS depending on your plan. Every Hetzner server sits in one dashboard with its memory, disk, load and containers, next to the other systems you run.

FAQ

Hetzner disk questions, answered

Disk usage in the console, shrinking after a rescale and growing a Volume.

No. The graphs cover CPU, disk I/O and network, measured from the host. Run df -h on the server, or use an agent that reports from inside.

No. Keep the current disk size when you rescale if you might scale back down, and add a Volume for extra space.

The Volume grows in the console; the file system on it needs resize2fs or xfs_growfs on the server.

The alerts your platform doesn’t send.

One dashboard for everything you run, with the alerts your platforms leave out. Read-only, nothing to install in your apps.

See how it works