Techniques for performing virtual machine software upgrades using virtual disk swapping
First Claim
1. A method for performing a virtual machine (VM) software upgrade, the method comprising:
- creating, by a central management server (CMS) in a virtual infrastructure, a first template VM in a storage component of the virtual infrastructure, the first template VM comprising a first operating system (OS) virtual disk (VMDK) and a first software binary VMDK;
cloning, by the CMS, the first template VM to create a plurality of linked clone VMs, wherein each linked clone VM in the plurality of linked clone VMs runs on a host system in the virtual infrastructure, wherein each linked clone VM has a first logical link to the first OS VMDK that enables the linked clone VM to execute a guest OS by accessing the first OS VMDK from the storage component, wherein each linked clone VM has a second logical link to the first software binary VMDK that enables the linked clone VM to execute a software application by accessing the first software binary VMDK from the storage component, and wherein each linked clone VM has a third logical link to a first data VMDK, the first data VMDK being specific to the linked clone VM and used to store write data that is generated by the linked clone VM while accessing the first OS VMDK and the first software binary VMDK;
at a time an upgrade is available for the software application, creating, by the CMS, a second template VM that comprises a second software binary VMDK, wherein the second software binary VMDK includes an upgraded version of the software application; and
for each linked clone VM in the plurality of linked clone VMs;
transmitting, by the CMS to the linked clone VM, a first command to stop execution of the software application;
upon transmitting the first command, detaching, by the CMS, the first software binary VMDK from the linked clone VM by removing the second logical link between the linked clone VM and the first software binary VMDK; and
attaching, by the CMS, the second software binary VMDK to the linked clone VM by creating a fourth logical link between the linked clone VM and the second software binary VMDK, the fourth logical link enabling the linked clone VM to execute the updated version of the software application by accessing the second software binary VMDK from the storage component.
3 Assignments
0 Petitions
Accused Products
Abstract
In one embodiment, a computer system creates a first template VM that includes a first OS VMDK and a first software binary VMDK, and clones the first template VM to create a linked clone VM. The linked clone VM executes a guest OS by accessing the first OS VMDK and a software application by accessing the first software binary VMDK. The computer system further creates a second template VM that includes a second software binary VMDK, where the second software binary VMDK includes one or more upgrades to the software application that are not included in the first software binary VMDK. The computer system then detaches the first software binary VMDK from the linked clone VM and attaches the second software binary VMDK to the linked clone VM. The linked clone VM thereafter executes the software application by accessing the second software binary VMDK.
18 Citations
17 Claims
-
1. A method for performing a virtual machine (VM) software upgrade, the method comprising:
-
creating, by a central management server (CMS) in a virtual infrastructure, a first template VM in a storage component of the virtual infrastructure, the first template VM comprising a first operating system (OS) virtual disk (VMDK) and a first software binary VMDK; cloning, by the CMS, the first template VM to create a plurality of linked clone VMs, wherein each linked clone VM in the plurality of linked clone VMs runs on a host system in the virtual infrastructure, wherein each linked clone VM has a first logical link to the first OS VMDK that enables the linked clone VM to execute a guest OS by accessing the first OS VMDK from the storage component, wherein each linked clone VM has a second logical link to the first software binary VMDK that enables the linked clone VM to execute a software application by accessing the first software binary VMDK from the storage component, and wherein each linked clone VM has a third logical link to a first data VMDK, the first data VMDK being specific to the linked clone VM and used to store write data that is generated by the linked clone VM while accessing the first OS VMDK and the first software binary VMDK; at a time an upgrade is available for the software application, creating, by the CMS, a second template VM that comprises a second software binary VMDK, wherein the second software binary VMDK includes an upgraded version of the software application; and for each linked clone VM in the plurality of linked clone VMs; transmitting, by the CMS to the linked clone VM, a first command to stop execution of the software application; upon transmitting the first command, detaching, by the CMS, the first software binary VMDK from the linked clone VM by removing the second logical link between the linked clone VM and the first software binary VMDK; and attaching, by the CMS, the second software binary VMDK to the linked clone VM by creating a fourth logical link between the linked clone VM and the second software binary VMDK, the fourth logical link enabling the linked clone VM to execute the updated version of the software application by accessing the second software binary VMDK from the storage component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer readable storage medium having stored thereon computer software executable by a central management server (CMS) in a virtual infrastructure, the computer software embodying a method for performing a VM software upgrade, the method comprising:
-
creating a first template VM in a storage component of the virtual infrastructure, the first template VM comprising a first OS VMDK and a first software binary VMDK; cloning the first template VM to create a plurality of linked clone VMs, wherein each linked clone VM in the plurality of linked clone VMs runs on a host system in the virtual infrastructure, wherein each linked clone VM has a first logical link to the first OS VMDK that enables the linked clone VM to execute a guest OS by accessing the first OS VMDK from the storage component, wherein each linked clone VM has a second logical link to the first software binary VMDK that enables the linked clone VM to execute a software application by accessing the first software binary VMDK from the storage component, and wherein each linked clone VM has a third logical link to a first data VMDK, the first data VMDK being specific to the linked clone VM and used to store write data that is generated by the linked clone VM while accessing the first OS VMDK and the first software binary VMDK; at a time an upgrade is available for the software application, creating a second template VM that comprises a second software binary VMDK, wherein the second software binary VMDK includes an upgraded version of the software application; and for each linked clone VM in the plurality of linked clone VMs; transmitting, by the CMS to the linked clone VM, a command to stop execution of the software application; upon transmitting the command, detaching the first software binary VMDK from the linked clone VM by removing the second logical link between the linked clone VM and the first software binary VMDK; and attaching the second software binary VMDK to the linked clone VM by creating a fourth logical link between the linked clone VM and the second software binary VMDK, the fourth logical link enabling the linked clone VM to execute the updated version of the software application by accessing the second software binary VMDK from the storage component. - View Dependent Claims (15)
-
-
16. A central management server (CMS) in a virtual infrastructure configured to perform a VM software upgrade, the CMS comprising:
a processor configured to; create a first template VM in a storage component of the virtual infrastructure, the first template VM comprising a first OS VMDK and a first software binary VMDK; clone the first template VM to create a plurality of linked clone VMs, wherein each linked clone VM in the plurality of linked clone VMs runs on a host system in the virtual infrastructure, wherein each linked clone VM has a first logical link to the first OS VMDK that enables the linked clone VM to execute a guest OS by accessing the first OS VMDK from the storage component, wherein each linked clone VM has a second logical link to the first software binary VMDK that enables the linked clone VM to execute a software application by accessing the first software binary VMDK from the storage component, and wherein each linked clone VM has a third logical link to a first data VMDK, the first data VMDK being specific to the linked clone VM and used to store write data that is generated by the linked clone VM while accessing the first OS VMDK and the first software binary VMDK; at a time an upgrade is available for the software application, create a second template VM that comprises a second software binary VMDK, wherein the second software binary VMDK includes an upgraded version of the software application; and for each linked clone VM in the plurality of linked clone VMs; transmit, by the CMS to the linked clone VM, a command to stop execution of the software application; upon transmitting the command, detach the first software binary VMDK from the linked clone VM by removing the second logical link between the linked clone VM and the first software binary VMDK; and attach the second software binary VMDK to the linked clone VM by creating a fourth logical link between the linked clone VM and the second software binary VMDK, the fourth logical link enabling the linked clone VM to execute the updated version of the software application by accessing the second software binary VMDK from the storage component. - View Dependent Claims (17)
Specification