Scratch location set to /scratch – vSAN node on SD card

At the place I work, we experienced continuous “The ramdisk ‘root’ is full” issues on our vSAN ESXi nodes.

The first thing we did was to raise a support call and have vmware check what is filling up the ramdisk.

Support suggested that we need to limit the size of vsantraces to 200MB, and pointed to the below KB Article

https://kb.vmware.com/kb/2150320

This puzzled me, as the vsantraces was not full.

I kept digging and I found out that the scratch partition on the hosts was not pointing scratch -> /tmp/scratch

but it was on / instead.

I have changed the ScratchConfig.CurrentScratchLocation under Advanced Settings, but the change did not persist after a reboot.

Raised another call with support, and after escalating to a senior engineer, we have been pointed to a new KB Article

KB2151209

Seems after upgrading the hosts using a custom HPE ESXi 6.5U1 image, we ran into the same issue, as the Dell EMC custom image

that the article points out.

Checked the drivers and they re were there, even though the card is not in use.

The solution to the issue is as follows:

  1. Stop hostd (disconnects the host from vcenter)
  2. Remove the below drivers
  3. Start hostd (host gets connected back to vcenter)
  4. Configure ScratchConfig.ConfiguredScratchLocation field to /tmp/scratch in Advanced System Settings
  5. Reboot the Host

 

the issue is resolved and scratch is persistent to /tmp/scratch

 

Of course, that wouldn’t be an issue if ESXi was installed onto magnetic disks, or if scratch was redirected to a Datastore (shared storage)

these ESXi nodes form a vSAN cluster where, vSAN is the only Datastore.

 

 

You may also like

Leave a Reply

Your e-mail address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.