What Are Virtual Racks?
A virtual rack is an identifier which sorts nodes into logical groups. Data and data-replicas can then be distributed between these groups.
When assigning racks, the best practice is to align them with physical regions, such as Amazon Web Services (AWS) availability zones or Google Cloud Platform (GCP) zones (from here on, we will refer to these regions as physical racks).
In conjunction with replication factor, racks are used by Instaclustr such that if a rack becomes non-responsive (network or power outage), the data is still available in other racks.
This is a core tenet of how Instaclustr Managed Services remain fault tolerant.
How Instaclustr Uses Racks
Typically, when provisioning a cluster, Instaclustr would distribute the nodes across the available physical racks for the service provider and region you selected. As an example, AWS region EU Central (Frankfurt) has three availability zones, eu-central-1a, eu-central-1b & eu-central-1c. The cluster would operate using three racks which mirror the physical availability zones (or physical racks).
Customer clusters that operate under a replication factor of 3 could be assured that if eu-central-1a lost connectivity, then a majority of replicas would still be available and data consistency could be maintained.
Limitations of Physical Racks
Using physical racks is a great way to ensure fault tolerance. However, different regions have varying amounts of physical racks and may not meet the number called for by the customer’s requirements.
Instaclustr has introduced the concept of virtual racks for all supported AWS and GCP regions to better support customers in smaller regions or with higher replication factor requirements.
When creating a cluster, for some of the applications, a customer can nominate their targeted replication factor. Instaclustr will provision a cluster with the same number of racks to satisfy the selected replication factor. If there are not enough physical racks available, Instaclustr will employ the use of virtual racks.
A virtual rack is still assigned to a physical rack in the selected region, but the cluster is configured to treat nodes allocated to this rack as a separate rack. This enables clusters to have a higher replication factor than there are physical racks available.
For example, let’s take AWS region US West (Oregon). This region currently has four physical racks: us-west-2a, us-west-2b, us-west-2c, & us-west-2d. When creating an Apache Cassandra cluster, a customer may now select a target replication factor of 5, and a cluster will be provisioned using the following five racks: us-west-2a, us-west-2b, us-west-2c, us-west-2d, & us-west-2a-ic. Nodes in the us-west-2a-ic rack still physically reside in the us-west-2a rack but they are capable of being treated as separate.
Old clusters keep their configuration. If you wish to take advantage of virtual racks on an old cluster that does not have them enabled, our support team can provision a new data centre with the desired configuration and perform data migration, and optionally decommission the old data centre.
Contact Instaclustr Support for more information about the migration process.
With the utilization of virtual racks, Instaclustr continues to give customers increased control over the configuration and operation of their clusters in our managed service.