This article provides guidance for resolving simultaneous alarms regarding non-persistent system logs and missing coredump targets on ESXi 8.x hosts. These symptoms typically occur following an upgrade or installation when the boot media does not meet the revised hardware requirements for the ESX-OSData partition.
System logs are required for auditing and diagnostic purposes. If system logs are not stored permanently on a datastore, the logs disappear after a reboot. The esx.problem.syslog.nonpersistent message triggers when the system stores log files on non-persistent storage.
This occurs under the following conditions:
The advanced system parameter Syslog.global.logDir is configured to a temporary location, for example [] /tmp.
The location for system logs is not configured, causing the system to use the scratch partition by default. If the scratch location is set to non-persistent storage, such as /tmp, the message triggers.
Symptoms:
ESXi hosts display the warning: System logs on host [hostname] are stored on non-persistent storage.
ESXi hosts display the warning: No coredump target has been configured. Host core dumps cannot be saved.
Advanced setting ScratchConfig.CurrentScratchLocation points to a temporary ramdisk directory (e.g., /tmp/_osdata...) instead of persistent storage.
Important Note for vSAN: vSAN datastores are not supported for persistent logging and must not be used to configure a scratch location. Redirecting system logs to a vSAN object causes an ESXi host lock up.
For additional context on vSAN environments and scratch locations, refer to the below KB articles:
VMware vCenter Server 8.0.x
VMware vCenter Server 7.0.x
VMware vSphere ESXi 8.0.x
VMware vSphere ESXi 7.0.x
Applicable also to older and out-of-support versions
ESXi 7.x and 8.x system architecture requires a minimum of 32 GB (128 GB recommended) of persistent local storage to provision the ESX-OSData partition. This partition houses the scratch area for logs and coredumps.
If the boot media (USB/SD card) is 30 GB or less, the installer cannot create the OSData partition. The system defaults to a volatile RAMDisk for scratch space and coredumps, triggering the alarms.
Redirecting these partitions to a vSAN datastore is unsupported and causes host unresponsiveness. Reference: Redirecting system logs to a vSAN object causes an ESXi host lock up
In the vSphere Client navigator, select the Hosts and Clusters view.
Select the host object in the vSphere Client navigator.
Click the Configure tab, then the System expander.
Under System, click Advanced System Settings.
Ensure Syslog.global.logDir points to a persistent location.
If the Syslog.global.logDir field is empty or points to a scratch partition, ensure the ScratchConfig.CurrentScratchLocation field shows a location on persistent storage.
If the folder used as a scratch location is shared by multiple ESXi hosts, set the Syslog.global.logDirUnique field to avoid contention over log files.
Note: To log to a datastore, the Syslog.global.logDir entry format is [Datastorename]/foldername. To log to the scratch partition set in ScratchConfig.CurrentScratchLocation, the format is blank or []/foldername.
Browse to the host in the vSphere Web Client navigator.
Click the Manage tab, then click Settings.
Under System, click Advanced System Settings.
Ensure Syslog.global.logDir points to a persistent location.
If the Syslog.global.logDir field is empty or points to a scratch partition, ensure the ScratchConfig.CurrentScratchLocation field shows a location on persistent storage.
If the folder used as a scratch location is shared by multiple ESXi hosts, set the Syslog.global.logDirUnique field to avoid contention over log files.
In vSphere Client, select the host in the inventory panel.
Click the Configuration tab, then click Advanced Settings under Software.
Ensure Syslog.global.logDir points to a persistent location. Specify the directory as [datastorename] path_to_file where the path is relative to the datastore (for example, [datastore1] /systemlogs).
If the Syslog.global.logDir field is empty or explicitly points to a scratch partition, ensure the ScratchConfig.CurrentScratchLocation field shows a location on persistent storage.
Note: Reboot the ESXi server for the Scratch configuration changes to update. The current configuration location must match the configured location to ensure successful changes.
To resolve the highlighted errors regarding system logs on non-persistent storage, ensure the ESXi host has compliant persistent local storage.
Replace Boot Media: Replace USB/SD boot devices with persistent local storage (SSD/NVMe/HDD/SATADOM) of at least 32 GB (128 GB recommended for 8.x).
Re-install/Reconfigure: Install ESXi on the new compliant media. The installer automatically provisions the ESX-OSData partition.
Verify Scratch: Navigate to Host > Configure > System > Advanced System Settings and verify ScratchConfig.CurrentScratchLocation points to the persistent OSData volume.
Re-register Coredump: If the coredump alarm persists, run the following command via SSH:esxcli system coredump file set --smart --enable true
To determine the friendly name of a datastore when the scratch location is in a UUID format (/vmfs/volumes/####-####-####-####/foldername):
Connect to the working host via an SSH session and log in with root credentials.
Run the following command:esxcli storage filesystem list
The output is similar to the following:/vmfs/volumes/####-####-####-#### abc-lun3 ####-####-####-#### true VMFS-5 805037932544 400613703680
In this example, abc-lun3 is the friendly name of the datastore displayed in vCenter or the host client. Configure the Syslog.global.logDir entry in the format of [abc-lun3]/foldername.