ESXi hosts may experience errors indicating "The ramdisk 'root' is full" in the logs. When this occurs, log files such as syslog.log and vmkwarning.log cannot be written. The ramdisk usage percentage increases rapidly over time, potentially reaching critical levels within a few days. This issue prevents proper system logging and may impact troubleshooting capabilities. A reboot of the host temporarily improves the ramdisk space but it re-fills up and causes problems again at about the same rate as before.
ESXi 8.0 sets disk configurations differently depending on the available environment. This varies much more than previous ESXi versions did.
When ESXi is configured to store logs on external persistent storage, the system allocates a smaller amount of space for the ramdisk 'root' partition, as it's not expected to handle continuous logging operations. This smaller ramdisk is sufficient for temporary system operations but will quickly fill up if logging is inadvertently redirected back to the ramdisk.
This redirection can happen during configuration changes, or due to incorrect scratch location settings. The ramdisk, being memory-based with limited capacity, is not designed to store accumulated log files. When logs are written to this limited space instead of their intended persistent storage location, the ramdisk usage percentage increases rapidly, often reaching critical levels within a few days, resulting in the "The ramdisk 'root' is full" error.
To resolve the "ramdisk 'root' is full" error:
Check the current ramdisk usage:
Log in to the ESXi host using SSH
Run the command vdf -h
to view ramdisk usage
Verify where logs are being written:
cd /scratch/log
Note whether the resulting path is a persistent storage device.
If not then this is being directed to the ramdisk
If so then then logging to ramdisk is not your issue. Please follow ESXi host RAM disk is full to find what the issue is.
Follow System logs are stored on non-persistent storage to redirect logs to a persistent volume. These changes take place immediately.
Reboot the ESXi host to clear the ramdisk of the old logging
vdf -h
command after making changes to ensure the resolution is effective.