This section explains how to implement near-synchronous replication for SQL Server using the ActiveDR feature in FlashArray.
Overview
Everpure ActiveDR is implemented to provide continuous replication for SQL Server databases using block storage volumes on FlashArray or Everpure Cloud Dedicated. ActiveDR continuously transfers data changes from the primary storage array to a secondary array, maintaining an up-to-date copy of the data that can be quickly accessed in the event of a failure. The data is continuously replicated, enabling near-synchronous replication and near-zero recovery point objectives that significantly reduce the risk of data loss during a disaster. This replication occurs with no impact on front-end application performance, ensuring data consistency and availability in SQL Server environments.
Benefits
ActiveDR can be used for non-disruptive failover to a second site, where the instance can be used for test, development, and quality assurance scenarios without interruption to the primary active site. ActiveDR delivers near-zero recovery point objectives with continuous replication for fast data recovery and failover time across almost any distance, while minimizing recovery points and recovery times. It also provides single-command failover, intelligent failback, and non-disruptive data recovery testing to help accelerate response times to outages. With ActiveDR, recovery for SQL Server databases can be conducted without stopping replication, ensuring business continuity during testing and failover. ActiveDR helps improve SQL Server resilience without impacting application or system latency.
Technical Solution
ActiveDR uses storage management containers called pods to group FlashArray storage objects and configuration settings, enabling coordinated failover and failback. Replica links facilitate directional and intelligent auto-reversing replication between these pods. The replication process starts with initial synchronization and baselining, followed by continuous replication operations to maintain data consistency.
The figure below depicts a disaster recovery process between two sites, each having a SQL Server instance and FlashArray storage. The wide area network should have sufficient bandwidth to handle high volumes of replication traffic.
At the production site, pod 1 (source) on the primary FlashArray contains the volumes to be replicated. At the disaster recovery site, pod 2 (target) holds the replicated volumes. Data and applications are continuously replicated from the production site to the disaster recovery site via the replica link. This setup ensures that if the production site fails, the disaster recovery site can quickly take over with minimal data loss.
ActiveDR begins synchronization by transferring baseline data from the source to the target pod, ensuring both sites have a consistent starting point. After the initial synchronization, ActiveDR continuously transfers data changes from the primary to the secondary site in near real time. If the primary site fails, pod 2 is automatically or manually promoted to the new primary source pod. Once pod 1 has been recovered and is back online, ActiveDR can apply re-protection, reversing the replication direction and returning pod 1 to its original status as the source pod.
Code examples for ActiveDR 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 ActiveDR provides near-synchronous replication for SQL Server.