How does VirtuCache handle host SSD failure?
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 SSD. So if the SSD fails, 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 SSD failure.
In write-through caching, writes are written simultaneously to in-host SSD and backend storage (hence write-through caching doesn’t accelerate writes). When an SSD fails, the writes in the SSD 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 SSD in the local host, and it mirrors these writes to another SSD 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 SSD that are not in the backend storage. If this SSD fails, VirtuCache immediately syncs the backend storage with the mirrored copy of writes that are on another host. In this way, VirtuCache protects against data loss when an SSD fails when using write-back caching policy.
So with both write-through and write-back caching policies, SSD failure doesn’t result in data loss. Only the storage performance of the VMware host goes back to what it was before the SSD failed.
NB: Please don’t RAID1 multiple SSDs to protect against data loss. RAID1 reduces the performance of SSDs. Also, with VirtuCache, RAID1 is not required and it also doesn’t protect against data loss in case of host failure. As described above, VirtuCache protects against data loss in the case of SSD and host failure.