Parallel Backup Coordination in High-Availability Clusters
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing backup systems in high-availability environments struggle to configure backup preferences and perform backups in parallel, often occupying computing resources needed for client requests, leading to performance degradation and inability to handle multiple availability groups effectively.
Innovation Solution
The system allows for configuring backups against a cluster name, automatically discovering and backing up availability groups, and dynamically determining a preferred node for backups, enabling parallel backups across multiple nodes and offloading workloads from active nodes to improve performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If backups are performed on the active server, then backup functionality is provided, but computing resources are occupied and performance degrades
Solution Approach 1:
The backup operation is extracted from the active server and relocated to a standby server. The active server maintains its primary function of handling client requests, while the backup function is performed separately on the standby server, eliminating resource contention and performance degradation on the active server.
Solution Approach 2:
A backup coordination service acts as an intermediary between the backup software and the cluster nodes. It dynamically determines which node should perform the backup operation based on current cluster state, ensuring backups occur on appropriate nodes without interfering with active server performance.
2Reliability
If backups are performed sequentially on each node, then all nodes are backed up, but backup time increases significantly
Solution Approach 1:
The backup operation is segmented into multiple parallel tasks that can be executed simultaneously on different cluster nodes. The backup software divides the backup work across available nodes, allowing concurrent backup operations rather than sequential execution, thereby reducing total backup time while ensuring all nodes are covered.
Solution Approach 2:
The system enables continuous backup operations by utilizing all available nodes simultaneously. Instead of waiting for one backup to complete before starting the next, the system maintains continuous productive action by running multiple backup operations in parallel across the cluster.
3Ease of operation
If backup preferences are configured manually for each node, then backup control is precise, but configuration complexity increases
Solution Approach 1:
The backup coordination service provides a universal interface for managing backups across the entire cluster. Instead of requiring separate configurations for each node, the service handles backup management centrally, automatically determining which nodes should perform backups based on cluster state and backup policies, thereby simplifying configuration while maintaining precise control.
Solution Approach 2:
The backup coordination service enables the cluster to self-manage backup operations. The service automatically monitors cluster state, determines appropriate backup nodes, and executes backup operations without requiring manual configuration for each node. The system adapts dynamically to changes in cluster configuration and state.
Data Source
AI summary
A high-availability cluster includes a subset of nodes having database instances where each database instance hosts a primary replica having primary databases or a secondary replica having corresponding secondary databases. An availability group includes a primary replica hosted by one database instance on one node and at least one secondary replica hosted by another database instance on another node, the secondary replica being a failover for the primary replica. A first backup preference is determined for a first availability group to identify a first preferred node for a first backup. A second backup preference is determined for a second availability group to identify a second preferred node for a second backup. The backups are triggered on the preferred nodes and the backups can proceed in parallel.


