VM Metadata Service for State Persistence Without Persistent Disks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud computing systems face challenges in persisting the state of virtual machines across host machines without requiring persistent disks, which limits storage efficiency and dynamic system design.
Innovation Solution
A metadata service is used to store and manage VM-generated metadata, allowing VMs to persist their state and migrate between host machines, while reducing storage overhead and enabling dynamic system design.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If persistent disks are used to store VM state, then VM persistence across host machines is achieved, but storage overhead increases and storage efficiency decreases
Solution Approach 1:
The patent extracts the essential VM state information into a separate metadata structure that can be stored in memory or in a lightweight metadata service, separating it from the bulk persistent disk storage. This allows VM state to be persisted across host machines without requiring full persistent disk attachments, thereby reducing storage overhead while maintaining reliability.
Solution Approach 2:
The patent changes the storage parameter from full disk-based persistence to metadata-based persistence, storing only essential state parameters (CPU state, memory state, device state) in a compact format. This parameter change enables efficient storage with reduced overhead while maintaining the ability to restore VM state across host machines.
2Loss of information
If VM state is frequently updated and synced to storage, then up-to-date VM state view is achieved, but system complexity and storage I/O overhead increase
Solution Approach 1:
The patent introduces a metadata service as an intermediary between VMs and persistent storage. This service handles the complexity of state synchronization, allowing VMs to update their state without direct complex interactions with storage systems. The metadata service manages the syncing process, reducing both system complexity and I/O overhead while maintaining up-to-date VM state information.
Solution Approach 2:
The patent uses copying of metadata structures to maintain VM state information. Instead of complex real-time synchronization, the system creates copies of VM state metadata that can be efficiently updated and propagated. This copying approach simplifies the system architecture while ensuring that VM state information remains current across the distributed system.
3Reliability
If persistent disks are required for VM migration, then VM state persistence is ensured, but system flexibility and dynamic design are limited
Solution Approach 1:
The patent segments VM storage into two parts: ephemeral data on temporary storage and essential state metadata on persistent storage or in a metadata service. This segmentation allows the VM to be migrated more flexibly, as only the essential metadata needs to be preserved for state restoration, while the bulk ephemeral data can be handled more dynamically. This increases system flexibility and adaptability for VM migration scenarios.
Solution Approach 2:
The patent creates a universal metadata structure that can serve multiple functions: VM state persistence, VM migration support, and dynamic system design. This metadata service can be used across different host machines and storage configurations, making the system more adaptable and versatile. The same metadata mechanism works whether VMs are migrating or persisting on a single host, eliminating the need for specialized persistent disk requirements.
Data Source
AI summary
Methods, systems, and apparatus, including computer programs encoded on computer storage media, for maintaining virtual machine metadata. One of the methods includes initializing a first virtual machine (VM) on a first host machine using one or more elements of user-specified initialization metadata. Upon receiving a notification that the first VM has published one or more elements of VM-generated metadata, one or more elements of VM-generated metadata are obtained. A request is received for the one or more elements of VM-generated metadata, and the one or more elements of VM-generated metadata are provided in response to the request.


