VFIO Snapshot Backup for Virtual Machine Data Consistency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data backup methods for virtual machines are inefficient and prone to failures due to timing dependencies, performance overhead, and security vulnerabilities, particularly when using volume snapshot services and multiple proxy VMs, which can lead to application performance degradation and increased risk of attacks.
Innovation Solution
The implementation of virtual filter I/O (VFIO) snapshots, where an I/O filter driver intercepts and stores I/O operations on mirror disks, allowing for the creation of a VFIO snapshot that verifies against a production snapshot, reducing overhead and enabling selective backup without relying on timing for success, and ensuring secure communication channels.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If VSS snapshot is used to quiesce application state, then application data consistency is improved, but application performance is degraded due to timing constraints and repeated quiesce/resume events
Solution Approach 1:
The backup system is segmented into multiple components: application agent, proxy VM, and storage system. The application agent handles quiescing and verification, while the proxy VM handles snapshot creation. This segmentation allows the application to quiesce only when necessary and verify backup completeness without performance degradation.
Solution Approach 2:
The application agent performs preliminary actions by quiescing the application state before the snapshot is taken and verifying the backup completeness after the snapshot is created. This preliminary action ensures data consistency without requiring the application to remain quiesced throughout the entire backup process.
2Reliability
If multiple proxy VMs are deployed for backup, then backup reliability is improved, but system complexity and security risk are increased
Solution Approach 1:
The application agent receives feedback from the proxy VM regarding snapshot creation status and uses this feedback to verify backup completeness. The agent can determine whether the backup is complete based on the snapshot metadata, eliminating the need for complex coordination between multiple proxy VMs.
3Reliability
If application agent reaches out to proxy VM for backup completion, then backup verification is improved, but communication overhead and failure risk are increased
Solution Approach 1:
The snapshot metadata serves as an intermediary that carries backup completion information between the proxy VM and the application agent. Instead of direct communication requiring credentials and authentication, the metadata acts as a mediator that conveys the necessary information efficiently.
4Ease of operation
If timing-based approach is used for backup completion, then backup process simplicity is improved, but failure rate increases due to timeouts and retries
Solution Approach 1:
The timing-based mechanical approach is replaced with a verification-based approach using snapshot metadata. Instead of relying on time thresholds and timeout mechanisms, the system uses the metadata to definitively determine backup completion, eliminating arbitrary timing constraints and associated failures.
Data Source
AI summary
A method includes identifying a state of an application and taking a snapshot of application data. The method continues to generate a virtual filter input/output snapshot from I/O filter records for the snapshot. The filer records are generated by a filter driver that intercepts I/Os between the application and disks that store application data. The method further includes releasing the snapshot, resuming the application and performing a backup using the virtual filter I/O snapshot. Finally, the method triggers the filter driver to replace multiple filter driver records corresponding to the virtual filter I/O snapshot with data indicating the application data was backed up using the virtual filter I/O snapshot.


