Virtual machine placement with automatic deployment error recovery
AssigneeVMware, Inc.
InventorsGururaja Hegdal, Kiran Kasala, M. S. Marichetty
Life of this patent
Estimating the term…
Abstract
Embodiments perform automatic selection of hosts and/or datastores for deployment of a plurality of virtual machines (VMs) while monitoring and recovering from errors during deployment. Resource constraints associated with the VMs are compared against resources or characteristics of available hosts and datastores. A VM placement engine selects an optimal set of hosts/datastores and initiates VM creation automatically or in response to administrator authorization. During deployment, available resources are monitored enabling dynamic improvement of the set of recommended hosts/datastores and automatic recovery from errors occurring during deployment.
Claims20
A system for automatically selecting hosts or datastores for deployment of a plurality of virtual machines (VMs), said system comprising:
- a memory area associated with a computing device, said memory area storing an inventory of hosts and datastores, said inventory describing resources associated with the hosts and datastores;
- and
- a processor programmed to:
- store said inventory of hosts and datastores, said inventory describing resources associated with the hosts and datastores;
- receive a request to select at least one candidate datastore or host for a plurality of virtual machines (VMs) for deployment;
- determine resource requirements for the plurality of VMs;
- automatically select, for each of the plurality of VMs, the candidate datastore or host from the inventory of hosts and datastores based on the determined resource requirements and the resources associated with the inventory of hosts and datastores;
- automatically deploy at least one of the plurality of VMs on the selected candidate datastore or host;
- monitor the inventory and updating, during deployment of said at least one of the plurality of VMs on the selected candidate datastore or host, an assessment of the resources in the inventory based on changes of resource availability;
- and
- automatically select, during said deployment, another candidate datastore or host based on a comparison of the resource requirements and the updated assessment of the resources in the inventory prior to completion of deployment and complete deployment of the at least one of the plurality of VMs on the selected another candidate datastore or host.
A method comprising:
- storing an inventory of hosts and datastores, said inventory describing resources associated with the hosts and datastores;
- receiving a request to select at least one candidate datastore or host for a plurality of virtual machines (VMs) for deployment;
- determining resource requirements for the plurality of VMs;
- automatically selecting, for each of the plurality of VMs, the candidate datastore or host from the inventory of hosts and datastores based on the determined resource requirements and the resources associated with the inventory of hosts and datastores;
- automatically deploying at least one of the plurality of VMs on the selected candidate datastore or host;
- monitoring the inventory and updating, during said deploying, an assessment of the resources in the inventory based on changes of resource availability;
- and
- automatically selecting, during said deploying, another candidate datastore or host based on a comparison of the resource requirements and the updated assessment of the resources in the inventory prior to completion of deployment and complete deployment of the at least one of the plurality of VMs on the selected another candidate datastore or host,
- wherein at least one of receiving, automatically selecting the candidate datastore or host, automatically deploying, monitoring and updating, and automatically selecting the another candidate datastore or host is performed using at least one processor of a computing device.
One or more computer-readable storage media including computer-executable instructions that, when executed, cause at least one processor to place virtual machines by:
- storing an inventory of hosts and datastores, said inventory describing resources associated with the hosts and datastores;
- receiving a request to select at least one candidate datastore or host for a plurality of virtual machines (VMs) for deployment;
- determining resource requirements for the plurality of VMs;
- automatically selecting, for each of the plurality of VMs, the candidate datastore or host from the inventory of hosts and datastores based on the determined resource requirements and the resources associated with the inventory of hosts and datastores;
- automatically deploying at least one of the plurality of VMs on the selected candidate datastore or host;
- monitoring the inventory and updating, during said deploying, an assessment of the resources in the inventory based on changes of resource availability;
- and
- automatically selecting, during said deploying, another candidate datastore or host based on a comparison of the resource requirements and the updated assessment of the resources in the inventory prior to completion of deployment and complete deployment of the at least one of the plurality of VMs on the selected another candidate datastore or host.
Dependencies are inferred from the claim text.