Skip to main content

Virtual Storage Containers

A Virtual Storage Container (VSC), also referred to as a volume, is the basic storage unit in the StorONE engine. It is the foundation for filesystem, object, and block architectures. In fact, all storage functionality at the logical volume level is provided by the VSC. Unlike other systems where storage is managed at the group or system level, StorONE allows you to customize storage options at the volume level.

Logical volume configuration parameters include:

  • Resiliency
  • Tiering
  • Dynamic storage allocation
  • Snapshot frequency and retention schedules
  • Replication options

Data resiliency in VSCs

Data resilience in VSCs is provided by vRAID, the StorONE patented implementation of erasure coding. StorONE vRAID enables fully resilient VSCs customized to meet your redundancy requirements. VSCs, or volumes, use specified drive pools as the underlying storage media. When creating a new logical volume, you specify numerical values for fragment data, N, and redundancy data, K. The value you specify for N refers to the number of data fragments, or physical drives that each I/O operation is distributed to. The value you specify for K refers to the redundancy data, which is the number of additional drives used to store parity data for each I/O operation. The practical effect of this is that K is the number of simultaneous physical drive failures that the system can sustain without losing data. Increasing the K value also increases the storage overhead requirements for the VSC. For example, a 4+2 volume (N=4, K=2) can tolerate two drives failing at the same time, but has a storage overhead of 50%.

The I/O operation algorithm

For each I/O operations on the logical volume, StorONE executes simultaneous operations on multiple drives. The number of drives required for each I/O operation depends on the specified N and K values discussed above.

The first value, N, sets the number of drives used to store the data fragments for each I/O operation. The second value, K, sets the number of drives used to store parity data for the operation. This corresponds to the number of simultaneous drive failures that the logical volume can sustain before losing data. The value of N influences the throughput and latency. You can configure the N and K values when creating a VSC, but the value cannot be changed after creation. If the values you specify do not work well with your use case, you can create a new volume with more appropriate values for your throughput and latency requirements.