Virtualization Emulator Upgrade via Dual Virtual Machine Segmentation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtual machines running on outdated virtualization emulators face challenges during online upgrades, leading to service interruptions and inability to roll back to earlier versions when upgrades fail, resulting in forced shutdowns.
Innovation Solution
A method involving creating a second virtual machine with the same configuration and device status as the first, allowing the service to resume on the second machine after upgrading the virtualization emulator, ensuring that if the upgrade fails, the system can roll back to the earlier version without interruption.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Duration of action of moving object
If the virtualization emulator is upgraded online without shutting down the virtual machine, then the service continuity is improved, but the upgrade reliability deteriorates because the virtual machine cannot roll back when upgrade fails
Solution Approach 1:
The virtual machine is divided into two independent instances: a first virtual machine running on the first virtualization emulator and a second virtual machine running on the second virtualization emulator. This segmentation allows independent operation of each VM, enabling the second VM to serve as a rollback target if the upgrade fails, thus resolving the contradiction between maintaining service continuity and ensuring upgrade reliability.
Solution Approach 2:
Before upgrading the virtualization emulator, a second virtual machine is pre-created with the same configuration as the first virtual machine but running on the newer emulator version. This preliminary action ensures that if the upgrade fails, the system can immediately roll back to the second virtual machine, maintaining both service continuity and reliability.
2Reliability
If the virtual machine is shut down to upgrade the virtualization emulator, then the upgrade reliability is improved, but the service interruption increases
Solution Approach 1:
By segmenting the virtual machine into two independent instances (first and second VMs), the system can upgrade one VM while keeping the other running. This eliminates the need to shut down the entire virtual machine for upgrade, thus improving reliability without increasing service interruption time.
Solution Approach 2:
The second virtual machine acts as an intermediary that bridges the gap between the old and new virtualization emulator versions. It allows the system to transition smoothly from the first VM (old version) to the second VM (new version) without shutting down, thereby maintaining service continuity while ensuring upgrade reliability.
3Reliability
If a backup mechanism is added to enable rollback, then the upgrade reliability is improved, but the device complexity increases
Solution Approach 1:
Instead of adding a complex backup mechanism, the system segments the virtual machine into two independent instances. The second virtual machine serves as both the new version and the rollback target, eliminating the need for separate backup infrastructure and reducing system complexity while maintaining reliability.
Solution Approach 2:
The second virtual machine is created as a copy of the first virtual machine with the same configuration but running on the newer virtualization emulator version. This copying approach provides a simple and effective rollback mechanism without adding complex backup systems, as the copy can be switched to immediately if needed.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
This application discloses a method and an apparatus for upgrading a virtualization emulator. The method includes: when a first virtual machine is running based on a virtualization emulator of an earlier version, starting a second virtual machine by using the virtualization emulator of a later version, where the second virtual machine has a same configuration as the first virtual machine; and suspending the first virtual machine and the second virtual machine, and sending device status information of the first virtual machine to the second virtual machine, to control the second virtual machine to resume running based on the device status information of the first virtual machine. It can be learned that even if the upgrade fails, an interrupted virtual machine service may resume running on the first virtual machine because the first virtual machine may still resume running based on the virtualization emulator of the earlier version. This avoids a problem that the virtual machine stops running and a virtual machine service is forced to be interrupted and cannot resume running due to an upgrade failure.