Data is the lifeblood of a company. If the data is completely lost, a company could be at risk of going out of business. If the underlying storage performs too slowly, the company will not be able to compete successfully with competitors who can store and retrieve data quicker. When a customer selects a hyperconverged infrastructure solution to store their data, it’s important to make sure that writes occur as quickly as possible, while also ensuring their long-term integrity within the system. Some companies take shortcuts in this formula, for example sacrificing data integrity to improve performance. SimpliVity takes both equally seriously, ensuring that the data is well protected before acknowledging the write back to the VM without sacrificing performance. This post will walk through the process of writing a block of data and highlight these features along the way.
When the Operating System inside a virtual machine (VM) writes a block to a virtual disk, the blocks are processed through an NFS share presented off the OmniStack Virtual Controller. The OmniStack Virtual Controller is a virtual machine that runs on every SimpliVity OmniStack node which contains the software stack that is the foundation of the SimpliVity Data Virtualization Platform. The processing capabilities within the OmniStack Virtual Controller is augmented by the OmniStack Accelerator Card, allowing the system to perform inline deduplication and compression without the typical latency penalties.
The OmniStack Virtual Controller first commits the block to NVRAM, which is backed by flash storage and a bank of super capacitors, all located on the OmniStack Accelerator Card, to prevent data loss in the event of a power loss. At the same time, the data is sent to the OmniStack Virtual Controller on a secondary node — automatically defined per VM — to be synchronously committed to NVRAM on its OmniStack Accelerator Card. Immediately after commitment to NVRAM, the process for deduplication and compression begins independently on each node.
At this point, the data has been committed to two OmniStack nodes, so we have data that is protected from power loss and the complete loss of an entire node. An acknowledgement is now sent back to ESXi and then to the VM. After that, the write process is complete from the guest operating system’s point of view.
Independently, the OmniStack Virtual Controllers on each node work with any compressed unique blocks to combine them together to create a very efficient full stripe write onto the HDDs. Once a full stripe has been created, the blocks are written to the HDDs. Write I/O has been reduced to the HDDs due to the deduplication, compression, and the optimization of the blocks.
Overall, this process creates a very efficient and safe platform for storing data. With deduplication at the core of the Data Virtualization Platform, every SimpliVity system gains thorough capacity savings, and I/O efficiency, all with no degradation of performance while keeping the data well protected.