How does VirtuCache handle host failure and VMware High Availability (HA) ?
VMware HA is seamlessly and automatically handled in VirtuCache without any administrator intervention.
Host failure and resulting VM restart due to VMware HA is handled differently in VirtuCache ‘Write-Through’ (accelerates only reads) and ‘Write-Back’ (accelerates reads and writes) caching policies.
In both Write-Through and Write-Back caching policies, read caching works in the same way. Frequently and recently used reads are copied from backend storage to in-host cache media (SSD/RAM). So if a host fails and the VMs on that host restart on other hosts in the cluster, reads are not lost since the backend storage has this data.
However, the handling of write cache works differently in write-through caching and write-back caching, when there is host failure.
In write-through caching, writes are written simultaneously to in-host cache media and backend storage (hence write-through caching doesn’t accelerate writes). When a host fails, writes in the cache media are lost, but again there is no data loss since those writes have already been committed to the backend storage.
In write-back caching, VirtuCache caches writes to cache media in the local host, and it mirrors these writes to cache media in another host in the same ESXi cluster. Once the writes are written to both places, VirtuCache sends the write acknowledgment to VMware. Eventually, VirtuCache does flush these writes to the backend storage. But at any point in time, there will always be some writes in the host cache media that are not in the backend storage. If the host fails, VirtuCache immediately syncs the backend storage with the mirrored copy of writes that are on another host. VMs on the failed host will only restart on different hosts in the cluster when the mirrored write cache is synced with backend storage. In this way, VirtuCache protects against data loss when a host fails when using write-back caching policy.
So with both write-through and write-back caching policies, host failure doesn’t result in data loss. And VMs on the failed host restart on other hosts exactly as they would if VirtuCache was not installed.