Kubernetes Database Backup Consistency via Ordered Quiescing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Kubernetes lacks a mechanism to specify the order in which database application pods should be quiesced for snapshot backups, leading to inconsistencies across cluster deployments.
Innovation Solution
An application template processing system is implemented that uses hook mechanisms to suspend and resume operations in a specific order, ensuring application consistency across all nodes in a Kubernetes cluster by utilizing prehook and posthook commands to manage database quiescing and unquiescing processes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If database pods are quiesced in arbitrary order during backup, then backup operations can be performed, but application consistency across cluster nodes is compromised
Solution Approach 1:
The patent applies preliminary action by quiescing database pods in a specific predetermined order before performing backups. The system identifies the primary pod and quiesces it first, then quiesces secondary pods in sequence, ensuring that data is consistently captured across the cluster before the backup operation begins. This prevents inconsistency issues that would arise from arbitrary quiescing orders.
2Reliability
If database operations are suspended during backup, then data consistency is maintained, but processor resource consumption increases and backup time extends
Solution Approach 1:
The patent segments the database cluster into a primary pod and multiple secondary pods, applying different quiescing strategies to each segment. The primary pod is quiesced first to ensure data consistency, then secondary pods are quiesced in sequence. This segmentation allows the backup process to maintain data integrity while optimizing resource consumption by processing pods in manageable segments rather than all at once.
3Productivity
If multiple database pods are backed up simultaneously, then backup throughput increases, but application consistency across nodes cannot be guaranteed
Solution Approach 1:
The patent applies preliminary action by establishing a predetermined quiescing sequence before initiating parallel backup operations. The primary pod is quiesced first, followed by secondary pods in a specific order. This preliminary ordering ensures that even when backups proceed in parallel, the data consistency requirements are met because the quiescing has already established the proper sequence.
Solution Approach 2:
The patent applies dynamics by allowing the backup process to adapt its parallelization strategy based on the quiescing sequence. While maintaining the required quiescing order for consistency, the system can dynamically parallelize backup operations across multiple pods once they are quiesced, optimizing throughput without compromising reliability.
Data Source
AI summary
Embodiments of an application template process that provides application consistent backups for a wide range of database applications and deployment configurations. The defined application template allows specifying suspend (quiesce) and restart (unquiesce) commands for each type of database application and template selectors to select resources to sequence dependent resources to ensure application consistency of the backup operation in a cluster configuration. Prehook and posthook annotations provide entry points for execution of appropriate program scripts to suspend and restart the respective resource during execution of the application.


