Live Snapshot Memory First Disk File Synchronization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtualization techniques require significant downtime and can result in data mismatches when creating snapshots of virtual machines, especially for large systems with multiple disks, as they typically halt execution, backup each disk separately, and struggle to manage concurrent modifications during the snapshot process.

Innovation Solution

The hypervisor creates a live snapshot by copying memory in portions and creating a new disk file, allowing for minimal downtime by pausing only when the last portion of memory is copied, and synchronizing original and snapshot disk files without stopping the VM, using copy-on-write semantics and a management file to track progress.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the VM is halted to create a snapshot, then data consistency is ensured, but downtime increases and productivity decreases

Engineering Contradiction:
Improvedata consistencyVSAvoiddowntime
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The hypervisor performs preliminary actions by creating a new disk file and establishing copy-on-write semantics before halting the VM. This preparation allows the snapshot process to complete quickly after the brief pause, minimizing downtime while ensuring data consistency through the pre-configured copying mechanism.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The snapshot process is segmented into distinct phases: (1) creating new disk files for each virtual disk, (2) configuring copy-on-write semantics, (3) halting the VM briefly, (4) copying memory state, and (5) finalizing the snapshot. This segmentation allows most operations to proceed without halting the VM, reducing overall downtime.

Inventive Principle:
Principle #1Segmentation

2Reliability

If each disk is backed up separately, then data consistency is maintained, but the complexity of managing multiple disks increases and time consumption increases

Engineering Contradiction:
Improvedata consistencyVSAvoiddisk management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The hypervisor merges the management of multiple virtual disks into a unified process. By creating a new disk file for each virtual disk and configuring copy-on-write semantics across all disks simultaneously, the system maintains data consistency while simplifying the management complexity compared to separate backup operations.

Inventive Principle:
Principle #5Merging (Combining)

3Productivity

If the VM continues to modify disks during backup, then productivity is maintained, but data mismatches occur between backup and original files

Engineering Contradiction:
Improvecontinuous operationVSAvoiddata consistency
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The new disk file acts as an intermediary between the VM and the original disk file during the snapshot process. Copy-on-write semantics ensure that any modifications by the VM are redirected to the new disk file, preventing data mismatches while allowing the VM to continue operating. The original disk file serves as a backing store, ensuring data consistency is maintained.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11604708B2Memory first live snapshot
Publication Date: 2023.03.14 RED HAT INC
  • US11604708B2 patent drawing
  • US11604708B2 patent drawing
  • US11604708B2 patent drawing

AI summary

The subject matter of this specification can be implemented in, among other things, a method including creating a new disk file at a reference point-in-time, wherein an original disk file is a backing file of the new disk file, copying the original disk file to a disk snapshot file, in response to the original disk file being copied to the disk snapshot file, merging the original disk file and the new disk file to form a merged file, wherein a virtual machine is to continue to perform disk operations using the merged file, and determining whether the merged file is synchronized with the original disk file and the new disk file by determining whether entries of a bitmap for the merged file match corresponding entries of a bitmap for the new disk file.