High Availability for SQL Server Using ActiveCluster

MySQL and MariaDB

Audience
Public
Source Type
Documentation

This section explains how to use ActiveCluster to deploy a high-availability SQL Server database.

Overview

ActiveCluster is a feature of FlashArray designed to provide high availability and business continuity for SQL Server. ActiveCluster uses synchronous replication and automatic transparent failover to deliver both zero recovery point objectives and zero recovery time objectives. ActiveCluster allows multiple SQL Server instances to serve input/output data traffic on the same volume simultaneously, simplifying management and enhancing performance.

Benefits

ActiveCluster can be configured to work within the same data center or across multiple locations. If using ActiveCluster across multiple locations, network latency and bandwidth must be carefully considered. When ActiveCluster is implemented across multiple data centers, this enables the deployment of clustered arrays and hosts in a flexible and active-active data center configuration. This means that data can be accessed and utilized from different sites, providing high availability and disaster recovery capabilities. The active-active configuration allows both the primary and backup systems to actively serve input/output traffic on the same volume for enhanced application performance and resource utilization. ActiveCluster delivers zero recovery point objectives and zero recovery time objectives, ensuring no data loss occurs and that systems remain immediately available during failovers. Failovers are automatic and transparent to applications, ensuring continuous availability without manual intervention.

Additionally, ActiveCluster optimizes latency by serving reads locally, ensuring high performance. It supports both uniform and non-uniform configurations, allowing the setup to be tailored to specific environments. The solution is scalable, enabling the expansion of storage infrastructure without disrupting operations, and it provides enhanced data protection through synchronous replication, ensuring data consistency across sites. These benefits collectively create a highly available, resilient, and efficient SQL Server environment with minimal downtime and optimal performance. ActiveCluster management and setup is as straightforward as managing a single array, thereby reducing administrative overhead.

Technical Solution

To use ActiveCluster for SQL Server high availability, the SQL Server instance should be connected to local (Site A) and remote (Site B) FlashArray storage using Ethernet or Fibre Channel networking, as shown in This uniform storage configuration is recommended to simplify the deployment of failover cluster instances, and it ensures that failovers are transparent and automatic. Should failover occur, local and remote storage are synchronized automatically, ensuring low latency and continuous availability of applications and systems.

Transparent failover with zero recovery point objectives and zero recovery time objectives is achieved using active-active synchronous replication. Unlike active-active solutions that are active-passive at the volume level, ActiveCluster serves reads and writes on a given volume from both sites simultaneously. It also reduces application latency by having reads served locally. ActiveCluster maintains storage efficiency with inline compression on the wire and by performing XCOPY operations, ZeroSnap snapshots, and clones efficiently across arrays.

Code examples for ActiveCluster can be found on the Everpure SQL Server scripts GitHub page, which can be implemented using the Everpure PowerShell SDK2 module.

The figure below illustrates how FlashArray and ActiveCluster enable high availability for SQL Server.

Figure 1. High-availability SQL server with ActiveCluster architecture