WO2018045908A1 - 虚拟机热迁移处理方法及系统 - Google Patents

虚拟机热迁移处理方法及系统 Download PDF

Info

Publication number
WO2018045908A1
WO2018045908A1 PCT/CN2017/099988 CN2017099988W WO2018045908A1 WO 2018045908 A1 WO2018045908 A1 WO 2018045908A1 CN 2017099988 W CN2017099988 W CN 2017099988W WO 2018045908 A1 WO2018045908 A1 WO 2018045908A1
Authority
WO
WIPO (PCT)
Prior art keywords
page
memory
physical machine
virtual machine
dirty
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2017/099988
Other languages
English (en)
French (fr)
Inventor
张超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Publication of WO2018045908A1 publication Critical patent/WO2018045908A1/zh
Priority to US16/294,876 priority Critical patent/US10915412B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operations
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/461Saving or restoring of program or task context
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/481Exception handling

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a virtual machine hot migration processing method and system.
  • Virtual machine (VM) hot migration is a key technology in cloud computing operations. It migrates virtual machines from one physical machine to another through hot migration to realize dynamic scheduling of computing resources and physical faults. dimension.
  • the traditional hot migration technology is performed in a pre-copy manner.
  • the virtual machine's memory is copied from the source physical machine to the destination physical machine in an iterative manner. Because the virtual machine is always running at this time, the virtual machine's memory can be recursively copied to the destination physical machine by requiring multiple rounds of copying. This often takes a long time, resulting in the heat of the entire virtual machine. Migration takes a long time.
  • a delayed copy also called a postcopy
  • the hot migration service unit in the source physical machine sends the context information necessary for the virtual machine to run (the virtual machine running context information) to the hot migration service unit in the destination physical machine.
  • the destination hot migration service unit triggers the virtual machine to run on the destination physical machine.
  • the page fault exception event is triggered, and the destination hot migration service unit is from the source.
  • the corresponding physical page is copied in the physical machine for reading and writing the memory page by the destination virtual machine.
  • the working principle is as follows: 1.
  • the destination virtual machine receives the read.
  • the request includes the identifier of the first memory page.
  • the destination virtual machine searches the memory for the memory page corresponding to the identifier of the first memory page. If there is no memory page corresponding to the identifier of the first memory page in the memory, the destination virtual
  • the machine sends a read page fault notification message to the destination hot migration service unit, and the read page fault notification message includes the identifier of the first memory page. 3.
  • the destination hot migration service unit receives the read page fault notification message, and sends the read copy request to the source hot migration service unit, where the read copy request includes the identifier of the first memory page. 4.
  • the source hot migration service unit receives the read copy request, and searches for and obtains the memory page corresponding to the identifier of the first memory page and its attribute in the memory of the source virtual machine. 5.
  • the source hot migration service unit sends the obtained memory page corresponding to the identifier of the first memory page and its attribute to the destination hot migration service unit. 6.
  • the destination hot migration service unit receives the memory page corresponding to the identifier of the first memory page and its attribute and stores it in the memory of the destination virtual machine, so that the destination virtual machine subsequently reads the first memory page. 7.
  • the destination virtual machine receives the write request, and the write request includes the identifier of the second memory page.
  • the destination virtual machine searches the memory for the memory page corresponding to the identifier of the second memory page. If the memory page corresponding to the identifier of the second memory page does not exist in the memory, the destination virtual machine sends a write page fault notification message to the destination hot migration service unit, and the write page fault notification message includes the identifier of the second memory page. .
  • the destination hot migration service unit receives the write page fault notification message, and sends the write copy request to the source hot migration service unit, where the write copy request includes the identifier of the second memory page. 10.
  • the source hot migration service unit receives the write copy request, and searches for and obtains the memory page corresponding to the identifier of the second memory page and its attribute in the memory of the source virtual machine. 11.
  • the source hot migration service unit sends the obtained memory page corresponding to the identifier of the second memory page and its attribute to the destination hot migration service unit.
  • the destination hot migration service unit receives the memory page corresponding to the identifier of the second memory page and its attribute and stores it in the memory of the destination virtual machine, so that the destination virtual machine subsequently writes the second memory page.
  • the prior art has at least the following defects: in the process of performing a virtual machine hot migration in a delayed copy mode, when a network interruption occurs, and a virtual machine fails to be created on the physical machine at the destination end, the hot migration is interrupted, and the hot migration is not completed.
  • the destination physical machine does not have all the memory pages. Therefore, the destination physical machine does not have a virtual machine instance that can be directly restored.
  • the virtual machine cannot run independently on the destination physical machine, and the virtual machine is already running on the destination physical machine. Some of the memory pages on the source physical machine have expired and do not have a virtual machine instance that can be directly restored. Therefore, the virtual machine cannot be rolled back to the source physical machine to run independently.
  • the present invention provides a virtual machine hot migration processing method and system for rolling back a virtual machine to a source physical machine for independent operation after a hot migration failure.
  • the present invention provides a virtual machine hot migration processing method, including: after a virtual machine hot migration fails in a delayed copy mode, the target physical machine records the dirty page according to the recorded dirty page record table. Each dirty page memory page corresponding to the identifier of each dirty page memory page in the table is copied to the source physical machine; the source physical machine updates and stores the copied dirty page memory pages.
  • the present invention provides a virtual machine hot migration processing method, including: in a delayed copy mode, a destination physical machine performs a virtual machine heat corresponding to the write request for a write request from a source physical machine. a process of the migration process; in the process of executing the virtual machine hot migration process corresponding to the write request, if the attribute of the memory page corresponding to the write request is readable and writable, the write The identifier of the corresponding memory page is requested to be recorded in the dirty page record table.
  • the present invention provides a virtual machine hot migration processing system, including a source physical machine and a destination physical machine, wherein: the destination physical machine is configured to perform virtual machine hot migration failure in a delayed copy mode. And copying, according to the recorded dirty page record table, the dirty page memory pages corresponding to the identifiers of the dirty page memory pages in the dirty page record table to the source physical machine; the source physical machine And for updating and storing the copied dirty page memory pages.
  • the present invention provides a virtual machine hot migration processing system, including a source physical machine and a destination physical machine, wherein: the destination physical machine is configured to target the physical source from the source in a delayed copy mode.
  • a write request of the machine executing a virtual machine hot migration process corresponding to the write request; in the process of executing a virtual machine hot migration process corresponding to the write request, if the write request corresponds to a memory page attribute For readable and writable, the identifier of the memory page corresponding to the write request is recorded in the dirty page record table;
  • the source physical machine is configured to send a write request to the destination physical machine.
  • the virtual machine hot migration processing method and system provided by the present invention after the virtual machine hot migration fails, copies the dirty page memory pages corresponding to the identifiers of the dirty page memory pages in the dirty page record table. Update storage to the source physical machine, so that the source physical machine has a complete and up-to-date memory page, and the virtual machine can be rolled back to the source physical machine for independent operation.
  • FIG. 1 is a schematic diagram of an existing virtual machine migration system architecture diagram and interaction logic
  • FIG. 2 is a schematic flowchart diagram of an embodiment of a virtual machine hot migration processing method according to the present invention
  • FIG. 3 is a schematic flowchart diagram of still another embodiment of a virtual machine migration processing method according to the present invention.
  • FIG. 4 is a schematic flowchart of a possible implementation manner of a virtual machine migration processing method in the embodiment shown in FIG. 3;
  • FIG. 5 is a schematic structural diagram and interaction logic diagram of a virtual machine migration system corresponding to the virtual machine migration processing method shown in FIG. 4;
  • FIG. 6 is a schematic flowchart diagram of still another embodiment of a virtual machine migration processing method according to the present invention.
  • FIG. 7 is a schematic flowchart of a possible implementation manner of a virtual machine migration processing method in the embodiment shown in FIG. 6;
  • FIG. 8 is a schematic structural diagram and interaction logic diagram of a virtual machine migration system corresponding to the virtual machine migration processing method shown in FIG. 7;
  • FIG. 9 is a schematic flowchart diagram of still another embodiment of a virtual machine migration processing method according to the present invention.
  • FIG. 10 is a schematic flowchart of a possible implementation manner of a virtual machine migration processing method in the embodiment shown in FIG. 9;
  • FIG. 11 is a schematic structural diagram and interaction logic diagram of a virtual machine migration system corresponding to the virtual machine migration processing method shown in FIG. 10;
  • FIG. 12 is a schematic flowchart diagram of still another embodiment of a virtual machine migration processing method according to the present invention.
  • FIG. 13 is a schematic flowchart of a possible implementation manner of a virtual machine migration processing method in the embodiment shown in FIG. 12;
  • FIG. 14 is a schematic structural diagram and interaction logic diagram of a virtual machine migration system corresponding to the virtual machine migration processing method shown in FIG. 13;
  • FIG. 15 is a schematic flowchart diagram of still another embodiment of a virtual machine migration processing method according to the present invention.
  • FIG. 16 is a schematic flowchart diagram of still another embodiment of a virtual machine migration processing method according to the present invention.
  • FIG. 17 is a schematic flowchart of a possible implementation manner of a virtual machine migration processing method in the embodiment shown in FIG. 16;
  • FIG. 18 is a schematic structural diagram and interaction logic diagram of a virtual machine migration system corresponding to the virtual machine migration processing method shown in FIG. 17;
  • FIG. 19 is a schematic flowchart diagram of still another embodiment of a virtual machine migration processing method according to the present invention.
  • FIG. 20 is a schematic flowchart diagram of still another embodiment of a virtual machine migration processing method according to the present invention.
  • FIG. 21 is a schematic flowchart of a possible implementation manner of a virtual machine migration processing method in the embodiment shown in FIG. 20;
  • FIG. 22 is a schematic structural diagram and interaction logic diagram of a virtual machine migration system corresponding to the virtual machine migration processing method shown in FIG. 21;
  • FIG. 23 is a schematic structural diagram of an embodiment of a virtual machine migration processing system according to the present invention.
  • FIG. 2 is a schematic flowchart diagram of an embodiment of a virtual machine hot migration processing method according to the present invention.
  • the virtual machine hot migration processing method in the embodiment of the present invention is a migration and fallback process after a hot migration failure, and specifically includes:
  • the dirty page memory pages corresponding to the identifiers of the dirty page memory pages in the dirty page record table are Copy to the source physical machine.
  • the destination physical machine is thermally migrated according to the virtual machine.
  • the dirty page record table recorded in the process the dirty page record table records the identifier of each dirty page memory page, and copies the dirty page memory pages corresponding to the identifiers of the dirty page memory pages to the source physical machine.
  • a network transmission abnormality occurs between the physical machine at the destination end and the physical machine at the source end, such as a network interruption or a network transmission speed lower than a normal value or fluctuation.
  • the migrated virtual machine cannot successfully create a virtual machine instance on the destination physical machine. There are many factors that cause this situation. For example, the physical characteristics of the CPU required by the migrated virtual machine cannot be met on the physical machine at the destination end, or the clock synchronization is abnormal, or the physical machine of the destination end itself is faulty.
  • the virtual machine instance is created and runs abnormally. For example, it may be due to the process of migration
  • the memory copy error causes an abnormal operation, and the virtual machine instance may be abnormal due to a failure of the destination physical machine itself.
  • the monitoring system responsible for managing a plurality of physical machines can be monitored for the above three situations.
  • the virtual machine hot migration fails, and the physical machine to the above objective is determined.
  • the notification message of the virtual machine hot migration failure is sent, thereby triggering the subsequent processing of step S201.
  • the first case described above is a network failure, and the cases in the second and third cases are non-network failures.
  • the foregoing monitoring behavior may be completed by the operating system of the physical machine itself. After the abnormality is found, the target physical machine directly performs the subsequent processing of step S201.
  • a dirty page memory page is a memory page that has been written in the physical machine at the destination during the virtual machine hot migration process.
  • the source physical machine updates and stores the copied dirty page memory pages.
  • the source physical machine updates each memory page corresponding to the identifier of each dirty page memory page in the dirty page record table according to the copied dirty page memory page.
  • the dirty page memory pages corresponding to the identifiers of the dirty page memory pages in the dirty page record table are copied to the source physical machine.
  • the storage is updated so that the source physical machine has a complete and up-to-date memory page, and the virtual machine can be rolled back to the source physical machine to run independently.
  • FIG. 3 is a schematic flowchart diagram of still another embodiment of a virtual machine migration processing method according to the present invention.
  • the virtual machine migration processing method in the embodiment of the present invention is a possible implementation manner of the virtual machine migration processing method in the embodiment shown in FIG. 2, and describes a pre-copy method after a non-network failure causes a hot migration failure.
  • the migration rollback process may include:
  • Step S201 in the embodiment shown in FIG. 2 may specifically include the following steps S301-S302.
  • the destination physical machine searches for and obtains the dirty information in the dirty page record table according to the identifier of the dirty page memory page in the dirty page record table.
  • Each memory page corresponding to the identifier of the page memory page serves as a dirty page memory page.
  • the destination physical machine sends the virtual machine running context information, the dirty page record table, and each dirty page memory page to the source physical machine.
  • the network connection between the physical machine at the destination end and the physical machine at the source end can still be performed.
  • the physical machine at the destination end can directly run the virtual machine. Context information, dirty page record table, and dirty page memory pages are sent over the network to the source physical machine.
  • the source physical machine updates and stores the received dirty page memory pages.
  • step S303 is the same as step S202 in the embodiment shown in FIG. 2, and details are not described herein again.
  • the source physical machine triggers the source virtual machine deployed on the source physical machine to run on the source physical machine according to the virtual machine running context information.
  • FIG. 4 is a schematic flowchart of a feasible implementation manner of the virtual machine migration processing method in the embodiment shown in FIG.
  • the source virtual machine and the source hot migration service unit are deployed in the destination physical machine with the destination virtual machine and the destination hot migration service unit. As shown in Figure 4, it includes:
  • the destination hot-migration service unit receives the notification message of the hot-migration failure sent by the physical machine at the destination end, and the notification message of the hot-migration failure includes non-network failure information that causes the hot migration failure.
  • the destination hot migration service unit searches for and obtains, in the memory of the destination virtual machine, the identifier corresponding to the identifier of each dirty page memory page in the dirty page record table according to the identifier of each dirty page memory page in the dirty page record table. Dirty page memory page.
  • the destination hot migration service unit sends the virtual machine running context information, the dirty page record table, and the dirty page memory pages to the source hot migration service unit.
  • the source hot migration service unit stores the received dirty page memory page update into the memory of the source virtual machine.
  • the source hot migration service unit triggers the source virtual machine to run on the source physical machine according to the virtual machine running context information.
  • the interaction diagram of the virtual machine migration system corresponding to the virtual machine migration processing method shown in FIG. 4 and the non-network failure result in the migration migration process in the pre-copy mode are as shown in FIG. 5, and includes:
  • the destination hot migration service unit searches for and obtains, in the memory of the destination virtual machine, the identifier corresponding to the identifier of each dirty page memory page in the dirty page record table according to the identifier of each dirty page memory page in the dirty page record table. Dirty page memory page.
  • the destination hot migration service unit sends the virtual machine running context information, the dirty page record table, and the dirty page memory pages to the source hot migration service unit.
  • the source hot migration service unit stores the received dirty page memory page update into the memory of the source virtual machine.
  • the source hot migration service unit triggers the source virtual machine to run on the source physical machine according to the virtual machine running context information.
  • the dirty page memory pages corresponding to the identifiers of the dirty page memory pages in the dirty page record table are copied to the source physical machine for updating. Storage, so that the source physical machine has a complete and up-to-date memory page, and the virtual machine can be rolled back to the source physical machine to run independently.
  • FIG. 6 is a schematic flowchart diagram of still another embodiment of a virtual machine migration processing method according to the present invention.
  • the virtual machine migration processing method in the embodiment of the present invention is a possible implementation manner of the virtual machine migration processing method in the embodiment shown in FIG. 2 , and describes a delayed copy mode after a non-network failure causes a hot migration failure.
  • the migration rollback process may include:
  • Step S201 in the embodiment shown in FIG. 2 may specifically include the following steps S601-S605.
  • the source physical machine marks each memory page corresponding to the identifier of each dirty page memory page in the dirty page recording table as an invalid page according to the identifier of each dirty page memory page in the dirty page recording table.
  • the source physical machine triggers deployment on the source physical layer according to the virtual machine running context information.
  • the source virtual machine on the machine runs on the source physical machine.
  • the source physical machine receives the memory access request and searches for a memory page corresponding to the identifier of the target memory page in the memory access request.
  • the source physical machine acquires the memory page corresponding to the identifier of the target memory page from the destination physical machine.
  • the network connection can still be performed between the physical machine at the destination end and the physical machine at the source end.
  • the destination physical machine is used.
  • the virtual machine running context information and the dirty page record table can be directly sent to the source physical machine through the network.
  • the source physical machine receives the dirty page record table, and marks each memory page corresponding to the identifier of each dirty page memory page in the dirty page record table according to the identifier of the dirty page memory page in the dirty page record table as The invalid page is triggered, and the source virtual machine deployed on the source physical machine is triggered to run on the source physical machine according to the received virtual machine running context information.
  • the source physical machine obtains the corresponding dirty page memory page from the destination physical machine.
  • the memory access request may specifically be a read request or a write request.
  • step S202 in the embodiment shown in FIG. 2 is specifically the following step S606.
  • the source physical machine updates and stores the obtained memory page corresponding to the identifier of the target memory page, and marks the page as a valid page.
  • FIG. 7 is a schematic flowchart of a feasible implementation manner of the virtual machine migration processing method in the embodiment shown in FIG.
  • the source virtual machine and the source hot migration service unit are deployed in the destination physical machine with the destination virtual machine and the destination hot migration service unit. As shown in Figure 7, it includes:
  • the destination hot-migration service unit receives the notification message of the hot-migration failure sent by the physical machine at the destination end, and the notification message of the hot-migration failure includes the non-network failure information that causes the hot migration to fail.
  • the destination hot migration service unit sends the virtual machine running context information and the dirty page record table to the source hot migration service unit.
  • the source-side hot-migration service unit marks, according to the identifier of each dirty page memory page in the dirty page record table, each memory page corresponding to the identifier of each dirty page memory page in the memory of the dirty page record table in the memory of the source virtual machine. Is an invalid page.
  • the source hot migration service unit triggers the source virtual machine to run on the source physical machine according to the virtual machine running context information.
  • the source virtual machine receives the memory access request, and searches for a memory page corresponding to the identifier of the target memory page in the memory access request in the memory.
  • the source virtual machine sends a page fault notification message to the source hot migration service unit, where the page fault notification message includes the target memory page. logo.
  • the source hot migration service unit receives the page fault notification message, and sends the copy request to the destination hot migration service unit, where the copy request includes an identifier of the target memory page.
  • the destination hot-migration service unit receives the copy request, and searches for and acquires a memory page corresponding to the identifier of the target memory page in the memory of the destination virtual machine.
  • the destination hot migration service unit sends the obtained memory page corresponding to the identifier of the target memory page to the source hot migration service unit.
  • the source hot migration service unit stores the received memory page update corresponding to the identifier of the target memory page into the memory of the source virtual machine, and marks the page as a valid page.
  • the interaction diagram of the virtual machine migration system corresponding to the virtual machine migration processing method shown in FIG. 7 and the non-network failure cause the migration migration process in the delayed copy mode after the hot migration failure is as shown in FIG. 8 , and includes:
  • the destination hot migration service unit After receiving the notification message of the hot migration failure sent by the physical machine at the destination end (the notification message of the hot migration failure includes the non-network failure information that causes the hot migration failure), the destination hot migration service unit receives the notification message of the hot migration failure.
  • the destination hot migration service unit sends the virtual machine running context information and the dirty page record table to the source hot migration service unit.
  • the source-side hot-migration service unit marks, according to the identifier of each dirty page memory page in the dirty page record table, each memory page corresponding to the identifier of each dirty page memory page in the memory of the dirty page record table in the memory of the source virtual machine. Is an invalid page.
  • the source hot migration service unit triggers the source virtual machine to run on the source physical machine according to the virtual machine running context information.
  • the source virtual machine receives a memory access request, where the memory access request includes an identifier of the target memory page.
  • the source virtual machine searches for a memory page corresponding to the identifier of the target memory page in the memory. If the found memory page corresponding to the identifier of the target memory page is marked as an invalid page, the source virtual machine sends a page fault notification message to the source hot migration service unit, and the page fault notification message includes the identifier of the target memory page. .
  • the source hot migration service unit receives the page fault notification message, and sends the copy request to the destination hot migration service unit, where the copy request includes an identifier of the target memory page.
  • the destination hot migration service unit receives the copy request, and searches for and obtains a memory page corresponding to the identifier of the target memory page in the memory of the destination virtual machine.
  • the destination hot migration service unit sends the obtained memory page corresponding to the identifier of the target memory page to the source hot migration service unit.
  • the source hot migration service unit stores the received memory page update corresponding to the identifier of the target memory page into the memory of the source virtual machine, and marks the page as a valid page.
  • the dirty page memory pages corresponding to the identifiers of the dirty page memory pages in the dirty page record table are copied to the source physical machine for updating. Storage, so that the source physical machine has a complete and up-to-date memory page, and the virtual machine can be rolled back to the source physical machine to run independently.
  • FIG. 9 is a schematic flowchart diagram of still another embodiment of a virtual machine migration processing method according to the present invention.
  • the virtual machine migration processing method in the embodiment of the present invention is a possible implementation manner of the virtual machine migration processing method in the embodiment shown in FIG. 2, and describes a network failure caused by a hot migration failure in a pre-copy mode.
  • the migration fallback process may specifically include:
  • Step S201 in the embodiment shown in FIG. 2 may specifically include the following steps S901-S903.
  • the destination physical machine stores the virtual machine running context information, the dirty page record table, and the dirty page memory pages into the external memory, and sets the migration status flag of the external memory to a migration failure state.
  • the source physical machine periodically polls the migration status flag of the external memory.
  • the migration status flag in the external memory is polled, the virtual machine running context information and the dirty page record table are obtained from the external storage. And dirty pages of memory pages.
  • the network link and the storage link between the physical machine at the destination end and the physical machine at the source end are separated links, because the physical machine at the destination end and the source end are physically The network connection is not possible between the machines.
  • the destination physical machine can store the virtual machine running context information, the dirty page record table, and the dirty page memory pages in the external memory, and the source physical machine is externally The virtual machine running context information, the dirty page record table, and each dirty page memory page are obtained in the memory.
  • the source physical machine updates and stores the obtained dirty page memory pages.
  • step S904 is the same as step S202 in the embodiment shown in FIG. 2, and details are not described herein again.
  • the source physical machine triggers the source virtual machine deployed on the source physical machine to run on the source physical machine according to the running context information of the virtual machine.
  • FIG. 10 is a schematic flowchart of a feasible implementation manner of the virtual machine migration processing method in the embodiment shown in FIG.
  • the source virtual machine and the source hot migration service unit, the destination physical machine and the destination hot migration service unit are deployed in the destination physical machine, and the storage link is established between the source physical machine and the destination physical machine through the external storage.
  • it includes:
  • the destination hot-migration service unit receives the notification message of the hot-migration failure sent by the physical machine at the destination end, and the notification message of the hot-migration failure includes the network fault information that causes the hot migration to fail.
  • the destination hot migration service unit searches for and obtains, in the memory of the destination virtual machine, the identifier corresponding to the identifier of each dirty page memory page in the dirty page record table according to the identifier of each dirty page memory page in the dirty page record table. Dirty page memory page.
  • the destination hot migration service unit stores the virtual machine running context information, the dirty page record table, and the dirty page memory pages into the external memory, and sets the migration status flag of the external memory to a migration failure state.
  • the source hot migration service unit periodically polls the migration status flag of the external memory, and when the polling status flag in the external memory is polled, the virtual machine running context information and the dirty page are obtained from the external storage. Record table and dirty page memory pages.
  • the source hot migration service unit stores the received dirty page memory page update into the memory of the source virtual machine.
  • the source hot migration service unit triggers the source virtual machine to run on the source physical machine according to the virtual machine running context information.
  • the destination hot migration service unit After receiving the notification message of the hot migration failure sent by the physical machine at the destination end (the notification message of the hot migration failure includes the network failure information that causes the hot migration failure), the destination hot migration service unit receives the notification message of the hot migration failure.
  • the destination hot migration service unit searches for and obtains, in the memory of the destination virtual machine, the identifier corresponding to the identifier of each dirty page memory page in the dirty page record table according to the identifier of each dirty page memory page in the dirty page record table. Dirty page memory page.
  • the destination hot migration service unit stores the virtual machine running context information, the dirty page record table, and the dirty page memory pages into the external memory, and sets the migration status flag of the external memory to a migration failure state.
  • the source hot migration service unit periodically polls the migration status flag of the external memory, and when the migration status flag in the external memory is polled, the virtual machine running context information and the dirty page are obtained from the external storage. Record table and dirty page memory pages.
  • the source hot migration service unit stores the received dirty page memory page update into the memory of the source virtual machine.
  • the source hot migration service unit triggers the source virtual machine to run on the source physical machine according to the virtual machine running context information.
  • the dirty page memory pages corresponding to the identifiers of the dirty page memory pages in the dirty page record table are copied to the source physical machine for updating. Storage, so that the source physical machine has a complete and up-to-date memory page, and the virtual machine can be rolled back to the source physical machine to run independently.
  • FIG. 12 is a schematic flowchart diagram of still another embodiment of a virtual machine migration processing method according to the present invention.
  • the virtual machine migration processing method in the embodiment of the present invention is a possible implementation manner of the virtual machine migration processing method in the embodiment shown in FIG. 2, and describes a network failure causing a hot migration failure to be performed in a delayed copy mode.
  • the migration fallback process may specifically include:
  • Step S201 in the embodiment shown in FIG. 2 may specifically include the following steps S1201-S1207.
  • the destination physical machine After the network fault causes the virtual machine to fail the hot migration, the destination physical machine searches for and obtains the identifier corresponding to the dirty page memory page in the dirty page record table according to the identifier of the dirty page memory page in the dirty page record table. Each memory page serves as a dirty page memory page.
  • the destination physical machine stores the virtual machine running context information, the dirty page record table, and the dirty page memory pages into the external memory, and sets the migration status flag of the external memory to a migration failure state.
  • S1203 The source physical machine periodically polls the migration status flag of the external memory, and when polling the migration status flag in the external storage to the migration failure state, acquiring the virtual machine running context information and the dirty page record table from the external storage. .
  • S1204 The source physical machine marks each memory page corresponding to the identifier of each dirty page memory page in the dirty page recording table as an invalid page according to the identifier of each dirty page memory page in the dirty page recording table.
  • the source physical machine triggers the source virtual machine deployed on the source physical machine to run on the source physical machine according to the running context information of the virtual machine.
  • the source physical machine receives the memory access request and searches for a memory page corresponding to the identifier of the target memory page in the memory access request.
  • the source physical machine acquires the memory corresponding to the identifier of the target memory page from the external memory. page.
  • the network link and the storage link between the physical machine at the destination end and the physical machine at the source end are separated links, because the physical machine at the destination end and the source end are physically The network connection is not possible between the machines.
  • the destination physical machine can store the virtual machine running context information, the dirty page record table, and the dirty page memory pages into the external memory.
  • the source physical machine then obtains the virtual machine running context information and the dirty page record table from the external storage.
  • the source physical machine marks each memory page corresponding to the identifier of each dirty page memory page in the dirty page record table as an invalid page according to the identifier of each dirty page memory page in the dirty page record table, and obtains an invalid page according to the obtained
  • the virtual machine running context information triggers the source virtual machine deployed on the source physical machine to run on the source physical machine.
  • the source physical machine obtains the corresponding dirty page memory page from the external memory.
  • the memory access request may specifically be a read request or a write request.
  • step S202 in the embodiment shown in FIG. 2 is specifically the following step S1208.
  • the source physical machine updates and stores the obtained memory page corresponding to the identifier of the target memory page, and marks the page as a valid page.
  • FIG. 13 is a schematic flowchart of a feasible implementation manner of the virtual machine migration processing method in the embodiment shown in FIG. 12, where the source physical machine is deployed.
  • the source virtual machine and the source hot migration service unit, the destination physical machine and the destination hot migration service unit are deployed in the destination physical machine, and the storage link is established between the source physical machine and the destination physical machine through the external storage.
  • it includes:
  • the destination hot-migration service unit receives the notification message of the hot-migration failure sent by the physical machine at the destination end, and the notification message of the hot-migration failure includes the network fault information that causes the hot migration to fail.
  • the destination hot migration service unit searches for and obtains, in the memory of the destination virtual machine, the memory map of each dirty page in the dirty page record table according to the identifier of the dirty page memory page in the dirty page record table. Dirty page memory page.
  • the destination hot migration service unit stores the virtual machine running context information, the dirty page record table, and the dirty page memory pages into the external memory, and marks the migration status of the external memory. The status is set to the migration failure status.
  • the source hot migration service unit periodically polls the migration status flag of the external memory, and when the polling status flag in the external memory is polled, the virtual machine running context information and the dirty page are obtained from the external storage. recording sheet.
  • the source-side hot-migration service unit marks, according to the identifier of each dirty page memory page in the dirty page record table, each memory page corresponding to the identifier of each dirty page memory page in the memory of the dirty page record table in the memory of the source virtual machine. Is an invalid page.
  • the source hot migration service unit triggers the source virtual machine to run on the source physical machine according to the virtual machine running context information.
  • the source virtual machine receives the memory access request, and searches for a memory page corresponding to the identifier of the target memory page in the memory access request in the memory.
  • the source virtual machine sends a page fault notification message to the source hot migration service unit, and the page fault notification message includes the target memory page. logo.
  • the source hot migration service unit receives the page fault notification message, and obtains a memory page corresponding to the identifier of the target memory page from the external memory.
  • the source hot migration service unit stores the obtained memory page update corresponding to the identifier of the target memory page into the memory of the source virtual machine, and marks the page as a valid page.
  • the destination hot migration service unit After receiving the notification message of the hot migration failure sent by the physical machine at the destination end (the notification message of the hot migration failure includes the network failure information that causes the hot migration failure), the destination hot migration service unit receives the notification message of the hot migration failure.
  • the destination hot migration service unit searches for and obtains, in the memory of the destination virtual machine, the identifier corresponding to the identifier of each dirty page memory page in the dirty page record table according to the identifier of each dirty page memory page in the dirty page record table. Dirty page memory page.
  • the destination hot migration service unit stores the virtual machine running context information, the dirty page record table, and the dirty page memory pages into the external memory, and marks the migration status of the external memory. The status is set to the migration failure status.
  • the source hot migration service unit periodically polls the migration status flag of the external memory, and when the polling status flag in the external memory is polled, the virtual machine running context information and the dirty page are obtained from the external storage. recording sheet.
  • the source-side hot-migration service unit marks each memory page corresponding to the identifier of each dirty page memory page in the memory of the dirty-side page record in the memory of the source virtual machine according to the identifier of the dirty page memory page in the dirty page record table. Is an invalid page.
  • the source hot migration service unit triggers the source virtual machine to run on the source physical machine according to the virtual machine running context information.
  • S1406 The source virtual machine receives a memory access request, where the memory access request includes an identifier of the target memory page.
  • the source virtual machine searches for a memory page corresponding to the identifier of the target memory page in the memory. If the found memory page corresponding to the identifier of the target memory page is marked as an invalid page, the source virtual machine sends a page fault notification message to the source hot migration service unit, and the page fault notification message includes the identifier of the target memory page. .
  • the source hot migration service unit receives the page fault notification message, and obtains a memory page corresponding to the identifier of the target memory page from the external memory.
  • the source hot migration service unit stores the obtained memory page update corresponding to the identifier of the target memory page into the memory of the source virtual machine, and marks the page as a valid page.
  • the dirty page memory pages corresponding to the identifiers of the dirty page memory pages in the dirty page record table are copied to the source physical machine for updating. Storage, so that the source physical machine has a complete and up-to-date memory page, and the virtual machine can be rolled back to the source physical machine to run independently.
  • FIG. 15 is a schematic flowchart diagram of still another embodiment of a virtual machine migration processing method according to the present invention.
  • the virtual machine migration processing method in the embodiment of the present invention is a main flow of a virtual machine hot migration processing method, and can be implemented in combination with the migration and fallback process after the virtual machine migration failure shown in FIG. 2 to FIG. 13 .
  • the destination physical machine performs a virtual machine hot migration processing process corresponding to the write request for the write request from the source physical machine.
  • the identifier of the memory page corresponding to the write request is That is, the identifier of the memory page to be written in the physical machine at the destination end is recorded in the dirty page record table, which is convenient for the migration and fallback process after the virtual machine migration failure shown in FIG. 2 to FIG.
  • Each dirty page memory page corresponding to the identifier of each memory page in the page record table ie, the memory page that has been written in the destination physical machine is copied to the source physical machine.
  • the memory page is copied together with the attributes of the memory page, that is, the attributes of the same memory page in the source physical machine are The attributes of the physical machine at the destination end must be the same. That is, the attribute of the memory page that is read-only in the source physical machine to the destination physical machine is still read-only. The attribute in the source physical machine is readable and writable. After the memory page is copied to the destination physical machine, the attribute is still readable and writable. Therefore, if the attribute of the memory page corresponding to the write request is read-only, the memory page cannot be written, and the identifier of the memory page is not Will be recorded in the dirty page record table.
  • the destination physical machine passes the identifier of the memory page corresponding to the write request and the attribute is readable and writable in the process of executing the virtual machine hot migration processing flow corresponding to the write request.
  • the dirty page record table it is convenient to copy the dirty page memory pages corresponding to the identifiers of the dirty page memory pages in the dirty page record table to the source physical machine for update storage after the virtual machine hot migration fails.
  • the source machine has a complete and up-to-date memory page, and the virtual machine can be rolled back to the source physical machine to run independently.
  • FIG. 16 is a schematic flowchart diagram of still another embodiment of a virtual machine migration processing method according to the present invention.
  • the virtual machine migration processing method in the embodiment of the present invention is a feasible implementation manner of the virtual machine migration processing method in the embodiment shown in FIG.
  • the main process of the migration processing method may be implemented in combination with the migration and retreat process after the virtual machine migration failure shown in FIG. 2 and FIG. 13 , or may be implemented separately.
  • Step S1501 in the embodiment shown in FIG. 15 may specifically include the following steps S1601-S1603.
  • S1602 The destination physical machine searches for a memory page corresponding to the write request.
  • Step S1502 in the embodiment shown in FIG. 15 may specifically be the following step S1604.
  • FIG. 17 is a schematic flowchart of a feasible implementation manner of the virtual machine migration processing method in the embodiment shown in FIG.
  • the active end virtual machine and the source side hot migration service unit are deployed with the destination end virtual machine and the destination end hot migration service unit. As shown in Figure 17, it includes:
  • the destination virtual machine receives the write request, and the write request includes an identifier of the memory page.
  • S1702 The destination virtual machine searches for a memory page corresponding to the identifier of the memory page in the memory.
  • the destination virtual machine sends a write page fault notification message to the destination hot migration service unit, where the write page fault notification message includes an identifier of the memory page.
  • the destination hot migration service unit receives the write page fault notification message, and sends the write copy request to the source hot migration service unit, where the write copy request includes an identifier of the memory page.
  • the source hot migration service unit receives the write copy request, and searches for and obtains a memory page corresponding to the identifier of the memory page and its attribute in the memory of the source virtual machine.
  • the source hot migration service unit obtains the memory corresponding to the identifier of the memory page.
  • the page and its attributes are sent to the destination hot migration service unit.
  • the destination hot migration service unit receives the memory page corresponding to the identifier of the memory page and its attribute and stores it in the memory of the destination virtual machine, and records the identifier of the received memory page as a readable and writable memory page. In the record table, the process ends.
  • the destination virtual machine sends a dirty page record notification message to the destination hot migration service unit, and the dirty page record notification message includes the memory. The identity of the page.
  • the destination hot migration service unit receives the dirty page record notification message, and records the identifier of the memory page in the dirty page record table, and ends the process.
  • the architecture diagram of the virtual machine migration system corresponding to the virtual machine hot migration processing method shown in FIG. 17 and the interaction logic of the main flow of the virtual machine migration processing method are as shown in FIG. 18, and the virtual memory of the destination virtual machine does not exist.
  • the memory page corresponding to the identifier of the memory page in the write request includes:
  • the destination virtual machine receives the write request, and the write request includes an identifier of the memory page.
  • the destination virtual machine searches for a memory page corresponding to the identifier of the memory page in the memory. If the memory page corresponding to the identifier of the memory page does not exist in the memory, the destination virtual machine sends a write page fault notification message to the destination hot migration service unit, and the write page fault notification message includes the identifier of the memory page.
  • the destination hot migration service unit receives the write page fault notification message, and sends the write copy request to the source hot migration service unit, where the write copy request includes an identifier of the memory page.
  • the source hot migration service unit receives the write copy request, and searches for and obtains a memory page corresponding to the identifier of the memory page and its attribute in the memory of the source virtual machine.
  • the source hot migration service unit sends the obtained memory page corresponding to the identifier of the memory page and its attribute to the destination hot migration service unit.
  • the destination hot migration service unit receives the memory page corresponding to the identifier of the memory page and its attribute and stores it in the memory of the destination virtual machine, so that the destination virtual machine subsequently writes the memory page, and receives the received The identifier of the memory page whose attribute is readable and writable is recorded in the dirty page record table.
  • the destination physical machine passes the execution In the process of the virtual machine hot migration process corresponding to the write request, the identifier of the memory page corresponding to the write request and having the attribute of being readable and writable is recorded in the dirty page record table, which is convenient for the virtual machine to fail after the hot migration fails.
  • the dirty page memory pages corresponding to the identifiers of the dirty pages in the dirty page record table are copied to the source physical machine for update storage, so that the source physical machine has a complete and latest memory page, and the virtual machine can be rolled back to The source physical machine runs independently.
  • FIG. 19 is a schematic flowchart diagram of still another embodiment of a virtual machine migration processing method according to the present invention.
  • the virtual machine migration processing method in the embodiment of the present invention is a possible implementation manner of the virtual machine migration processing method in the embodiment shown in FIG. 15, and describes the main flow of the virtual machine hot migration processing method, which can be The migration and rollback process after the virtual machine migration failure shown in Figure 2 and Figure 13 is implemented in combination, and may be implemented separately.
  • the destination physical machine performs a virtual machine hot migration processing process corresponding to the read request for the read request from the source physical machine.
  • S1903 The destination physical machine performs a virtual machine hot migration processing process corresponding to the write request for the write request.
  • Step S1502 in the embodiment shown in FIG. 15 may specifically be the following step S1904.
  • the destination physical machine sets the attribute of the memory page corresponding to the read request acquired from the source physical machine to read-only during the execution of the virtual machine hot migration processing flow corresponding to the read request, and The process of executing the virtual machine hot migration process corresponding to the write request If the attribute of the memory page corresponding to the write request obtained from the source physical machine is readable and writable, the identifier of the memory page corresponding to the write request is recorded in the dirty page record table, or is stored and written by itself.
  • the identifier of the memory page corresponding to the write request is recorded in the dirty page record table, that is, the identifier of the memory page whose original attribute is readable and writable is recorded in the dirty page record table in the physical machine at the destination end. To avoid recording the identifier of the same memory page whose write-once operation is performed and the original attribute is readable and writable in the dirty page record table, resulting in waste of resources.
  • the destination physical machine passes the identifier of the memory page corresponding to the write request and the attribute is readable and writable in the process of executing the virtual machine hot migration processing flow corresponding to the write request.
  • the dirty page record table it is convenient to copy the dirty page memory pages corresponding to the identifiers of the dirty page memory pages in the dirty page record table to the source physical machine for update storage after the virtual machine hot migration fails.
  • the source machine has a complete and up-to-date memory page, and the virtual machine can be rolled back to the source physical machine to run independently.
  • FIG. 20 is a schematic flowchart diagram of still another embodiment of a virtual machine migration processing method according to the present invention.
  • the virtual machine migration processing method in the embodiment of the present invention is a possible implementation manner of the virtual machine migration processing method in the embodiment shown in FIG. 19, and describes the main flow of the virtual machine hot migration processing method, which can be The migration and rollback process after the virtual machine migration failure shown in Figure 2 and Figure 13 is implemented in combination, and may be implemented separately.
  • Step S1901 in the embodiment shown in FIG. 19 may specifically include the following steps S2001-S2003.
  • the destination physical machine receives the read request.
  • S2002 The destination physical machine searches for a memory page corresponding to the read request.
  • the destination physical machine acquires and stores the attribute of the memory page corresponding to the read request and the memory page corresponding to the read request from the source physical machine.
  • Step S1902 in the embodiment shown in FIG. 19 may specifically be the following step S2004.
  • the destination physical machine sets the attribute of the memory page corresponding to the read request obtained from the source physical machine to read-only.
  • Step S1903 in the embodiment shown in FIG. 19 may specifically include the following steps S2005-S2008.
  • the destination physical machine receives the write request.
  • the destination physical machine acquires and stores the attribute of the memory page corresponding to the write request and the memory page corresponding to the write request from the source physical machine.
  • Step S1904 in the embodiment shown in FIG. 19 may specifically include the following steps S2008-S2009.
  • FIG. 21 is a schematic flowchart of a feasible implementation manner of the virtual machine migration processing method of the embodiment shown in FIG. 20, which is deployed in the source physical machine.
  • the active end virtual machine and the source side hot migration service unit are deployed with the destination end virtual machine and the destination end hot migration service unit. As shown in Figure 21, it includes:
  • the destination virtual machine receives a read request, where the read request includes an identifier of the first memory page.
  • S2102 The destination virtual machine searches for a memory page corresponding to the identifier of the first memory page in the memory.
  • the destination virtual machine sends a read page fault notification message to the destination hot migration service unit, where the read page fault notification message includes the first memory page.
  • the destination hot migration service unit receives the read page fault notification message, and sends the read copy request to the source hot migration service unit, where the read copy request includes the identifier of the first memory page.
  • the source hot migration service unit receives the read copy request, and searches for and obtains a memory page corresponding to the identifier of the first memory page and its attribute in the memory of the source virtual machine.
  • the source hot migration service unit sends the obtained memory page corresponding to the identifier of the first memory page and its attribute to the destination hot migration service unit.
  • the destination hot migration service unit receives the memory page corresponding to the identifier of the first memory page and its attribute and stores it in the memory of the destination virtual machine, and sets the attribute of the memory page corresponding to the identifier of the first memory page to Read only.
  • S2108 The destination virtual machine receives the write request, and the write request includes the identifier of the second memory page.
  • the destination virtual machine searches for a memory page corresponding to the identifier of the second memory page in the memory of the destination virtual machine.
  • the destination hot-migration service unit receives the write-off page notification message, and sends the write copy request to the source hot-migration service unit, where the write copy request includes the identifier of the second memory page.
  • the source hot migration service unit receives the write copy request, and searches for and obtains a memory page corresponding to the identifier of the second memory page and its attribute in the memory of the source virtual machine.
  • the source hot migration service unit sends the obtained memory page corresponding to the identifier of the second memory page and its attribute to the destination hot migration service unit.
  • the destination hot-migration service unit receives the memory page corresponding to the identifier of the second memory page and its attribute and stores it in the memory of the destination virtual machine. If the acquired memory page corresponding to the write request is readable and writable , the identifier of the obtained second memory page is recorded in the dirty page record table, and the process ends.
  • the destination hot migration service unit receives the dirty page record notification message, and sets the memory page corresponding to the identifier of the second memory page to be readable and writable, and records the identifier of the second memory page in the dirty page record table. End the process.
  • the architecture diagram of the virtual machine migration system and the interaction logic of the main flow of the virtual machine migration processing method shown in FIG. 21 are as shown in FIG. 22, and the virtual memory of the destination virtual machine does not exist.
  • the memory page corresponding to the identifier of the memory page in the read and write requests includes:
  • S2201 The destination virtual machine receives the read request, where the read request includes an identifier of the first memory page.
  • S2202 The destination virtual machine searches for a memory page corresponding to the identifier of the first memory page in the memory. If the memory page corresponding to the identifier of the first memory page does not exist in the memory, the destination virtual machine sends a read page fault notification message to the destination hot migration service unit, where the missing page notification message includes the identifier of the first memory page. .
  • the destination hot migration service unit receives the read page fault notification message, and sends the read copy request to the source hot migration service unit, where the read copy request includes the identifier of the first memory page.
  • the source hot migration service unit receives the read copy request, and searches for and obtains a memory page corresponding to the identifier of the first memory page and its attribute in the memory of the source virtual machine.
  • the source hot migration service unit sends the obtained memory page corresponding to the identifier of the first memory page and its attribute to the destination hot migration service unit.
  • the destination hot migration service unit receives the memory page corresponding to the identifier of the first memory page and its attribute and stores it in the memory of the destination virtual machine, so that the destination virtual machine subsequently reads the first memory page, and
  • the attribute of the memory page corresponding to the identifier of the first memory page is set to read-only.
  • the destination virtual machine receives the write request, and the write request includes the identifier of the second memory page.
  • the destination virtual machine searches for a memory page corresponding to the identifier of the second memory page in the memory. If the memory page corresponding to the identifier of the second memory page does not exist in the memory, the destination virtual machine sends a write page fault notification message to the destination hot migration service unit, and the write page fault notification message includes the identifier of the second memory page. .
  • the destination hot migration service unit receives the write page fault notification message, and sends the write copy request to the source hot migration service unit, where the write copy request includes the identifier of the second memory page.
  • the source hot migration service unit receives the write copy request, and searches for and obtains a memory page corresponding to the identifier of the second memory page and its attribute in the memory of the source virtual machine.
  • the source hot migration service unit sends the obtained memory page corresponding to the identifier of the second memory page and its attribute to the destination hot migration service unit.
  • the destination hot migration service unit receives the memory page corresponding to the identifier of the second memory page and its attribute and stores it in the memory of the destination virtual machine, so that the destination virtual machine subsequently writes the memory page. If the acquired attribute of the memory page corresponding to the write request is readable and writable, the acquired identifier of the second memory page is recorded in the dirty page record table.
  • the destination physical machine passes the identifier of the memory page corresponding to the write request and the attribute is readable and writable in the process of executing the virtual machine hot migration processing flow corresponding to the write request.
  • the dirty page record table it is convenient to copy the dirty page memory pages corresponding to the identifiers of the dirty page memory pages in the dirty page record table to the source physical machine for update storage after the virtual machine hot migration fails.
  • the source machine has a complete and up-to-date memory page, and the virtual machine can be rolled back to the source physical machine to run independently.
  • FIG. 23 is a schematic structural diagram of an embodiment of a virtual machine migration processing system according to the present invention.
  • the virtual machine migration processing system of the embodiment of the present invention may perform the virtual machine migration processing method of the embodiment shown in any of FIG. 2 to FIG. 21.
  • the virtual machine migration processing system of the embodiment of the present invention may specifically include a source physical machine 231 and a destination physical machine 232.
  • the source physical machine 231 deploys an active end virtual machine 233 and a source end hot migration service.
  • the destination end physical machine 235 and the destination end hot migration service unit 236 are deployed on the destination physical machine 232.
  • the destination physical machine 232 is configured to: after the virtual machine hot migration fails in the delayed copy mode, according to the recorded dirty page record table, each dirty page corresponding to the identifier of each dirty page memory page in the dirty page record table is The memory page is copied to the source physical machine 231.
  • the manner of judging the failure of virtual machine hot migration has been described in the first embodiment.
  • the source physical machine 231 is configured to update and store the copied dirty page memory pages.
  • the pre-failure is adopted after the non-network failure causes the hot migration to fail.
  • the destination physical machine 232 is specifically configured to: after the non-network failure causes the virtual machine to fail the hot migration, find and obtain the dirty page record table according to the identifier of the dirty page memory page in the dirty page record table. Each memory page corresponding to the identifier of each dirty page memory page is used as each dirty page memory page; the virtual machine running context information, the dirty page recording table, and each dirty page memory page are sent to the source physical machine 231.
  • the source physical machine 231 is further configured to: after the virtual memory page of the copied dirty page is updated and stored, trigger the source virtual machine 233 deployed on the source physical machine 231 according to the virtual machine running context information at the source end.
  • the physical machine 231 runs.
  • the destination physical machine 232 is specifically configured to: after the non-network failure causes the virtual machine to fail the hot migration, the virtual machine is operated.
  • the context information and dirty page record table are sent to the source physical machine 231.
  • the source physical machine 231 is further configured to mark each memory page corresponding to the identifier of each dirty page memory page in the dirty page recording table as an invalid page according to the identifier of each dirty page memory page in the dirty page recording table.
  • the source virtual machine 233 deployed on the source physical machine 231 is triggered to run on the source physical machine 231 according to the virtual machine running context information; receiving the memory access request, and searching for the identifier corresponding to the target memory page in the memory access request If the found memory page corresponding to the identifier of the target memory page is marked as an invalid page, the memory page corresponding to the identifier of the target memory page is obtained from the destination physical machine 232.
  • the source physical machine 231 is specifically configured to: update the obtained memory page corresponding to the identifier of the target memory page, and mark the memory page as a valid page.
  • the virtual machine migration processing system of the embodiment of the present invention may further include an external memory 237 in a case where a pre-copy mode is adopted after a network failure causes a hot migration failure.
  • the destination physical machine 232 is specifically configured to: after the network failure causes the virtual machine to fail the hot migration, find and obtain the dirty page memory pages in the dirty page record table according to the identifiers of the dirty page memory pages in the dirty page record table.
  • Each corresponding memory page is identified as each dirty page memory page; the virtual machine running context information, the dirty page recording table, and each dirty page memory page are stored in the external memory 237, and the migration status flag of the external memory 237 is set to migration. Failure status.
  • the source physical machine 231 is further configured to periodically poll the migration status flag of the external memory 237.
  • the bit when polling the migration status flag bit in the external memory 237 is the migration failure state, acquires the virtual machine running context information, the dirty page recording table, and the dirty page memory pages from the external memory 237.
  • the source physical machine 231 is further configured to: trigger the source virtual machine 233 deployed on the source physical machine 231 to run on the source physical machine 231 according to the virtual machine running context information.
  • the virtual machine migration processing system of the embodiment of the present invention may further include an external memory 237 in a case where a delayed copy mode is adopted after a network failure causes a hot migration failure.
  • the destination physical machine 232 is specifically configured to: after the network failure causes the virtual machine to fail the hot migration, find and obtain the dirty page memory pages in the dirty page record table according to the identifiers of the dirty page memory pages in the dirty page record table. Each corresponding memory page is identified as each dirty page memory page; the virtual machine running context information, the dirty page recording table, and each dirty page memory page are stored in the external memory 237, and the migration status flag of the external memory 237 is set to migration. Failure status.
  • the source physical machine 231 is further configured to: periodically poll the migration status flag of the external memory 237, and when polling the migration status flag in the external memory 237 to a migration failure state, acquire the virtual machine running context from the external memory 237.
  • Information and dirty page record table each memory page corresponding to the identifier of each dirty page memory page in the dirty page record table is marked as an invalid page according to the identifier of each dirty page memory page in the dirty page record table;
  • the virtual machine running context information triggers the source virtual machine 233 deployed on the source physical machine 231 to run on the source physical machine 231; receives the memory access request, and searches for the memory corresponding to the identifier of the target memory page in the memory access request. If the found memory page corresponding to the identifier of the target memory page is marked as an invalid page, the memory page corresponding to the identifier of the target memory page is acquired from the external memory 237.
  • the source physical machine 231 is specifically configured to: update the obtained memory page corresponding to the identifier of the target memory page, and mark the memory page as a valid page.
  • the destination physical machine 232 is configured to perform a virtual machine hot migration processing process corresponding to the write request for the write request from the source physical machine in the delayed copy mode, and execute the virtual machine hot migration processing corresponding to the write request.
  • the attribute of the memory page corresponding to the write request is readable and writable, the identifier of the memory page corresponding to the write request is recorded in the dirty page record table.
  • the source physical machine 231 is configured to send a write request to the destination physical machine.
  • the destination physical machine 232 is specifically configured to: receive a write request; find whether a memory page corresponding to the write request exists; if there is no memory page corresponding to the write request, obtain and write a request from the source physical machine 231. The corresponding memory page and the attribute of the memory page corresponding to the write request are stored.
  • the destination physical machine 232 is specifically configured to: when the memory page corresponding to the write request and the attribute of the memory page corresponding to the write request are acquired from the source physical machine, if the obtained memory page corresponding to the write request is obtained If the attribute is readable and writable, the identifier of the obtained memory page corresponding to the write request is recorded in the dirty page record table.
  • the source physical machine 231 is further configured to send a read request to the destination physical machine 232.
  • the destination physical machine 232 is further configured to: perform a virtual machine hot migration processing flow corresponding to the read request for the read request from the source physical machine 231; and execute the virtual machine hot migration processing flow corresponding to the read request.
  • the attribute of the memory page corresponding to the read request acquired from the source physical machine 231 is set to read-only.
  • the destination physical machine 232 is specifically configured to: receive a read request; find whether a memory page corresponding to the read request exists; if there is no memory page corresponding to the read request, obtain a read request from the source physical machine 231. The corresponding memory page and the attribute of the memory page corresponding to the read request are stored.
  • the destination physical machine 232 is specifically configured to: when the memory page corresponding to the write request is obtained from the source physical machine 231, if the acquired attribute of the memory page corresponding to the write request is readable and writable, The identification of the memory page corresponding to the write request is recorded in the dirty page record table.
  • the destination physical machine 232 is further configured to: when there is a memory page corresponding to the write request and the attribute is read-only, if the existing memory page corresponding to the write request is acquired from the source physical machine For readable and writable, the attribute of the memory page corresponding to the write request is set to be readable and writable, and the identifier of the memory page corresponding to the write request is recorded in the dirty page record table.
  • the virtual machine hot migration processing system of the embodiment of the present invention after the virtual machine fails to migrate hot, Copy the dirty page memory pages corresponding to the identifiers of the dirty page memory pages in the dirty page record table to the source physical machine for update storage, so that the source physical machine has a complete and latest memory page, and the virtual machine can be returned. Roll to the source physical machine to run independently.
  • the aforementioned program can be stored in a computer readable storage medium.
  • the program when executed, performs the steps including the foregoing method embodiments; and the foregoing storage medium includes various media that can store program codes, such as a ROM, a RAM, a magnetic disk, or an optical disk.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Hardware Design (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)

Abstract

一种虚拟机热迁移处理方法及系统,该方法包括:在延迟拷贝的方式下,目的端物理机进行虚拟机热迁移失败后,根据记录的脏页记录表,将与脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中(S201);源端物理机将拷贝的各脏页内存页进行更新存储(S202)。该方法及系统在虚拟机热迁移失败后,将与脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中进行更新存储,使得源端物理机上具有完整且最新的内存页,虚拟机可回滚至源端物理机上独立运行。

Description

虚拟机热迁移处理方法及系统 技术领域
本发明涉及通信技术领域,尤其涉及一种虚拟机热迁移处理方法及系统。
背景技术
虚拟机(Virtual Machine,简称VM)热迁移是云计算运营中的一个关键技术,通过热迁移将虚拟机从一个物理机迁移到另外一个物理机,以实现计算资源的动态调度,物理故障主动运维。
传统的热迁移技术通过预拷贝的方式执行,在保持虚拟机在源端物理机上正常运行的情况下,通过迭代的方式,将虚拟机的内存从源端物理机拷贝到目的端物理机中。由于此时虚拟机一直处于运行状态,因此通过需要多轮拷贝的方式,才能递归的将虚拟机的内存拷贝到目的端物理机中,这往往需要消耗很长的时间,导致整个虚拟机的热迁移耗费很长时间。
现有技术中,为缩短虚拟机的热迁移时间,出现了延迟拷贝,也称为晚拷贝(postcopy)的方式。采用延迟拷贝方式进行虚拟机热迁移时,源端物理机中的热迁移服务单元将虚拟机运行所必须的上下文信息(简称虚拟机运行上下文信息)发送至目的端物理机中的热迁移服务单元中,目的端热迁移服务单元触发虚拟机在目的端物理机上运行。在虚拟机运行过程中,如果存在访问内存的需求(包括读、写需求),而对应的内存页还停留在源端物理机中,则触发缺页异常事件,目的端热迁移服务单元从源端物理机中拷贝对应的内存页,供目的端虚拟机对内存页进行读、写操作。为清楚的说明现有技术中虚拟机迁移时的具体过程,下面结合图1所示的虚拟机迁移系统架构图及交互逻辑示意图进行详细描述,其工作原理如下:1、目的端虚拟机接收读请求,读请求中包括第一内存页的标识。2、目的端虚拟机在内存中查找与第一内存页的标识对应的内存页。若内存中不存在与第一内存页的标识对应的内存页,则目的端虚拟 机将读缺页通知消息发送至目的端热迁移服务单元,读缺页通知消息中包括第一内存页的标识。3、目的端热迁移服务单元接收读缺页通知消息,并将读拷贝请求发送至源端热迁移服务单元,读拷贝请求中包括第一内存页的标识。4、源端热迁移服务单元接收读拷贝请求,并在源端虚拟机的内存中查找并获取与第一内存页的标识对应的内存页及其属性。5、源端热迁移服务单元将获取到的与第一内存页的标识对应的内存页及其属性发送至目的端热迁移服务单元。6、目的端热迁移服务单元接收与第一内存页的标识对应的内存页及其属性并存储在目的端虚拟机的内存中,供目的端虚拟机后续对第一内存页进行读操作。7、目的端虚拟机接收写请求,写请求中包括第二内存页的标识。8、目的端虚拟机在内存中查找与第二内存页的标识对应的内存页。若内存中不存在与第二内存页的标识对应的内存页,则目的端虚拟机将写缺页通知消息发送至目的端热迁移服务单元,写缺页通知消息中包括第二内存页的标识。9、目的端热迁移服务单元接收写缺页通知消息,并将写拷贝请求发送至源端热迁移服务单元,写拷贝请求中包括第二内存页的标识。10、源端热迁移服务单元接收写拷贝请求,并在源端虚拟机的内存中查找并获取与第二内存页的标识对应的内存页及其属性。11、源端热迁移服务单元将获取到的与第二内存页的标识对应的内存页及其属性发送至目的端热迁移服务单元。12、目的端热迁移服务单元接收与第二内存页的标识对应的内存页及其属性并存储在目的端虚拟机的内存中,供目的端虚拟机后续对第二内存页进行写操作。
但现有技术至少存在如下缺陷:在采用延迟拷贝方式进行虚拟机热迁移的过程中,出现网络中断、虚拟机在目的端物理机上创建失败等异常导致热迁移中断时,由于热迁移还未完成,目的端物理机中不具备全部的内存页,因此目的端物理机上不具有可以直接恢复的虚拟机实例,虚拟机在目的端物理机上不能独立运行,而由于虚拟机已经在目的端物理机上运行,源端物理机上的部分内存页已经过期,不具有可以直接恢复的虚拟机实例,因此虚拟机无法回滚至源端物理机上独立运行。
发明内容
本发明提供一种虚拟机热迁移处理方法及系统,以在热迁移失败后,将虚拟机回滚至源端物理机上独立运行。
为达到上述目的,本发明采用如下技术方案:
一方面,本发明提供一种虚拟机热迁移处理方法,包括:目的端物理机在延迟拷贝的方式下进行虚拟机热迁移失败后,根据记录的脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中;所述源端物理机将拷贝的所述各脏页内存页进行更新存储。
另一方面,本发明提供一种虚拟机热迁移处理方法,包括:在延迟拷贝的方式下,目的端物理机针对来自源端物理机的写请求,执行与所述写请求对应的虚拟机热迁移处理流程;所述目的端物理机在执行与所述写请求对应的虚拟机热迁移处理流程的过程中,若所述写请求对应的内存页的属性为可读写,则将所述写请求对应的内存页的标识记录在脏页记录表中。
另一方面,本发明提供一种虚拟机热迁移处理系统,包括源端物理机和目的端物理机,其中:所述目的端物理机,用于在延迟拷贝的方式下进行虚拟机热迁移失败后,根据记录的脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至所述源端物理机中;所述源端物理机,用于将拷贝的所述各脏页内存页进行更新存储。
另一方面,本发明提供一种虚拟机热迁移处理系统,包括源端物理机和目的端物理机,其中:所述目的端物理机,用于在延迟拷贝的方式下,针对来自源端物理机的写请求,执行与所述写请求对应的虚拟机热迁移处理流程;在执行与所述写请求对应的虚拟机热迁移处理流程的过程中,若所述写请求对应的内存页的属性为可读写,则将所述写请求对应的内存页的标识记录在脏页记录表中;
所述源端物理机,用于向所述目的端物理机发送写请求。
本发明提供的虚拟机热迁移处理方法及系统,在虚拟机热迁移失败后,将与脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝 至源端物理机中进行更新存储,使得源端物理机上具有完整且最新的内存页,虚拟机可回滚至源端物理机上独立运行。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为现有的虚拟机迁移系统架构图及交互逻辑示意图;
图2为本发明提供的虚拟机热迁移处理方法一个实施例的流程示意图;
图3为本发明提供的虚拟机迁移处理方法又一个实施例的流程示意图;
图4为图3所示实施例的虚拟机迁移处理方法一种可行实施方式的流程示意图;
图5为图4所示的虚拟机迁移处理方法对应的虚拟机迁移系统的架构图及交互逻辑示意图;
图6为本发明提供的虚拟机迁移处理方法又一个实施例的流程示意图;
图7为图6所示实施例的虚拟机迁移处理方法一种可行实施方式的流程示意图;
图8为图7所示的虚拟机迁移处理方法对应的虚拟机迁移系统的架构图及交互逻辑示意图;
图9为本发明提供的虚拟机迁移处理方法又一个实施例的流程示意图;
图10为图9所示实施例的虚拟机迁移处理方法一种可行实施方式的流程示意图;
图11为图10所示的虚拟机迁移处理方法对应的虚拟机迁移系统的架构图及交互逻辑示意图;
图12为本发明提供的虚拟机迁移处理方法又一个实施例的流程示意图;
图13为图12所示实施例的虚拟机迁移处理方法一种可行实施方式的流程示意图;
图14为图13所示的虚拟机迁移处理方法对应的虚拟机迁移系统的架构图及交互逻辑示意图;
图15为本发明提供的虚拟机迁移处理方法又一个实施例的流程示意图;
图16为本发明提供的虚拟机迁移处理方法又一个实施例的流程示意图;
图17为图16所示实施例的虚拟机迁移处理方法一种可行实施方式的流程示意图;
图18为图17所示的虚拟机迁移处理方法对应的虚拟机迁移系统的架构图及交互逻辑示意图;
图19为本发明提供的虚拟机迁移处理方法又一个实施例的流程示意图;
图20为本发明提供的虚拟机迁移处理方法又一个实施例的流程示意图;
图21为图20所示实施例的虚拟机迁移处理方法一种可行实施方式的流程示意图;
图22为图21所示的虚拟机迁移处理方法对应的虚拟机迁移系统的架构图及交互逻辑示意图;
图23为本发明提供的虚拟机迁移处理系统一个实施例的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
下面结合附图对本发明实施例的虚拟机热迁移处理方法及系统进行详细描述。
实施例一
图2为本发明提供的虚拟机热迁移处理方法一个实施例的流程示意图。如图2所示,本发明实施例的虚拟机热迁移处理方法为热迁移失败后的迁移回退流程,具体可包括:
S201,目的端物理机在延迟拷贝的方式下进行虚拟机热迁移失败后,根据记录的脏页记录表,将与脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中。
具体的,在虚拟机从源端物理机热迁移至目的端物理机的过程中,因故障(包括网络故障和非网络故障)导致虚拟机热迁移失败后,目的端物理机根据虚拟机热迁移过程中记录的脏页记录表,脏页记录表中记录有各脏页内存页的标识,将与各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中。具体地,虚拟机热迁移失败的情形有多种,常见的情形如下:
1)在热迁移的过程中,出现了目的端物理机与源端物理机之间的网络传输异常,例如网络中断或者网络传输速度低于正常值较大或者存在波动等。
2)被迁移的虚拟机无法在目的端物理机上成功的创建虚拟机实例。造成这种情况的因素很多,例如被迁移的虚拟机所要求的CPU的物理特性在目的端物理机上无法满足,或者时钟同步异常,或者目的端物理机自身出现故障等。
3)虚拟机实例被创建后运行异常。例如,可能会由于在迁移的过程 中内存拷贝出错而导致运行异常,也可能会由于目的端物理机自身出现故障等而导致虚拟机实例运行异常。
鉴于上述情形,负责管理多个物理机的监控系统可以针对上述三种情况进行监控,当出现上述三种情形中的任何一种时,就确定为虚拟机热迁移失败,并向上述目的物理机发送虚拟机热迁移失败的通知消息,从而触发执行步骤S201的后续处理。其中,上述的第1)种情形为网络故障,而第2)和3)中情形为非网络故障。在实际应用中,上述监控行为也可以有物理机自身的操作系统来完成,在发现异常后,目标物理机直接执行步骤S201的后续处理。
脏页内存页即在虚拟机热迁移过程中,在目的端物理机中进行过写操作的内存页。在虚拟机热迁移过程中记录脏页记录表的具体过程可参见下面实施例六-实施例九即图15-图21所示实施例的虚拟机热迁移处理方法的主流程中的相关描述,此处不再赘述。
S202,源端物理机将拷贝的各脏页内存页进行更新存储。
具体的,源端物理机根据拷贝的各脏页内存页更新自身存储的与脏页记录表中的各脏页内存页的标识对应的各内存页。
本发明实施例的虚拟机热迁移处理方法,在虚拟机热迁移失败后,将与脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中进行更新存储,使得源端物理机上具有完整且最新的内存页,虚拟机可回滚至源端物理机上独立运行。
实施例二
图3为本发明提供的虚拟机迁移处理方法又一个实施例的流程示意图。如图3所示,本发明实施例的虚拟机迁移处理方法为图2所示实施例的虚拟机迁移处理方法的一种可行实施方式,描述了非网络故障导致热迁移失败后采用预拷贝方式下的迁移回退流程,具体可包括:
图2所示实施例中的步骤S201具体可包括以下步骤S301-S302。
S301,目的端物理机在非网络故障导致虚拟机热迁移失败后,根据脏页记录表中的各脏页内存页的标识查找并获取与脏页记录表中的各脏 页内存页的标识对应的各内存页作为各脏页内存页。
S302,目的端物理机将虚拟机运行上下文信息、脏页记录表和各脏页内存页发送至源端物理机。
具体的,在非网络故障导致虚拟机热迁移失败后,由于目的端物理机与源端物理机之间仍可进行网络连接,在采用预拷贝方式下,目的端物理机可以直接将虚拟机运行上下文信息、脏页记录表和各脏页内存页通过网络发送至源端物理机。
S303,源端物理机将接收到的各脏页内存页进行更新存储。
具体的,步骤S303与图2所示实施例中的步骤S202相同,具体过程此处不再赘述。
S304,源端物理机根据虚拟机运行上下文信息触发部署在源端物理机上的源端虚拟机在源端物理机上运行。
为清楚说明本发明实施例的虚拟机迁移处理方法的具体过程,图4给出了图3所示实施例的虚拟机迁移处理方法一种可行实施方式的流程示意图,源端物理机中部署有源端虚拟机和源端热迁移服务单元,目的物理机中部署有目的端虚拟机和目的端热迁移服务单元。如图4所示,包括:
S401,目的端热迁移服务单元接收目的端物理机发送的热迁移失败的通知消息,热迁移失败的通知消息中包括导致热迁移失败的非网络故障信息。
S402,目的端热迁移服务单元根据脏页记录表中的各脏页内存页的标识在目的端虚拟机的内存中查找并获取与脏页记录表中的各脏页内存页的标识对应的各脏页内存页。
S403,目的端热迁移服务单元将虚拟机运行上下文信息、脏页记录表和各脏页内存页发送至源端热迁移服务单元。
S404,源端热迁移服务单元将接收到的各脏页内存页更新存储至源端虚拟机的内存中。
S405,源端热迁移服务单元根据虚拟机运行上下文信息触发源端虚拟机在源端物理机上运行。
上述图4所示的虚拟机迁移处理方法对应的虚拟机迁移系统的架构图及非网络故障导致热迁移失败后采用预拷贝方式下的迁移回退流程的交互逻辑如图5所示,包括:
S501,目的端热迁移服务单元根据脏页记录表中的各脏页内存页的标识在目的端虚拟机的内存中查找并获取与脏页记录表中的各脏页内存页的标识对应的各脏页内存页。
S502,目的端热迁移服务单元将虚拟机运行上下文信息、脏页记录表和各脏页内存页发送至源端热迁移服务单元。
S503,源端热迁移服务单元将接收到的各脏页内存页更新存储至源端虚拟机的内存中。
S504,源端热迁移服务单元根据虚拟机运行上下文信息触发源端虚拟机在源端物理机上运行。
本发明实施例的虚拟机迁移处理方法,在虚拟机热迁移失败后,将与脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中进行更新存储,使得源端物理机上具有完整且最新的内存页,虚拟机可回滚至源端物理机上独立运行。
实施例三
图6为本发明提供的虚拟机迁移处理方法又一个实施例的流程示意图。如图6所示,本发明实施例的虚拟机迁移处理方法为图2所示实施例的虚拟机迁移处理方法的一种可行实施方式,描述了非网络故障导致热迁移失败后采用延迟拷贝方式下的迁移回退流程,具体可包括:
图2所示实施例中的步骤S201具体可包括以下步骤S601-S605。
S601,目的端物理机在非网络故障导致虚拟机热迁移失败后,将虚拟机运行上下文信息和脏页记录表发送至源端物理机。
S602,源端物理机根据脏页记录表中的各脏页内存页的标识将自身存储的与脏页记录表中的各脏页内存页的标识对应的各内存页标记为无效页。
S603,源端物理机根据虚拟机运行上下文信息触发部署在源端物理 机上的源端虚拟机在源端物理机上运行。
S604,源端物理机接收内存访问请求,并查找与内存访问请求中的目标内存页的标识对应的内存页。
S605,若查找到的与目标内存页的标识对应的内存页被标记为无效页,则源端物理机从目的端物理机中获取与目标内存页的标识对应的内存页。
具体的,在非网络故障导致虚拟机热迁移失败后,由于目的端物理机与源端物理机之间仍可进行网络连接,在采用延迟拷贝(即按需拷贝)方式下,目的端物理机可以直接将虚拟机运行上下文信息和脏页记录表通过网络发送至源端物理机。源端物理机接收脏页记录表,并根据脏页记录表中的各脏页内存页的标识将自身存储的与脏页记录表中的各脏页内存页的标识对应的各内存页标记为无效页,并根据接收到的虚拟机运行上下文信息触发部署在源端物理机上的源端虚拟机在源端物理机上运行。当访问到源端物理机中被标记为无效页的内存页时,源端物理机从目的端物理机中获取对应的脏页内存页。其中,内存访问请求具体可为读请求或写请求。
相应的,图2所示实施例中的步骤S202具体为如下步骤S606。
S606,源端物理机将获取到的与目标内存页的标识对应的内存页进行更新存储,并标记为有效页。
为清楚说明本发明实施例的虚拟机迁移处理方法的具体过程,图7给出了图6所示实施例的虚拟机迁移处理方法一种可行实施方式的流程示意图,源端物理机中部署有源端虚拟机和源端热迁移服务单元,目的物理机中部署有目的端虚拟机和目的端热迁移服务单元。如图7所示,包括:
S701,目的端热迁移服务单元接收目的端物理机发送的热迁移失败的通知消息,热迁移失败的通知消息中包括导致热迁移失败的非网络故障信息。
S702,目的端热迁移服务单元将虚拟机运行上下文信息和脏页记录表发送至源端热迁移服务单元。
S703,源端热迁移服务单元根据脏页记录表中的各脏页内存页的标识将源端虚拟机的内存中与脏页记录表中的各脏页内存页的标识对应的各内存页标记为无效页。
S704,源端热迁移服务单元根据虚拟机运行上下文信息触发源端虚拟机在源端物理机上运行。
S705,源端虚拟机接收内存访问请求,并在内存中查找与内存访问请求中的目标内存页的标识对应的内存页。
S706,若查找到的与目标内存页的标识对应的内存页被标记为无效页,则源端虚拟机将缺页通知消息发送至源端热迁移服务单元,缺页通知消息中包括目标内存页的标识。
S707,源端热迁移服务单元接收缺页通知消息,并将拷贝请求发送至目的端热迁移服务单元,拷贝请求中包括目标内存页的标识。
S708,目的端热迁移服务单元接收拷贝请求,并在目的端虚拟机的内存中查找并获取与目标内存页的标识对应的内存页。
S709,目的端热迁移服务单元将获取到的与目标内存页的标识对应的内存页发送至源端热迁移服务单元。
S710,源端热迁移服务单元将接收到的与目标内存页的标识对应的内存页更新存储至源端虚拟机的内存中,并标记为有效页。
上述图7所示的虚拟机迁移处理方法对应的虚拟机迁移系统的架构图及非网络故障导致热迁移失败后采用延迟拷贝方式下的迁移回退流程的交互逻辑如图8所示,包括:
目的端热迁移服务单元在接收到目的端物理机发送的热迁移失败的通知消息(热迁移失败的通知消息中包括导致热迁移失败的非网络故障信息)后,
S801,目的端热迁移服务单元将虚拟机运行上下文信息和脏页记录表发送至源端热迁移服务单元。
S802,源端热迁移服务单元根据脏页记录表中的各脏页内存页的标识将源端虚拟机的内存中与脏页记录表中的各脏页内存页的标识对应的各内存页标记为无效页。
S803,源端热迁移服务单元根据虚拟机运行上下文信息触发源端虚拟机在源端物理机上运行。
S804,源端虚拟机接收内存访问请求,内存访问请求中包括目标内存页的标识。
S805,源端虚拟机在内存中查找与目标内存页的标识对应的内存页。若查找到的与目标内存页的标识对应的内存页被标记为无效页,则源端虚拟机将缺页通知消息发送至源端热迁移服务单元,缺页通知消息中包括目标内存页的标识。
S806,源端热迁移服务单元接收缺页通知消息,并将拷贝请求发送至目的端热迁移服务单元,拷贝请求中包括目标内存页的标识。
S807,目的端热迁移服务单元接收拷贝请求,并在目的端虚拟机的内存中查找并获取与目标内存页的标识对应的内存页。
S808,目的端热迁移服务单元将获取到的与目标内存页的标识对应的内存页发送至源端热迁移服务单元。
S809,源端热迁移服务单元将接收到的与目标内存页的标识对应的内存页更新存储至源端虚拟机的内存中,并标记为有效页。本发明实施例的虚拟机迁移处理方法,在虚拟机热迁移失败后,将与脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中进行更新存储,使得源端物理机上具有完整且最新的内存页,虚拟机可回滚至源端物理机上独立运行。
实施例四
图9为本发明提供的虚拟机迁移处理方法又一个实施例的流程示意图。如图9所示,本发明实施例的虚拟机迁移处理方法为图2所示实施例的虚拟机迁移处理方法的一种可行实施方式,描述了网络故障导致热迁移失败后采用预拷贝方式下的迁移回退流程,具体可包括:
图2所示实施例中的步骤S201具体可包括以下步骤S901-S903。
S901,目的端物理机在网络故障导致虚拟机热迁移失败后,根据脏页记录表中的各脏页内存页的标识查找并获取与脏页记录表中的各脏页 内存页的标识对应的各内存页作为各脏页内存页。
S902,目的端物理机将虚拟机运行上下文信息、脏页记录表和各脏页内存页存储至外部存储器中,并将外部存储器的迁移状态标志位设置为迁移失败状态。
S903,源端物理机定期轮询外部存储器的迁移状态标志位,当轮询到外部存储器中的迁移状态标志位为迁移失败状态时,从外部存储器中获取虚拟机运行上下文信息、脏页记录表和各脏页内存页。
具体的,在网络故障导致虚拟机热迁移失败后,对于目的端物理机与源端物理机之间的网络链路与存储链路为分离链路的情况,由于目的端物理机与源端物理机之间不可进行网络连接,在采用预拷贝方式下,目的端物理机可以将虚拟机运行上下文信息、脏页记录表和各脏页内存页存储至外部存储器中,源端物理机再从外部存储器中获取虚拟机运行上下文信息、脏页记录表和各脏页内存页。
S904,源端物理机将获取到的各脏页内存页进行更新存储。
具体的,步骤S904与图2所示实施例中的步骤S202相同,具体过程此处不再赘述。
S905,源端物理机根据虚拟机运行上下文信息触发部署在源端物理机上的源端虚拟机在源端物理机上运行。
为清楚说明本发明实施例的虚拟机迁移处理方法的具体过程,图10给出了图9所示实施例的虚拟机迁移处理方法一种可行实施方式的流程示意图,源端物理机中部署有源端虚拟机和源端热迁移服务单元,目的物理机中部署有目的端虚拟机和目的端热迁移服务单元,源端物理机与目的物理机之间通过外部存储器建立存储链路。如图10所示,包括:
S1001,目的端热迁移服务单元接收目的端物理机发送的热迁移失败的通知消息,热迁移失败的通知消息中包括导致热迁移失败的网络故障信息。
S1002,目的端热迁移服务单元根据脏页记录表中的各脏页内存页的标识在目的端虚拟机的内存中查找并获取与脏页记录表中的各脏页内存页的标识对应的各脏页内存页。
S1003,目的端热迁移服务单元将虚拟机运行上下文信息、脏页记录表和各脏页内存页存储至外部存储器中,并将外部存储器的迁移状态标志位设置为迁移失败状态。
S1004,源端热迁移服务单元定期轮询外部存储器的迁移状态标志位,当轮询到外部存储器中的迁移状态标志位为迁移失败状态时,从外部存储器中获取虚拟机运行上下文信息、脏页记录表和各脏页内存页。
S1005,源端热迁移服务单元将接收到的各脏页内存页更新存储至源端虚拟机的内存中。
S1006,源端热迁移服务单元根据虚拟机运行上下文信息触发源端虚拟机在源端物理机上运行。
上述图10所示的虚拟机迁移处理方法对应的虚拟机迁移系统的架构图及网络故障导致热迁移失败后采用预拷贝方式下的迁移回退流程的交互逻辑如图11所示,包括:
目的端热迁移服务单元在接收到目的端物理机发送的热迁移失败的通知消息(热迁移失败的通知消息中包括导致热迁移失败的网络故障信息)后,
S1101,目的端热迁移服务单元根据脏页记录表中的各脏页内存页的标识在目的端虚拟机的内存中查找并获取与脏页记录表中的各脏页内存页的标识对应的各脏页内存页。
S1102,目的端热迁移服务单元将虚拟机运行上下文信息、脏页记录表和各脏页内存页存储至外部存储器中,并将外部存储器的迁移状态标志位设置为迁移失败状态。
S1103,源端热迁移服务单元定期轮询外部存储器的迁移状态标志位,当轮询到外部存储器中的迁移状态标志位为迁移失败状态时,从外部存储器中获取虚拟机运行上下文信息、脏页记录表和各脏页内存页。
S1104,源端热迁移服务单元将接收到的各脏页内存页更新存储至源端虚拟机的内存中。
S1105,源端热迁移服务单元根据虚拟机运行上下文信息触发源端虚拟机在源端物理机上运行。
本发明实施例的虚拟机迁移处理方法,在虚拟机热迁移失败后,将与脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中进行更新存储,使得源端物理机上具有完整且最新的内存页,虚拟机可回滚至源端物理机上独立运行。
实施例五
图12为本发明提供的虚拟机迁移处理方法又一个实施例的流程示意图。如图12所示,本发明实施例的虚拟机迁移处理方法为图2所示实施例的虚拟机迁移处理方法的一种可行实施方式,描述了网络故障导致热迁移失败后采用延迟拷贝方式下的迁移回退流程,具体可包括:
图2所示实施例中的步骤S201具体可包括以下步骤S1201-S1207。
S1201,目的端物理机在网络故障导致虚拟机热迁移失败后,根据脏页记录表中的各脏页内存页的标识查找并获取与脏页记录表中的各脏页内存页的标识对应的各内存页作为各脏页内存页。
S1202,目的端物理机将虚拟机运行上下文信息、脏页记录表和各脏页内存页存储至外部存储器中,并将外部存储器的迁移状态标志位设置为迁移失败状态。
S1203,源端物理机定期轮询外部存储器的迁移状态标志位,当轮询到外部存储器中的迁移状态标志位为迁移失败状态时,从外部存储器中获取虚拟机运行上下文信息和脏页记录表。
S1204,源端物理机根据脏页记录表中的各脏页内存页的标识将自身存储的与脏页记录表中的各脏页内存页的标识对应的各内存页标记为无效页。
S1205,源端物理机根据虚拟机运行上下文信息触发部署在源端物理机上的源端虚拟机在源端物理机上运行。
S1206,源端物理机接收内存访问请求,并查找与内存访问请求中的目标内存页的标识对应的内存页。
S1207,若查找到的与目标内存页的标识对应的内存页被标记为无效页,则源端物理机从外部存储器中获取与目标内存页的标识对应的内存 页。
具体的,在网络故障导致虚拟机热迁移失败后,对于目的端物理机与源端物理机之间的网络链路与存储链路为分离链路的情况,由于目的端物理机与源端物理机之间不可进行网络连接,在采用延迟拷贝(即按需拷贝)方式下,目的端物理机可以将虚拟机运行上下文信息、脏页记录表和各脏页内存页存储至外部存储器中。源端物理机再从外部存储器中获取虚拟机运行上下文信息和脏页记录表。源端物理机根据脏页记录表中的各脏页内存页的标识将自身存储的与脏页记录表中的各脏页内存页的标识对应的各内存页标记为无效页,并根据获取到的虚拟机运行上下文信息触发部署在源端物理机上的源端虚拟机在源端物理机上运行。当访问到源端物理机中被标记为无效页的内存页时,源端物理机从外部存储器中获取对应的脏页内存页。其中,内存访问请求具体可为读请求或写请求。
相应的,图2所示实施例中的步骤S202具体为如下步骤S1208。
S1208,源端物理机将获取到的与目标内存页的标识对应的内存页进行更新存储,并标记为有效页。
为清楚说明本发明实施例的虚拟机迁移处理方法的具体过程,图13给出了图12所示实施例的虚拟机迁移处理方法一种可行实施方式的流程示意图,源端物理机中部署有源端虚拟机和源端热迁移服务单元,目的物理机中部署有目的端虚拟机和目的端热迁移服务单元,源端物理机与目的物理机之间通过外部存储器建立存储链路。如图13所示,包括:
S1301,目的端热迁移服务单元接收目的端物理机发送的热迁移失败的通知消息,热迁移失败的通知消息中包括导致热迁移失败的网络故障信息。
S1302,目的端热迁移服务单元根据脏页记录表中的各脏页内存页的标识在目的端虚拟机的内存中查找并获取与脏页记录表中的各脏页内存页的标识对应的各脏页内存页。
S1303,目的端热迁移服务单元将虚拟机运行上下文信息、脏页记录表和各脏页内存页存储至外部存储器中,并将外部存储器的迁移状态标 志位设置为迁移失败状态。
S1304,源端热迁移服务单元定期轮询外部存储器的迁移状态标志位,当轮询到外部存储器中的迁移状态标志位为迁移失败状态时,从外部存储器中获取虚拟机运行上下文信息和脏页记录表。
S1305,源端热迁移服务单元根据脏页记录表中的各脏页内存页的标识将源端虚拟机的内存中与脏页记录表中的各脏页内存页的标识对应的各内存页标记为无效页。
S1306,源端热迁移服务单元根据虚拟机运行上下文信息触发源端虚拟机在源端物理机上运行。
S1307,源端虚拟机接收内存访问请求,并在内存中查找与内存访问请求中的目标内存页的标识对应的内存页。
S1308,若查找到的与目标内存页的标识对应的内存页被标记为无效页,则源端虚拟机将缺页通知消息发送至源端热迁移服务单元,缺页通知消息中包括目标内存页的标识。
S1309,源端热迁移服务单元接收缺页通知消息,并从外部存储器中获取与目标内存页的标识对应的内存页。
S1310,源端热迁移服务单元将获取到的与目标内存页的标识对应的内存页更新存储至源端虚拟机的内存中,并标记为有效页。
上述图13所示的虚拟机迁移处理方法对应的虚拟机迁移系统的架构图及网络故障导致热迁移失败后采用延迟拷贝方式下的迁移回退流程的交互逻辑如图14所示,包括:
目的端热迁移服务单元在接收到目的端物理机发送的热迁移失败的通知消息(热迁移失败的通知消息中包括导致热迁移失败的网络故障信息)后,
S1401,目的端热迁移服务单元根据脏页记录表中的各脏页内存页的标识在目的端虚拟机的内存中查找并获取与脏页记录表中的各脏页内存页的标识对应的各脏页内存页。
S1402,目的端热迁移服务单元将虚拟机运行上下文信息、脏页记录表和各脏页内存页存储至外部存储器中,并将外部存储器的迁移状态标 志位设置为迁移失败状态。
S1403,源端热迁移服务单元定期轮询外部存储器的迁移状态标志位,当轮询到外部存储器中的迁移状态标志位为迁移失败状态时,从外部存储器中获取虚拟机运行上下文信息和脏页记录表。
S1404,源端热迁移服务单元根据脏页记录表中的各脏页内存页的标识将源端虚拟机的内存中与脏页记录表中的各脏页内存页的标识对应的各内存页标记为无效页。
S1405,源端热迁移服务单元根据虚拟机运行上下文信息触发源端虚拟机在源端物理机上运行。
S1406,源端虚拟机接收内存访问请求,内存访问请求中包括目标内存页的标识。
S1407,源端虚拟机在内存中查找与目标内存页的标识对应的内存页。若查找到的与目标内存页的标识对应的内存页被标记为无效页,则源端虚拟机将缺页通知消息发送至源端热迁移服务单元,缺页通知消息中包括目标内存页的标识。
S1408,源端热迁移服务单元接收缺页通知消息,并从外部存储器中获取与目标内存页的标识对应的内存页。
S1409,源端热迁移服务单元将获取到的与目标内存页的标识对应的内存页更新存储至源端虚拟机的内存中,并标记为有效页。
本发明实施例的虚拟机迁移处理方法,在虚拟机热迁移失败后,将与脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中进行更新存储,使得源端物理机上具有完整且最新的内存页,虚拟机可回滚至源端物理机上独立运行。
实施例六
图15为本发明提供的虚拟机迁移处理方法又一个实施例的流程示意图。如图15所示,本发明实施例的虚拟机迁移处理方法为虚拟机热迁移处理方法的主流程,可与图2-图13所示的虚拟机迁移失败后的迁移回退流程相结合实施,也可单独实施,具体可包括:
S1501,在延迟拷贝的方式下,目的端物理机针对来自源端物理机的写请求,执行与写请求对应的虚拟机热迁移处理流程。
S1502,目的端物理机在执行与写请求对应的虚拟机热迁移处理流程的过程中,若写请求对应的内存页的属性为可读写,则将写请求对应的内存页的标识记录在脏页记录表中。
具体的,目的端物理机通过在执行与写请求对应的虚拟机热迁移处理流程的过程中,若写请求对应的内存页的属性为可读写,则将写请求对应的内存页的标识(即在目的端物理机中待进行写操作的内存页的标识)记录在脏页记录表中,方便在图2-图13所示的虚拟机迁移失败后的迁移回退流程中,将与脏页记录表中的各内存页的标识对应的各脏页内存页(即在目的端物理机中进行过写操作的内存页)拷贝至源端物理机中。此处需要说明的是,虚拟机从源端物理机迁移至目的端物理机的过程中,拷贝内存页时连同内存页的属性一同拷贝,即同一内存页在源端物理机中的属性与在目的端物理机中的属性需一致,即在源端物理机中属性为只读的内存页拷贝至目的端物理机中后的属性仍为只读,在源端物理机中属性为可读写的内存页拷贝至目的端物理机中后的属性仍为可读写,因此若写请求对应的内存页的属性为只读,则无法对该内存页进行写操作,该内存页的标识也不会记录在脏页记录表中。
本发明实施例的虚拟机热迁移处理方法,目的端物理机通过在执行与写请求对应的虚拟机热迁移处理流程的过程中,将写请求对应的且属性为可读写的内存页的标识记录在脏页记录表中,方便在虚拟机热迁移失败后,将与脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中进行更新存储,使得源端物理机上具有完整且最新的内存页,虚拟机可回滚至源端物理机上独立运行。
实施例七
图16为本发明提供的虚拟机迁移处理方法又一个实施例的流程示意图。如图16所示,本发明实施例的虚拟机迁移处理方法为图15所示实施例的虚拟机迁移处理方法的一种可行实施方式,描述了虚拟机热迁 移处理方法的主流程,可与图2-图13所示的虚拟机迁移失败后的迁移回退流程相结合实施,也可单独实施,具体可包括:
图15所示实施例中的步骤S1501具体可包括如下步骤S1601-S1603。
S1601,目的端物理机接收写请求。
S1602,目的端物理机查找与写请求对应的内存页是否存在。
S1603,若目的端物理机中不存在与写请求对应的内存页,则目的端物理机从源端物理机获取与写请求对应的内存页及写请求对应的内存页的属性并存储。
图15所示实施例中的步骤S1502具体可为如下步骤S1604。
S1604,目的端物理机当从源端物理机获取到与写请求对应的内存页及写请求对应的内存页的属性时,若获取到的与写请求对应的内存页的属性为可读写,则将获取到的与写请求对应的内存页的标识记录在脏页记录表中。
为清楚的说明本发明实施例的虚拟机迁移处理方法的具体过程,图17给出了图16所示实施例的虚拟机迁移处理方法一种可行实施方式的流程示意图,源端物理机中部署有源端虚拟机和源端热迁移服务单元,目的物理机中部署有目的端虚拟机和目的端热迁移服务单元。如图17所示,包括:
S1701,目的端虚拟机接收写请求,写请求中包括内存页的标识。
S1702,目的端虚拟机在内存中查找与内存页的标识对应的内存页。
S1703,若内存中不存在与内存页的标识对应的内存页,则目的端虚拟机将写缺页通知消息发送至目的端热迁移服务单元,写缺页通知消息中包括内存页的标识。
S1704,目的端热迁移服务单元接收写缺页通知消息,并将写拷贝请求发送至源端热迁移服务单元,写拷贝请求中包括内存页的标识。
S1705,源端热迁移服务单元接收写拷贝请求,并在源端虚拟机的内存中查找并获取与内存页的标识对应的内存页及其属性。
S1706,源端热迁移服务单元将获取到的与内存页的标识对应的内存 页及其属性发送至目的端热迁移服务单元。
S1707,目的端热迁移服务单元接收与内存页的标识对应的内存页及其属性并存储在目的虚拟机的内存中,并将接收到的属性为可读写的内存页的标识记录在脏页记录表中,结束流程。
S1708,若内存中存在与内存页的标识对应的内存页且属性为可读写,则目的端虚拟机将脏页记录通知消息发送至目的端热迁移服务单元,脏页记录通知消息中包括内存页的标识。
S1709,目的端热迁移服务单元接收脏页记录通知消息,并将内存页的标识记录在脏页记录表中,结束流程。
上述图17所示的虚拟机热迁移处理方法对应的虚拟机迁移系统的架构图及虚拟机迁移处理方法的主流程的交互逻辑如图18所示,以目的端虚拟机的内存中不存在与写请求中的内存页的标识对应的内存页为例,包括:
S1801,目的端虚拟机接收写请求,写请求中包括内存页的标识。
S1802,目的端虚拟机在内存中查找与内存页的标识对应的内存页。若内存中不存在与内存页的标识对应的内存页,则目的端虚拟机将写缺页通知消息发送至目的端热迁移服务单元,写缺页通知消息中包括内存页的标识。
S1803,目的端热迁移服务单元接收写缺页通知消息,并将写拷贝请求发送至源端热迁移服务单元,写拷贝请求中包括内存页的标识。
S1804,源端热迁移服务单元接收写拷贝请求,并在源端虚拟机的内存中查找并获取与内存页的标识对应的内存页及其属性。
S1805,源端热迁移服务单元将获取到的与内存页的标识对应的内存页及其属性发送至目的端热迁移服务单元。
S1806,目的端热迁移服务单元接收与内存页的标识对应的内存页及其属性并存储在目的端虚拟机的内存中,供目的端虚拟机后续对内存页进行写操作,并将接收到的属性为可读写的内存页的标识记录在脏页记录表中。
本发明实施例的虚拟机热迁移处理方法,目的端物理机通过在执行 与写请求对应的虚拟机热迁移处理流程的过程中,将写请求对应的且属性为可读写的内存页的标识记录在脏页记录表中,方便在虚拟机热迁移失败后,将与脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中进行更新存储,使得源端物理机上具有完整且最新的内存页,虚拟机可回滚至源端物理机上独立运行。
实施例八
图19为本发明提供的虚拟机迁移处理方法又一个实施例的流程示意图。如图19所示,本发明实施例的虚拟机迁移处理方法为图15所示实施例的虚拟机迁移处理方法的一种可行实施方式,描述了虚拟机热迁移处理方法的主流程,可与图2-图13所示的虚拟机迁移失败后的迁移回退流程相结合实施,也可单独实施,具体可包括:
S1901,目的端物理机针对来自源端物理机的读请求,执行与读请求对应的虚拟机热迁移处理流程。
S1902,目的端物理机在执行与读请求对应的虚拟机热迁移处理流程的过程中,将从源端物理机获取到的与读请求对应的内存页的属性设置为只读。
S1903,目的端物理机针对写请求,执行与写请求对应的虚拟机热迁移处理流程。
图15所示实施例中的步骤S1502具体可为如下步骤S1904。
S1904,目的端物理机在执行与写请求对应的虚拟机热迁移处理流程的过程中,若从源端物理机获取到的与写请求对应的内存页的属性为可读写,则将与写请求对应的内存页的标识记录在脏页记录表中,或自身存储有与写请求对应且属性为只读的内存页,且该内存页在从源端物理机获取到时的属性为可读写,则将与写请求对应的内存页的属性设置为可读写,并将与写请求对应的内存页的标识记录在脏页记录表中。
具体的,目的端物理机通过在执行与读请求对应的虚拟机热迁移处理流程的过程中,将从源端物理机获取到的与读请求对应的内存页的属性设置为只读,并在执行与写请求对应的虚拟机热迁移处理流程的过程 中,若从源端物理机获取到的与写请求对应的内存页的属性为可读写,则将与写请求对应的内存页的标识记录在脏页记录表中,或自身存储有与写请求对应且属性为只读的内存页,且该内存页在从源端物理机获取到时的属性为可读写,则将与写请求对应的内存页的属性设置为可读写,并将与写请求对应的内存页的标识记录在脏页记录表中,即将在目的端物理机中待进行第一次写操作且原始属性为可读写的内存页的标识记录在脏页记录表中,避免将多次待进行写操作且原始属性为可读写的同一内存页的标识记录在脏页记录表中,造成资源浪费。
本发明实施例的虚拟机热迁移处理方法,目的端物理机通过在执行与写请求对应的虚拟机热迁移处理流程的过程中,将写请求对应的且属性为可读写的内存页的标识记录在脏页记录表中,方便在虚拟机热迁移失败后,将与脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中进行更新存储,使得源端物理机上具有完整且最新的内存页,虚拟机可回滚至源端物理机上独立运行。
实施例九
图20为本发明提供的虚拟机迁移处理方法又一个实施例的流程示意图。如图20所示,本发明实施例的虚拟机迁移处理方法为图19所示实施例的虚拟机迁移处理方法的一种可行实施方式,描述了虚拟机热迁移处理方法的主流程,可与图2-图13所示的虚拟机迁移失败后的迁移回退流程相结合实施,也可单独实施,具体可包括:
图19所示实施例中的步骤S1901具体可包括如下步骤S2001-S2003。
S2001,目的端物理机接收读请求。
S2002,目的端物理机查找与读请求对应的内存页是否存在。
S2003,若目的端物理机中不存在与读请求对应的内存页,则目的端物理机从源端物理机获取与读请求对应的内存页及读请求对应的内存页的属性并存储。
图19所示实施例中的步骤S1902具体可为如下步骤S2004。
S2004,目的端物理机将从源端物理机获取到的与读请求对应的内存页的属性设置为只读。
图19所示实施例中的步骤S1903具体可包括如下步骤S2005-S2008。
S2005,目的端物理机接收写请求。
S2006,目的端物理机查找与写请求对应的内存页是否存在。
S2007,若目的端物理机中不存在与写请求对应的内存页,则目的端物理机从源端物理机获取与写请求对应的内存页及写请求对应的内存页的属性并存储。
图19所示实施例中的步骤S1904具体可包括如下步骤S2008-S2009。
S2008,当目的端物理机中不存在与写请求对应的内存页,从源端物理机获取到与写请求对应的内存页及其属性时,若获取到的与写请求对应的内存页的属性为可读写,则将获取到的与写请求对应的内存页的标识记录在脏页记录表中。
S2009,当目的端物理机中存在与写请求对应的内存页且属性为只读时,且该内存页在从源端物理机获取到时的属性为可读写,则将与写请求对应的内存页的属性设置为可读写,并将与写请求对应的内存页的标识记录在脏页记录表中。
为清楚的说明本发明实施例的虚拟机迁移处理方法的具体过程,图21给出了图20所示实施例的虚拟机迁移处理方法一种可行实施方式的流程示意图,源端物理机中部署有源端虚拟机和源端热迁移服务单元,目的物理机中部署有目的端虚拟机和目的端热迁移服务单元。如图21所示,包括:
S2101,目的端虚拟机接收读请求,读请求中包括第一内存页的标识。
S2102,目的端虚拟机在内存中查找与第一内存页的标识对应的内存页。
S2103,若内存中不存在与第一内存页的标识对应的内存页,则目的端虚拟机将读缺页通知消息发送至目的端热迁移服务单元,读缺页通知消息中包括第一内存页的标识。
S2104,目的端热迁移服务单元接收读缺页通知消息,并将读拷贝请求发送至源端热迁移服务单元,读拷贝请求中包括第一内存页的标识。
S2105,源端热迁移服务单元接收读拷贝请求,并在源端虚拟机的内存中查找并获取与第一内存页的标识对应的内存页及其属性。
S2106,源端热迁移服务单元将获取到的与第一内存页的标识对应的内存页及其属性发送至目的端热迁移服务单元。
S2107,目的端热迁移服务单元接收与第一内存页的标识对应的内存页及其属性并存储在目的虚拟机的内存中,并将与第一内存页的标识对应的内存页的属性设置为只读。
S2108,目的端虚拟机接收写请求,写请求中包括第二内存页的标识。
S2109,目的端虚拟机在目的端虚拟机的内存中查找与第二内存页的标识对应的内存页。
S2110,若内存中不存在与第二内存页的标识对应的内存页,则目的端虚拟机将写缺页通知消息发送至目的端热迁移服务单元,写缺页通知消息中包括第二内存页的标识。
S2111,目的端热迁移服务单元接收写缺页通知消息,并将写拷贝请求发送至源端热迁移服务单元,写拷贝请求中包括第二内存页的标识。
S2112,源端热迁移服务单元接收写拷贝请求,并在源端虚拟机的内存中查找并获取与第二内存页的标识对应的内存页及其属性。
S2113,源端热迁移服务单元将获取到的与第二内存页的标识对应的内存页及其属性发送至目的端热迁移服务单元。
S2114,目的端热迁移服务单元接收与第二内存页的标识对应的内存页及其属性并存储在目的虚拟机的内存中,若获取到的与写请求对应的内存页的属性为可读写,则将获取到的第二内存页的标识记录在脏页记录表中,结束流程。
S2115,若内存中存在与第二内存页的标识对应的内存页且属性为只读,且该内存页在从源端物理机获取到时的属性为可读写,则则目的端虚拟机将脏页记录通知消息发送至目的端热迁移服务单元,脏页记录通知消息中包括第二内存页的标识。
S2116,目的端热迁移服务单元接收脏页记录通知消息,并将与第二内存页的标识对应的内存页设置为可读写,并将第二内存页的标识记录在脏页记录表中,结束流程。
上述图21所示的虚拟机热迁移处理方法对应的虚拟机迁移系统的架构图及虚拟机迁移处理方法的主流程的交互逻辑如图22所示,以目的端虚拟机的内存中不存在与读、写请求中的内存页的标识对应的内存页为例,包括:
S2201,目的端虚拟机接收读请求,读请求中包括第一内存页的标识。
S2202,目的端虚拟机在内存中查找与第一内存页的标识对应的内存页。若内存中不存在与第一内存页的标识对应的内存页,则目的端虚拟机将读缺页通知消息发送至目的端热迁移服务单元,读缺页通知消息中包括第一内存页的标识。
S2203,目的端热迁移服务单元接收读缺页通知消息,并将读拷贝请求发送至源端热迁移服务单元,读拷贝请求中包括第一内存页的标识。
S2204,源端热迁移服务单元接收读拷贝请求,并在源端虚拟机的内存中查找并获取与第一内存页的标识对应的内存页及其属性。
S2205,源端热迁移服务单元将获取到的与第一内存页的标识对应的内存页及其属性发送至目的端热迁移服务单元。
S2206,目的端热迁移服务单元接收与第一内存页的标识对应的内存页及其属性并存储在目的虚拟机的内存中,供目的端虚拟机后续对第一内存页进行读操作,并将与第一内存页的标识对应的内存页的属性设置为只读。
S2207,目的端虚拟机接收写请求,写请求中包括第二内存页的标识。
S2208,目的端虚拟机在内存中查找与第二内存页的标识对应的内存页。若内存中不存在与第二内存页的标识对应的内存页,则目的端虚拟机将写缺页通知消息发送至目的端热迁移服务单元,写缺页通知消息中包括第二内存页的标识。
S2209,目的端热迁移服务单元接收写缺页通知消息,并将写拷贝请求发送至源端热迁移服务单元,写拷贝请求中包括第二内存页的标识。
S2210,源端热迁移服务单元接收写拷贝请求,并在源端虚拟机的内存中查找并获取与第二内存页的标识对应的内存页及其属性。
S2211,源端热迁移服务单元将获取到的与第二内存页的标识对应的内存页及其属性发送至目的端热迁移服务单元。
S2212,目的端热迁移服务单元接收与第二内存页的标识对应的内存页及其属性并存储在目的虚拟机的内存中,供目的端虚拟机后续对内存页进行写操作。若获取到的与写请求对应的内存页的属性为可读写,则将获取到的第二内存页的标识记录在脏页记录表中。
本发明实施例的虚拟机热迁移处理方法,目的端物理机通过在执行与写请求对应的虚拟机热迁移处理流程的过程中,将写请求对应的且属性为可读写的内存页的标识记录在脏页记录表中,方便在虚拟机热迁移失败后,将与脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中进行更新存储,使得源端物理机上具有完整且最新的内存页,虚拟机可回滚至源端物理机上独立运行。
实施例十
图23为本发明提供的虚拟机迁移处理系统一个实施例的结构示意图。本发明实施例的虚拟机迁移处理系统可执行图2-图21任一所示实施例的虚拟机迁移处理方法。如图23所示,本发明实施例的虚拟机迁移处理系统具体可包括源端物理机231和目的端物理机232,源端物理机231上部署有源端虚拟机233和源端热迁移服务单元234,目的端物理机232上部署有目的端虚拟机235和目的端热迁移服务单元236。
在虚拟机热迁移失败后的迁移回退流程中:
目的端物理机232,用于在延迟拷贝的方式下进行虚拟机热迁移失败后,根据记录的脏页记录表,将与脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机231中。具体关于虚拟机热迁移失败的判断方式已经在实施例一中进行了说明。
源端物理机231,用于将拷贝的各脏页内存页进行更新存储。
作为第一种可行实施方式,在非网络故障导致热迁移失败后采用预 拷贝方式的情况下,目的端物理机232具体用于:在非网络故障导致虚拟机热迁移失败后,根据脏页记录表中的各脏页内存页的标识查找并获取与脏页记录表中的各脏页内存页的标识对应的各内存页作为各脏页内存页;将虚拟机运行上下文信息、脏页记录表和各脏页内存页发送至源端物理机231。
进一步的,源端物理机231还用于:在将拷贝的各脏页内存页进行更新存储之后,根据虚拟机运行上下文信息触发部署在源端物理机231上的源端虚拟机233在源端物理机231上运行。
作为第二种可行实施方式,在非网络故障导致热迁移失败后采用延迟拷贝方式的情况下,目的端物理机232具体用于:在非网络故障导致虚拟机热迁移失败后,将虚拟机运行上下文信息和脏页记录表发送至源端物理机231。
源端物理机231还用于:根据脏页记录表中的各脏页内存页的标识将自身存储的与脏页记录表中的各脏页内存页的标识对应的各内存页标记为无效页;根据虚拟机运行上下文信息触发部署在源端物理机231上的源端虚拟机233在源端物理机231上运行;接收内存访问请求,并查找与内存访问请求中的目标内存页的标识对应的内存页;若查找到的与目标内存页的标识对应的内存页被标记为无效页,则从目的端物理机232中获取与目标内存页的标识对应的内存页。
进一步的,源端物理机231具体用于:将获取到的与目标内存页的标识对应的内存页进行更新存储,并标记为有效页。
作为第三种可行实施方式,在网络故障导致热迁移失败后采用预拷贝方式的情况下,本发明实施例的虚拟机迁移处理系统还可包括外部存储器237。目的端物理机232具体用于:在网络故障导致虚拟机热迁移失败后,根据脏页记录表中的各脏页内存页的标识查找并获取与脏页记录表中的各脏页内存页的标识对应的各内存页作为各脏页内存页;将虚拟机运行上下文信息、脏页记录表和各脏页内存页存储至外部存储器237中,并将外部存储器237的迁移状态标志位设置为迁移失败状态。
源端物理机231还用于:定期轮询外部存储器237的迁移状态标志 位,当轮询到外部存储器237中的迁移状态标志位为迁移失败状态时,从外部存储器237中获取虚拟机运行上下文信息、脏页记录表和各脏页内存页。
进一步的,源端物理机231还用于:根据虚拟机运行上下文信息触发部署在源端物理机231上的源端虚拟机233在源端物理机231上运行。
作为第四种可行实施方式,在网络故障导致热迁移失败后采用延迟拷贝方式的情况下,本发明实施例的虚拟机迁移处理系统还可包括外部存储器237。目的端物理机232具体用于:在网络故障导致虚拟机热迁移失败后,根据脏页记录表中的各脏页内存页的标识查找并获取与脏页记录表中的各脏页内存页的标识对应的各内存页作为各脏页内存页;将虚拟机运行上下文信息、脏页记录表和各脏页内存页存储至外部存储器237中,并将外部存储器237的迁移状态标志位设置为迁移失败状态。
源端物理机231还用于:定期轮询外部存储器237的迁移状态标志位,当轮询到外部存储器237中的迁移状态标志位为迁移失败状态时,从外部存储器237中获取虚拟机运行上下文信息和脏页记录表;根据脏页记录表中的各脏页内存页的标识将自身存储的与脏页记录表中的各脏页内存页的标识对应的各内存页标记为无效页;根据虚拟机运行上下文信息触发部署在源端物理机231上的源端虚拟机233在源端物理机231上运行;接收内存访问请求,并查找与内存访问请求中的目标内存页的标识对应的内存页;若查找到的与目标内存页的标识对应的内存页被标记为无效页,则从外部存储器237中获取与目标内存页的标识对应的内存页。
进一步的,源端物理机231具体用于:将获取到的与目标内存页的标识对应的内存页进行更新存储,并标记为有效页。
在虚拟机热迁移处理方法的主流程中:
目的端物理机232,用于在延迟拷贝的方式下,针对来自源端物理机的写请求,执行与写请求对应的虚拟机热迁移处理流程;在执行与写请求对应的虚拟机热迁移处理流程的过程中,若写请求对应的内存页的属性为可读写,则将写请求对应的内存页的标识记录在脏页记录表中。
源端物理机231,用于向所述目的端物理机发送写请求。
进一步的,目的端物理机232具体用于:接收写请求;查找与写请求对应的内存页是否存在;若自身不存在与写请求对应的内存页,则从源端物理机231获取与写请求对应的内存页及写请求对应的内存页的属性并存储。
进一步的,目的端物理机232具体用于:当从源端物理机获取到与写请求对应的内存页及写请求对应的内存页的属性时,若获取到的与写请求对应的内存页的属性为可读写,则将获取到的与写请求对应的内存页的标识记录在脏页记录表中。
进一步的,源端物理机231还用于向目的端物理机232发送读请求。
相应地,目的端物理机232还用于:针对来自源端物理机231读请求,执行与读请求对应的虚拟机热迁移处理流程;在执行与读请求对应的虚拟机热迁移处理流程的过程中,将从源端物理机231获取到的与读请求对应的内存页的属性设置为只读。
进一步的,目的端物理机232具体用于:接收读请求;查找与读请求对应的内存页是否存在;若自身不存在与读请求对应的内存页,则从源端物理机231获取与读请求对应的内存页及读请求对应的内存页的属性并存储。
进一步的,目的端物理机232具体用于:当从源端物理机231获取到与写请求对应的内存页时,若获取到的与写请求对应的内存页的属性为可读写,则将与写请求对应的内存页的标识记录在脏页记录表中。
进一步的,目的端物理机232还用于:当自身存在与写请求对应的内存页且属性为只读时,若存在的与写请求对应的内存页在从源端物理机获取到时的属性为可读写,则将与写请求对应的内存页的属性设置为可读写,并将与写请求对应的内存页的标识记录在脏页记录表中。
具体的,本发明实施例的虚拟机热迁移处理系统中各物理机、各虚拟机和各热迁移服务单元实现其功能的具体过程可参见上述图2-图21所示方法实施例中的相关描述,此处不再赘述。
本发明实施例的虚拟机热迁移处理系统,在虚拟机热迁移失败后, 将与脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中进行更新存储,使得源端物理机上具有完整且最新的内存页,虚拟机可回滚至源端物理机上独立运行。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (44)

  1. 一种虚拟机热迁移处理方法,其特征在于,包括:
    目的端物理机在延迟拷贝的方式下进行虚拟机热迁移失败后,根据记录的脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中;
    所述源端物理机将拷贝的所述各脏页内存页进行更新存储。
  2. 根据权利要求1所述的方法,其特征在于,所述目的端物理机在虚拟机热迁移失败后,根据记录的脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中,包括:
    所述目的端物理机在非网络故障导致虚拟机热迁移失败后,根据记录的所述脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的所述各脏页内存页采用预拷贝的方式拷贝至所述源端物理机中。
  3. 根据权利要求2所述的方法,其特征在于,所述目的端物理机在非网络故障导致虚拟机热迁移失败后,根据记录的所述脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的所述各脏页内存页采用预拷贝的方式拷贝至所述源端物理机中,包括:
    所述目的端物理机在非网络故障导致虚拟机热迁移失败后,根据所述脏页记录表中的各脏页内存页的标识查找并获取与所述脏页记录表中的各脏页内存页的标识对应的各内存页作为所述各脏页内存页;
    所述目的端物理机将虚拟机运行上下文信息、所述脏页记录表和所述各脏页内存页发送至所述源端物理机。
  4. 根据权利要求3所述的方法,其特征在于,所述源端物理机将拷贝的所述各脏页内存页进行更新存储之后,还包括:
    所述源端物理机根据所述虚拟机运行上下文信息触发部署在所述源端物理机上的源端虚拟机在所述源端物理机上运行。
  5. 根据权利要求1所述的方法,其特征在于,所述目的端物理机在虚拟机热迁移失败后,根据记录的脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中,包括:
    所述目的端物理机在非网络故障导致虚拟机热迁移失败后,根据记 录的所述脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的所述各脏页内存页采用延迟拷贝的方式拷贝至所述源端物理机中。
  6. 根据权利要求5所述的方法,其特征在于,所述目的端物理机在非网络故障导致虚拟机热迁移失败后,根据记录的所述脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的所述各脏页内存页采用延迟拷贝的方式拷贝至所述源端物理机中,包括:
    所述目的端物理机在非网络故障导致虚拟机热迁移失败后,将虚拟机运行上下文信息和所述脏页记录表发送至所述源端物理机;
    所述源端物理机根据所述脏页记录表中的各脏页内存页的标识将自身存储的与所述脏页记录表中的各脏页内存页的标识对应的各内存页标记为无效页;
    所述源端物理机根据所述虚拟机运行上下文信息触发部署在所述源端物理机上的源端虚拟机在所述源端物理机上运行;
    所述源端物理机接收内存访问请求,并查找与所述内存访问请求中的目标内存页的标识对应的内存页;
    若查找到的与所述目标内存页的标识对应的内存页被标记为无效页,则所述源端物理机从所述目的端物理机中获取与所述目标内存页的标识对应的内存页。
  7. 根据权利要求6所述的方法,其特征在于,所述源端物理机将拷贝的所述各脏页内存页进行更新存储,包括:
    所述源端物理机将获取到的与所述目标内存页的标识对应的内存页进行更新存储,并标记为有效页。
  8. 根据权利要求1所述的方法,其特征在于,所述目的端物理机在虚拟机热迁移失败后,根据记录的脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中,包括:
    所述目的端物理机在网络故障导致虚拟机热迁移失败后,根据记录的所述脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的所述各脏页内存页采用预拷贝的方式拷贝至所述源端物理机中。
  9. 根据权利要求8所述的方法,其特征在于,所述目的端物理机在 网络故障导致虚拟机热迁移失败后,根据记录的所述脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的所述各脏页内存页采用预拷贝的方式拷贝至所述源端物理机中,包括:
    所述目的端物理机在网络故障导致虚拟机热迁移失败后,根据所述脏页记录表中的各脏页内存页的标识查找并获取与所述脏页记录表中的各脏页内存页的标识对应的各内存页作为所述各脏页内存页;
    所述目的端物理机将虚拟机运行上下文信息、所述脏页记录表和所述各脏页内存页存储至外部存储器中,并将所述外部存储器的迁移状态标志位设置为迁移失败状态;
    所述源端物理机定期轮询所述外部存储器的所述迁移状态标志位,当轮询到所述外部存储器中的所述迁移状态标志位为所述迁移失败状态时,从所述外部存储器中获取所述虚拟机运行上下文信息、所述脏页记录表和所述各脏页内存页。
  10. 根据权利要求9所述的方法,其特征在于,所述源端物理机将拷贝的所述各脏页内存页进行更新存储之后,还包括:
    所述源端物理机根据所述虚拟机运行上下文信息触发部署在所述源端物理机上的源端虚拟机在所述源端物理机上运行。
  11. 根据权利要求1所述的方法,其特征在于,所述目的端物理机在虚拟机热迁移失败后,根据记录的脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中,包括:
    所述目的端物理机在网络故障导致虚拟机热迁移失败后,根据记录的所述脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的所述各脏页内存页采用延迟拷贝的方式拷贝至所述源端物理机中。
  12. 根据权利要求11所述的方法,其特征在于,所述目的端物理机在网络故障导致虚拟机热迁移失败后,根据记录的所述脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的所述各脏页内存页采用延迟拷贝的方式拷贝至所述源端物理机中,包括:
    所述目的端物理机在网络故障导致虚拟机热迁移失败后,根据所述 脏页记录表中的各脏页内存页的标识查找并获取与所述脏页记录表中的各脏页内存页的标识对应的各内存页作为所述各脏页内存页;
    所述目的端物理机将虚拟机运行上下文信息、所述脏页记录表和所述各脏页内存页存储至外部存储器中,并将所述外部存储器的迁移状态标志位设置为迁移失败状态;
    所述源端物理机定期轮询所述外部存储器的所述迁移状态标志位,当轮询到所述外部存储器中的所述迁移状态标志位为所述迁移失败状态时,从所述外部存储器中获取所述虚拟机运行上下文信息和所述脏页记录表;
    所述源端物理机根据所述脏页记录表中的各脏页内存页的标识将自身存储的与所述脏页记录表中的各脏页内存页的标识对应的各内存页标记为无效页;
    所述源端物理机根据所述虚拟机运行上下文信息触发部署在所述源端物理机上的源端虚拟机在所述源端物理机上运行;
    所述源端物理机接收内存访问请求,并查找与所述内存访问请求中的目标内存页的标识对应的内存页;
    若查找到的与所述目标内存页的标识对应的内存页被标记为无效页,则所述源端物理机从所述外部存储器中获取与所述目标内存页的标识对应的内存页。
  13. 根据权利要求12所述的方法,其特征在于,所述源端物理机将拷贝的所述各脏页内存页进行更新存储,包括:
    所述源端物理机将获取到的与所述目标内存页的标识对应的内存页进行更新存储,并标记为有效页。
  14. 根据权利要求1-13任一项所述的方法,其特征在于,所述目的端物理机在虚拟机热迁移失败后,根据记录的脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中之前,还包括:
    所述目的端物理机在针对各写请求执行虚拟机热迁移处理流程的过程中,若所述写请求对应的内存页的属性为可读写,则将所述各写请求 对应的各内存页的标识记录在所述脏页记录表中。
  15. 根据权利要求14所述的方法,其特征在于,所述目的端物理机在针对各写请求执行虚拟机热迁移处理流程的过程中,若所述写请求对应的内存页的属性为可读写,则将所述各写请求对应的各内存页的标识记录在所述脏页记录表中,包括:
    所述目的端物理机当从所述源端物理机获取到与所述写请求对应的内存页及所述写请求对应的内存页的属性时,若获取到的与所述写请求对应的内存页的属性为可读写,则将获取到的与所述写请求对应的内存页的标识记录在所述脏页记录表中。
  16. 根据权利要求14所述的方法,其特征在于,所述目的端物理机在虚拟机热迁移失败后,根据记录的脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至源端物理机中之前,还包括:
    所述目的端物理机在针对读请求执行与所述读请求对应的虚拟机热迁移处理流程的过程中,将从所述源端物理机获取到的与所述读请求对应的内存页的属性设置为只读。
  17. 根据权利要求16所述的方法,其特征在于,所述目的端物理机在针对各写请求执行虚拟机热迁移处理流程的过程中,若所述写请求对应的内存页的属性为可读写,则将所述各写请求对应的各内存页的标识记录在所述脏页记录表中,包括:
    当所述目的端物理机从所述源端物理机获取到与所述写请求对应的内存页时,若获取到的与所述写请求对应的内存页的属性为可读写,则将与所述写请求对应的内存页的标识记录在所述脏页记录表中。
  18. 根据权利要求17所述的方法,其特征在于,所述目的端物理机在针对各写请求执行虚拟机热迁移处理流程的过程中,若所述写请求对应的内存页的属性为可读写,则将所述各写请求对应的各内存页的标识记录在所述脏页记录表中,还包括:
    当所述目的端物理机中存在与所述写请求对应的内存页且属性为只读时,若存在的与所述写请求对应的内存页在从所述源端物理机获取到 时的属性为可读写,则将与所述写请求对应的内存页的属性设置为可读写,并将与所述写请求对应的内存页的标识记录在所述脏页记录表中。
  19. 根据权利要求1所述的方法,其特征在于,还包括:
    在进行虚拟机的热迁移的过程中,监控所述目的端物理机与所述源端物理机之间的网络传输是否异常和/或虚拟机实例是否创建异常和/或虚拟机实例被创建后是否运行正常;
    如果出现网络传输异常或虚拟机实例创建异常或创建后的虚拟机实例运行异常,向所述目的端物理机发送虚拟机热迁移失败的通知消息。
  20. 一种虚拟机热迁移处理方法,其特征在于,包括:
    在延迟拷贝的方式下,目的端物理机针对来自源端物理机的写请求,执行与所述写请求对应的虚拟机热迁移处理流程;
    所述目的端物理机在执行与所述写请求对应的虚拟机热迁移处理流程的过程中,若所述写请求对应的内存页的属性为可读写,则将所述写请求对应的内存页的标识记录在脏页记录表中。
  21. 根据权利要求20所述的方法,其特征在于,所述目的端物理机针对写请求,执行与所述写请求对应的虚拟机热迁移处理流程,包括:
    所述目的端物理机接收所述写请求;
    所述目的端物理机查找与所述写请求对应的内存页是否存在;
    若所述目的端物理机中不存在与所述写请求对应的内存页,则所述目的端物理机从源端物理机获取与所述写请求对应的内存页及所述写请求对应的内存页的属性并存储。
  22. 根据权利要求21所述的方法,其特征在于,所述目的端物理机在执行与所述写请求对应的虚拟机热迁移处理流程的过程中,若所述写请求对应的内存页的属性为可读写,则将所述写请求对应的内存页的标识记录在脏页记录表中,包括:
    所述目的端物理机当从所述源端物理机获取到与所述写请求对应的内存页及所述写请求对应的内存页的属性时,若获取到的与所述写请求对应的内存页的属性为可读写,则将获取到的与所述写请求对应的内存页的标识记录在所述脏页记录表中。
  23. 根据权利要求21所述的方法,其特征在于,还包括:
    所述目的端物理机针对来自所述源端物理机的读请求,执行与所述读请求对应的虚拟机热迁移处理流程;
    所述目的端物理机在执行与所述读请求对应的虚拟机热迁移处理流程的过程中,将从所述源端物理机获取到的与所述读请求对应的内存页的属性设置为只读。
  24. 根据权利要求23所述的方法,其特征在于,所述目的端物理机针对读请求,执行与所述读请求对应的虚拟机热迁移处理流程,包括:
    所述目的端物理机接收所述读请求;
    所述目的端物理机查找与所述读请求对应的内存页是否存在;
    若所述目的端物理机中不存在与所述读请求对应的内存页,则所述目的端物理机从源端物理机获取与所述读请求对应的内存页及所述读请求对应的内存页的属性并存储。
  25. 根据权利要求24所述的方法,其特征在于,所述目的端物理机在执行与所述写请求对应的虚拟机热迁移处理流程的过程中,若所述写请求对应的内存页的属性为可读写,则将所述写请求对应的内存页的标识记录在脏页记录表中,包括:
    当所述目的端物理机从所述源端物理机获取到与所述写请求对应的内存页时,若获取到的与所述写请求对应的内存页的属性为可读写,则将与所述写请求对应的内存页的标识记录在所述脏页记录表中。
  26. 根据权利要求25所述的方法,其特征在于,所述目的端物理机在执行与所述写请求对应的虚拟机热迁移处理流程的过程中,若所述写请求对应的内存页的属性为可读写,则将所述写请求对应的内存页的标识记录在脏页记录表中,还包括:
    当所述目的端物理机中存在与所述写请求对应的内存页且属性为只读时,若存在的与所述写请求对应的内存页在从所述源端物理机获取到时的属性为可读写,则将与所述写请求对应的内存页的属性设置为可读写,并将与所述写请求对应的内存页的标识记录在所述脏页记录表中。
  27. 一种虚拟机热迁移处理系统,其特征在于,包括源端物理机和 目的端物理机,其中:
    所述目的端物理机,用于在延迟拷贝的方式下进行虚拟机热迁移失败后,根据记录的脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的各脏页内存页拷贝至所述源端物理机中;
    所述源端物理机,用于将拷贝的所述各脏页内存页进行更新存储。
  28. 根据权利要求27所述的系统,其特征在于,所述目的端物理机具体用于:
    在非网络故障导致虚拟机热迁移失败后,根据记录的所述脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的所述各脏页内存页采用预拷贝的方式拷贝至所述源端物理机中。
  29. 根据权利要求28所述的系统,其特征在于,所述目的端物理机具体用于:
    在非网络故障导致虚拟机热迁移失败后,根据所述脏页记录表中的各脏页内存页的标识查找并获取与所述脏页记录表中的各脏页内存页的标识对应的各内存页作为所述各脏页内存页;
    将虚拟机运行上下文信息、所述脏页记录表和所述各脏页内存页发送至所述源端物理机。
  30. 根据权利要求29所述的系统,其特征在于,所述源端物理机还用于:
    在所述将拷贝的所述各脏页内存页进行更新存储之后,根据所述虚拟机运行上下文信息触发部署在所述源端物理机上的源端虚拟机在所述源端物理机上运行。
  31. 根据权利要求27所述的系统,其特征在于,所述目的端物理机具体用于:
    在非网络故障导致虚拟机热迁移失败后,根据记录的所述脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的所述各脏页内存页采用延迟拷贝的方式拷贝至所述源端物理机中。
  32. 根据权利要求31所述的系统,其特征在于,所述目的端物理机具体用于:
    在非网络故障导致虚拟机热迁移失败后,将虚拟机运行上下文信息和所述脏页记录表发送至所述源端物理机;
    所述源端物理机还用于:
    根据所述脏页记录表中的各脏页内存页的标识将自身存储的与所述脏页记录表中的各脏页内存页的标识对应的各内存页标记为无效页;
    根据所述虚拟机运行上下文信息触发部署在所述源端物理机上的源端虚拟机在所述源端物理机上运行;
    接收内存访问请求,并查找与所述内存访问请求中的目标内存页的标识对应的内存页;
    若查找到的与所述目标内存页的标识对应的内存页被标记为无效页,则从所述目的端物理机中获取与所述目标内存页的标识对应的内存页。
  33. 根据权利要求32所述的系统,其特征在于,所述源端物理机具体用于:
    将获取到的与所述目标内存页的标识对应的内存页进行更新存储,并标记为有效页。
  34. 根据权利要求27所述的系统,其特征在于,所述目的端物理机具体用于:
    在网络故障导致虚拟机热迁移失败后,根据记录的所述脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的所述各脏页内存页采用预拷贝的方式拷贝至所述源端物理机中。
  35. 根据权利要求34所述的系统,其特征在于,还包括外部存储器;
    所述目的端物理机具体用于:
    在网络故障导致虚拟机热迁移失败后,根据所述脏页记录表中的各脏页内存页的标识查找并获取与所述脏页记录表中的各脏页内存页的标识对应的各内存页作为所述各脏页内存页;
    将虚拟机运行上下文信息、所述脏页记录表和所述各脏页内存页存储至外部存储器中,并将所述外部存储器的迁移状态标志位设置为迁移失败状态;
    所述源端物理机还用于:
    定期轮询所述外部存储器的所述迁移状态标志位,当轮询到所述外部存储器中的所述迁移状态标志位为所述迁移失败状态时,从所述外部存储器中获取所述虚拟机运行上下文信息、所述脏页记录表和所述各脏页内存页。
  36. 根据权利要求35所述的系统,其特征在于,所述源端物理机还用于:
    根据所述虚拟机运行上下文信息触发部署在所述源端物理机上的源端虚拟机在所述源端物理机上运行。
  37. 根据权利要求27所述的系统,其特征在于,所述目的端物理机具体用于:
    在网络故障导致虚拟机热迁移失败后,根据记录的所述脏页记录表,将与所述脏页记录表中的各脏页内存页的标识对应的所述各脏页内存页采用延迟拷贝的方式拷贝至所述源端物理机中。
  38. 根据权利要求37所述的系统,其特征在于,还包括外部存储器;
    所述目的端物理机具体用于:
    在网络故障导致虚拟机热迁移失败后,根据所述脏页记录表中的各脏页内存页的标识查找并获取与所述脏页记录表中的各脏页内存页的标识对应的各内存页作为所述各脏页内存页;
    将虚拟机运行上下文信息、所述脏页记录表和所述各脏页内存页存储至外部存储器中,并将所述外部存储器的迁移状态标志位设置为迁移失败状态;
    所述源端物理机还用于:
    定期轮询所述外部存储器的所述迁移状态标志位,当轮询到所述外部存储器中的所述迁移状态标志位为所述迁移失败状态时,从所述外部存储器中获取所述虚拟机运行上下文信息和所述脏页记录表;
    根据所述脏页记录表中的各脏页内存页的标识将自身存储的与所述脏页记录表中的各脏页内存页的标识对应的各内存页标记为无效页;
    根据所述虚拟机运行上下文信息触发部署在所述源端物理机上的源 端虚拟机在所述源端物理机上运行;
    接收内存访问请求,并查找与所述内存访问请求中的目标内存页的标识对应的内存页;
    若查找到的与所述目标内存页的标识对应的内存页被标记为无效页,则从所述外部存储器中获取与所述目标内存页的标识对应的内存页。
  39. 根据权利要求38所述的系统,其特征在于,所述源端物理机具体用于:
    将获取到的与所述目标内存页的标识对应的内存页进行更新存储,并标记为有效页。
  40. 根据权利要求27所述的系统,其特征在于,
    在进行虚拟机的热迁移的过程中,所述目的端物理机监控所述目的端物理机与所述源端物理机之间的网络传输是否异常和/或虚拟机实例是否被创建异常和/或虚拟机实例被创建后是否运行正常,
    如果出现网络传输异常或虚拟机实例创建异常或创建后的虚拟机实例运行异常,则向所述目的端物理机发送虚拟机热迁移失败的通知消息。
  41. 一种虚拟机热迁移处理系统,其特征在于,包括源端物理机和目的端物理机,其中:
    所述目的端物理机,用于在延迟拷贝的方式下,针对来自源端物理机的写请求,执行与所述写请求对应的虚拟机热迁移处理流程;在执行与所述写请求对应的虚拟机热迁移处理流程的过程中,若所述写请求对应的内存页的属性为可读写,则将所述写请求对应的内存页的标识记录在脏页记录表中;
    所述源端物理机,用于向所述目的端物理机发送写请求。
  42. 根据权利要求41所述的系统,其特征在于,所述目的端物理机具体用于:
    接收所述写请求;
    查找与所述写请求对应的内存页是否存在;
    若自身不存在与所述写请求对应的内存页,则从源端物理机获取与所述写请求对应的内存页及所述写请求对应的内存页的属性并存储。
  43. 根据权利要求42所述的系统,其特征在于,所述目的端物理机具体用于:
    当从所述源端物理机获取到与所述写请求对应的内存页及所述写请求对应的内存页的属性时,若获取到的与所述写请求对应的内存页的属性为可读写,则将获取到的与所述写请求对应的内存页的标识记录在所述脏页记录表中。
  44. 根据权利要求42所述的系统,其特征在于,
    所述源端物理机还用于向所述目的端物理机发送读请求;
    所述目的端物理机还用于:
    针对来自所述源端物理机的所述读请求,执行与所述读请求对应的虚拟机热迁移处理流程;
    在执行与所述读请求对应的虚拟机热迁移处理流程的过程中,将从所述源端物理机获取到的与所述读请求对应的内存页的属性设置为只读。
PCT/CN2017/099988 2016-09-06 2017-08-31 虚拟机热迁移处理方法及系统 Ceased WO2018045908A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/294,876 US10915412B2 (en) 2016-09-06 2019-03-06 System and method for live migration of a virtual machine

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610806408.7A CN107797878A (zh) 2016-09-06 2016-09-06 虚拟机热迁移处理方法及系统
CN201610806408.7 2016-09-06

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/294,876 Continuation US10915412B2 (en) 2016-09-06 2019-03-06 System and method for live migration of a virtual machine

Publications (1)

Publication Number Publication Date
WO2018045908A1 true WO2018045908A1 (zh) 2018-03-15

Family

ID=61530033

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/099988 Ceased WO2018045908A1 (zh) 2016-09-06 2017-08-31 虚拟机热迁移处理方法及系统

Country Status (4)

Country Link
US (1) US10915412B2 (zh)
CN (1) CN107797878A (zh)
TW (1) TWI764912B (zh)
WO (1) WO2018045908A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10915412B2 (en) 2016-09-06 2021-02-09 Alibaba Group Holding Limited System and method for live migration of a virtual machine

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110347483B (zh) * 2018-04-08 2021-05-11 中兴通讯股份有限公司 物理机到虚拟机迁移方法、装置及存储介质
CN110874264B (zh) * 2018-08-30 2023-05-02 阿里巴巴集团控股有限公司 实例热迁移方法及装置、存储介质、处理器
CN110879741A (zh) * 2018-09-06 2020-03-13 阿里巴巴集团控股有限公司 虚拟机热迁移方法及装置、存储介质、处理器
CN109376010B (zh) * 2018-09-28 2020-11-27 上海思询信息科技有限公司 一种基于Openstack实现跨集群资源迁移的方法
CN111090491B (zh) * 2019-07-03 2023-10-10 杭州海康威视系统技术有限公司 虚拟机任务状态的恢复方法、装置及电子设备
CN112286622B (zh) * 2019-07-22 2025-03-04 中兴通讯股份有限公司 虚机迁移处理及策略生成方法、装置、设备及存储介质
CN112540824B (zh) * 2019-09-20 2022-07-12 无锡江南计算技术研究所 基于异构cpu的虚拟机迁移方法
CN112559119B (zh) * 2019-09-25 2022-01-04 阿里巴巴集团控股有限公司 一种虚拟机的迁移方法及装置、电子设备、存储介质
US11416277B2 (en) * 2019-11-22 2022-08-16 Nutanix, Inc. Situation-aware virtual machine migration
CN113051024B (zh) * 2019-12-26 2022-08-09 阿里巴巴集团控股有限公司 虚拟机热迁移方法、装置、电子设备及存储介质
CN111625251B (zh) * 2020-04-23 2023-07-21 北京城市网邻信息技术有限公司 一种处理应用实例的方法及装置
US11409619B2 (en) 2020-04-29 2022-08-09 The Research Foundation For The State University Of New York Recovering a virtual machine after failure of post-copy live migration
US11803446B2 (en) 2020-07-13 2023-10-31 Samsung Electronics Co., Ltd. Fault resilient storage device
US11182092B1 (en) * 2020-07-14 2021-11-23 Red Hat, Inc. PRI overhead reduction for virtual machine migration
CN112099908B (zh) * 2020-08-27 2025-06-13 腾讯云计算(北京)有限责任公司 虚拟机热迁移方法、装置和计算机设备
CN112286630A (zh) * 2020-10-22 2021-01-29 烽火通信科技股份有限公司 一种虚拟机内存热迁移的优化方法与装置
MY208264A (en) * 2020-10-23 2025-04-29 Mimos Berhad Method for monitoring live migration of virtual machine
US11586391B2 (en) 2020-12-16 2023-02-21 Nutanix, Inc. Technique for efficient migration of live virtual disk across storage containers of a cluster
CN112764879A (zh) * 2021-01-14 2021-05-07 深圳市科思科技股份有限公司 负载均衡方法、电子设备及计算机可读存储介质
US12050930B2 (en) * 2021-06-23 2024-07-30 International Business Machines Corporation Partition migration with critical task prioritization
CN117389685B (zh) * 2023-10-19 2024-03-19 北京云豹创芯智能科技有限公司 虚拟机热迁移标脏方法及其装置、后端设备、芯片
CN120256081A (zh) * 2024-01-03 2025-07-04 杭州阿里云飞天信息技术有限公司 内存管理方法及装置、虚拟机热迁移方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103201721A (zh) * 2012-08-29 2013-07-10 华为技术有限公司 虚拟机热迁移的系统和方法
CN103955399A (zh) * 2014-04-30 2014-07-30 华为技术有限公司 一种虚拟机迁移方法和装置及物理主机
CN104750554A (zh) * 2013-12-31 2015-07-01 中国移动通信集团公司 一种虚拟机间数据迁移的方法和设备
CN105335223A (zh) * 2014-06-20 2016-02-17 富士通株式会社 源主机和目的主机上的虚拟机内存迁移装置、方法及系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9405642B2 (en) * 2013-01-29 2016-08-02 Red Hat Israel, Ltd. Providing virtual machine migration reliability using an intermediary storage device
CN108205506B (zh) * 2013-12-31 2021-11-19 华为技术有限公司 虚拟机热迁移的方法、虚拟机内存数据处理方法、服务器和虚拟机系统
US9823842B2 (en) * 2014-05-12 2017-11-21 The Research Foundation For The State University Of New York Gang migration of virtual machines using cluster-wide deduplication
US9870248B2 (en) * 2015-08-13 2018-01-16 Red Hat Israel, Ltd. Page table based dirty page tracking
US9880872B2 (en) * 2016-06-10 2018-01-30 GoogleLLC Post-copy based live virtual machines migration via speculative execution and pre-paging
CN107797878A (zh) 2016-09-06 2018-03-13 阿里巴巴集团控股有限公司 虚拟机热迁移处理方法及系统
US11036531B2 (en) * 2017-06-27 2021-06-15 Intel Corporation Techniques to migrate a virtual machine using disaggregated computing resources

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103201721A (zh) * 2012-08-29 2013-07-10 华为技术有限公司 虚拟机热迁移的系统和方法
CN104750554A (zh) * 2013-12-31 2015-07-01 中国移动通信集团公司 一种虚拟机间数据迁移的方法和设备
CN103955399A (zh) * 2014-04-30 2014-07-30 华为技术有限公司 一种虚拟机迁移方法和装置及物理主机
CN105335223A (zh) * 2014-06-20 2016-02-17 富士通株式会社 源主机和目的主机上的虚拟机内存迁移装置、方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HINES, MICHAEL R. ET AL.: "Post-Copy Live Migration of Virtual Machines", ACM SIGOPS OPERATING SYSTEMS REVIEW, vol. 43, no. 3, 31 July 2009 (2009-07-31), pages 14 - 26, XP058362599 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10915412B2 (en) 2016-09-06 2021-02-09 Alibaba Group Holding Limited System and method for live migration of a virtual machine

Also Published As

Publication number Publication date
CN107797878A (zh) 2018-03-13
US20190205220A1 (en) 2019-07-04
TW201812577A (zh) 2018-04-01
US10915412B2 (en) 2021-02-09
TWI764912B (zh) 2022-05-21

Similar Documents

Publication Publication Date Title
TWI764912B (zh) 虛擬機熱遷移處理方法及系統
US9607001B2 (en) Automated failover of a metadata node in a distributed file system
US9904689B2 (en) Processing a file system operation in a distributed file system
JP5422298B2 (ja) 階層管理ストレージシステムおよびストレージシステムの運用方法
JP5697754B2 (ja) 計算機システム、ファイル管理方法及びメタデータサーバ
CN106055431B (zh) 基于快照在线回滚的数据备份与恢复的方法及装置
US9305004B2 (en) Replica identification and collision avoidance in file system replication
US9747168B2 (en) Data block based backup
US9569314B2 (en) Flash copy for disaster recovery (DR) testing
EP3015998B1 (en) Zoning balance subtask delivering method, apparatus and system
US20150347250A1 (en) Database management system for providing partial re-synchronization and partial re-synchronization method of using the same
US9898370B2 (en) Flash copy for disaster recovery (DR) testing
WO2018059032A1 (zh) 一种虚拟节点的数据迁移方法和虚拟节点
JP2004334574A (ja) ストレージの運用管理プログラム、運用管理方法及び管理計算機
KR20100070895A (ko) 메타데이터 서버 및 메타데이터 관리 방법
US20070112887A1 (en) Slave replica member
CN106325768B (zh) 一种双机存储系统及方法
CN105740049B (zh) 一种控制方法及装置
CN114860155A (zh) 同步复制和异步复制的转移
JP2014182653A (ja) ログ管理システム、ログ管理方法、画像形成装置およびその制御方法、並びにプログラム
CN109407975B (zh) 写数据方法与计算节点以及分布式存储系统
CN103544081A (zh) 双元数据服务器的管理方法和装置
CN111522688B (zh) 分布式系统的数据备份方法及装置
KR100994342B1 (ko) 분산 파일 시스템 및 복제본 기반 장애 처리 방법
JP2007323566A (ja) 文書管理システム、文書管理サーバ、文書管理方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17848081

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17848081

Country of ref document: EP

Kind code of ref document: A1