ESXi hosts may experience performance issues or failures due to a full ramdisk, particularly in the /var directory. This article outlines the process for identifying the root cause of ramdisk space consumption and resolving the issue.
- VMware ESXi 7.0 and later
- Systems using ramdisk for temporary storage, particularly for the /var directory
Ramdisk space in ESXi can become fully consumed due to large log files or other temporary data accumulating in directories that are not redirected to persistent storage. This often occurs in the /var directory, which is typically mounted as a ramdisk for performance reasons. This ramdisk is often used by plug-ins and add-on products for ESXi which may fill it up when experiencing unintended problems with log rotation.
Follow these steps to identify and resolve the full ramdisk issue:
1. Check ramdisk usage:
a. Connect to the ESXi host via SSH or console.
b. Run the 'vdf
' command to view ramdisk usage.
c. Identify any ramdisks that are near or at 100% capacity.
2. Analyze the /var directory structure:
a. Change to the /var directory: cd /var
b. List the contents with details: ls -lh
c. Identify which subdirectories are symlinks (redirected) and which are not.
3. Investigate non-redirected directories:
a. Focus on directories that are not symlinks, as these consume ramdisk space.
b. Common directories to check include /var/log, /var/run, and /var/lib.
4. Determine directory sizes:
a. Use the 'du' command to check directory sizes: du -sh *
b. Identify the largest directories consuming space on the ramdisk.
5. Locate large files:
a. In the largest directories, use: find . -type f -size +10M
b. This command finds files larger than 10MB; adjust the size as needed.
6. Verify file locations:
a. For each large file, use 'ls -l' to confirm it's not a symlink.
b. Example: ls -l /var/log/large_file.log
7. Correlate file sizes with ramdisk usage:
a. Compare the sizes of identified files with the used space reported by 'vdf'.
b. Confirm that the large files account for the majority of ramdisk usage.
8. Address the issue:
a. For log files: Investigate why they've grown large and consider log rotation or redirection.
b. For other large files: Determine if they can be safely deleted or moved to persistent storage.
c. Implement a long-term solution, such as adjusting log settings or redirecting problematic directories to persistent storage.
9. Verify the resolution:
a. After addressing the large files, rerun the 'vdf' command.
b. Confirm that the ramdisk usage has decreased to an acceptable level.