Live migration of virtual disks
US-9239689-B2 · Jan 19, 2016 · US
US9952785B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9952785-B2 |
| Application number | US-201514882931-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 14, 2015 |
| Priority date | Oct 17, 2014 |
| Publication date | Apr 24, 2018 |
| Grant date | Apr 24, 2018 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Embodiments of the present disclosure relate to a method, computer program product and a system for enabling non-volatile random access to data where in response to receiving data from a client, causing the data to be written into a memory of a primary virtual machine and a memory of a mirror virtual machine; and in response to the primary virtual machine losing the data, recovering the data based on data in the memory of the mirror virtual machine.
Opening claim text (preview).
What is claimed is: 1. A method of enabling non-volatile random access to data, the method comprising: in response to receiving data from a client, causing the data to be written into a memory of a primary virtual machine and a memory of a mirror virtual machine, wherein the data is written into volatile memories of the primary virtual machine and the mirror virtual machine to provide non-volatile random access functionality without physical non-volatile random access devices for the primary virtual machine or the mirror virtual machine: in response to the primary virtual machine losing the data, recovering the data based on data in the memory of the mirror virtual machine; and wherein the primary virtual machine is enabled to create checkpoints into the memory of the primary virtual machine if the mirror virtual machine is unavailable. 2. The method according to claim 1 , further comprising: in response to receiving data from a client, transmitting the data from the primary virtual machine to the mirror virtual machine so that the data is written into the memory of the mirror virtual machine; and in response to an acknowledgement message from the mirror virtual machine that the data is successfully written, writing the data into the memory of the primary virtual machine. 3. The method according to claim 1 , further comprising: in response to receiving da to from a client, writing the data into the memory of the primary virtual machine; and transmitting the data from the primary virtual machine to the mirror virtual machine so that the data is written into the memory of the mirror virtual machine. 4. The method according to claim 3 , further comprising: sending to the client an acknowledgement message of data write success if the data is successfully written into the memory of the primary virtual machine and the memory of the mirror virtual machine. 5. The method according to claim 3 , further comprising: wiring, at a check point, the data into a disk of the primary virtual machine. 6. The method according to claim 1 , further comprising: performing initialization at the primary virtual machine so as to reserve a primary storage space for recovering the data; reading the data stored in the memory of the mirror virtual machine; and recording the read data to the primary storage space for recovering the data. 7. The method according to claim 1 , further comprising: performing initialization at the primary virtual machine so as to reserve a primary storage space for the data; and notifying the mirror virtual machine to reserve a mirror storage space for the data, wherein the primary storage space and the mirror storage space have the same structure. 8. The method according to claim 7 , further comprising: performing consistency check to the primary storage space and the mirror storage space. 9. The method according to claim 1 , further comprising: if the mirror virtual machine is unreachable, storing the data to a disk of the primary virtual machine, wherein if the mirror virtual machine is unreachable, the minor virtual machine detects reachability of the primary virtual machine, and in response to the primary virtual machine notifying to resynchronize the data, stores the data from the primary virtual machine to the memory of the mirror virtual machine; and when the mirror virtual machine unreachability ends, the primary virtual machine notifying the mirror virtual machine to resynchronize the data, replicating the data from the disk of the primary virtual machine to the memory of the primary virtual machine and transmitting the data in the memory of the primary virtual machine to the mirror virtual machine. 10. The method according to claim 1 , further comprising: if the primary virtual machine is shut down normally, storing the data to a disk of the primary virtual machine and perform at least one of notifying the mirror virtual machine to stop detecting whether the primary virtual machine is present; or detecting startup of the mirror virtual machine; and after the mirror virtual machine is restarted, the primary virtual machine notifying the mirror virtual machine to resynchronize the data, replicating the data from the disk of the primary virtual machine to the memory of the primary virtual machine and transmitting the data in the memory of the primary virtual machine to the mirror virtual machine, and wherein after the mirror virtual machine is restarted, the mirror virtual machine stores the data from the primary virtual machine to the memory of the mirror virtual machine in response to the primary virtual machine notifying to resynchronize the data. 11. The method according to claim 1 , wherein a host serving the primary virtual machine and a host serving the mirror virtual machine are connected via a high-speed network; located in different power domains; and have respective uninterrupted power supplies (UPS). 12. A computer program product comprising: a non-transitory computer readable medium encoded with computer executable program code, wherein the code enables execution across one or more processors of enabling nonvolatile random access to data, wherein the code is configured to enable execution of: in response to receiving data from a client, causing the data to be written into a memory of a primary virtual machine and a memory of a mirror virtual machine, wherein the data is written into volatile memories of the primary virtual machine and the mirror virtual machine to provide non-volatile random access functionality without physical non-volatile random access devices for the primary virtual machine or the mirror virtual machine; in response to the primary virtual machine losing the data, recovering the data based on data in the memory of the mirror virtual machine; and wherein the primary virtual machine is enabled to create checkpoints into the memory of the primary virtual machine if the mirror virtual machine is unavailable. 13. The computer program product according to claim 12 , wherein the code is further configured to enable execution of: in response to receiving data from a client, transmitting the data from the primary virtual machine to the mirror virtual machine so that the data is written into the memory of the mirror virtual machine; and in response to an acknowledgement message from the mirror virtual machine that the data is successfully written, writing the data into the memory of the primary virtual machine. 14. The computer program product according to claim 12 , wherein the code is further configured to enable execution of: in response to receiving da to from a client, writing the data into the memory of the primary virtual machine; sending to the client an acknowledgement message of data write success if the data is successfully written into the memory of the primary virtual machine and the memory of the mirror virtual machine and transmitting the data from the primary virtual machine to the mirror virtual machine so that the data is written into the memory of the mirror virtual machine. 15. The computer program product according to claim 12 , wherein the code is further configured to enable execution of: writing, at a check point, the data into a disk of the primary virtual machine. 16. The computer program product according to claim 12 , wherein the code is further configured to enable execution of: performing initialization at the primary virtual machine so as to reserve a primary storage space for recovering the data, and performing at least one of reading the data stored in the memory of the mirror virtual
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
in relation to data integrity, e.g. data losses, bit errors · CPC title
by initialisation or re-initialisation of storage systems · CPC title
in an input/output transactions management context (input/output processing in general G06F13/00) · CPC title
in a virtual computing platform, e.g. logically partitioned systems · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.