About SmartIO write-back caching for applications running on VxFS file systems

Storage Foundation and High Availability Solutions supports write-back caching on solid-state drives (SSDs) for applications running on Veritas File System (VxFS) file systems. In this scenario, application reads and writes are satisfied from the cache whenever possible.

Note:

SmartIO write-back caching is not currently supported in SF Oracle RAC environments.

SmartIO provides write caching in the writeback mode. In writeback mode, an application write returns success after the data is written to the SmartIO cache, which is usually on an SSD. At a later time, SmartIO flushes the cache, which writes the dirty data to the disk. Write-back caching expects to improve the latencies of synchronous user data writes. Write order fidelity is not guaranteed while flushing the dirty data to the disk.

Write-back caching is superset of read caching. When write-back caching is enabled, read caching is implicitly enabled. Reads are satisfied from the cache if possible, and the file system transparently loads file data into the cache. Both read and write-back caching may be enabled for the same file at the same time.

The writeback caching mode gives good performance for writes, but also means that the disk copy may not always be up to date. If a cache device fails, a file that is cached in writeback mode may not be completely present on the disk. SmartIO has a mechanism to flush the data from the cache device when the device comes back online. Storage Foundation Cluster File System High Availability (SFCFSHA) provides additional protection from data loss with cache reflection.

In the case of SFCFSHA, when writeback mode caching is enabled, SmartIO mirrors the write-back data at the file system level to the other node's SSD cache. This behavior, called cache reflection, prevents loss of write-back data if a node fails. If a node fails, the other node flushes the mirrored dirty data of the lost node as part of reconfiguration. Cache reflection ensures that write-back data is not lost even if a node fails with pending dirty data.

In the case of local mount, if there is no cache mirror, the disk copy of the file can be incomplete or stale if the node fails.

After write-back caching is enabled on the mount point, the qualified synchronous writes in that file system are cached. SmartIO determines if a write qualifies for write-back caching, using criteria such as the following:

You can also customize which data is cached, by adding advisory information to assist the SmartIO feature in making those determinations.