REBALANCING VIRTUAL RESOURCES FOR VIRTUAL MACHINES BASED ON MULTIPLE RESOURCE CAPACITIES
First Claim
Patent Images
1. An apparatus, comprising:
- at least one processor; and
program code configured upon execution by the at least one processor to rebalance a workload of a virtualized computing environment, the virtualized computing environment of a type including a shared pool of resources disposed in a plurality of hosts and a plurality of virtual machines resident on the plurality of hosts and configured to share the shared pool of resources, wherein the virtualized computing environment stores, for each virtual machine among the plurality of virtual machines, a respective first resource capacity that represents a first portion of the shared pool of resources for the respective virtual machine and a respective second resource capacity that represents a second portion of the shared pool of resources for the respective virtual machine that is greater than that of the first resource capacity, and wherein the program code is configured to rebalance the workload by;
identifying a virtual machine among the plurality of virtual machines that is allocated a smaller portion of the shared pool of resources than that of the respective second resource capacity for the respective second portion;
determining using at least one processor if a home host for the identified virtual machine has sufficient unused capacity to support allocating to the identified virtual machine the respective second resource capacity for the identified virtual machine on the home host;
in response to determining that the home host for the identified virtual machine has sufficient unused capacity to support allocating to the identified virtual machine the respective second resource capacity for the identified virtual machine on the home host, resizing the identified virtual machine on the home host to allocate at least the respective second resource capacity to the identified virtual machine;
in response to determining that the home host for the identified virtual machine has insufficient unused capacity to support allocating to the identified virtual machine the respective second resource capacity for the identified virtual machine on the home host, attempt to identify a candidate host among the plurality of hosts that has sufficient unused capacity to support allocating to the identified virtual machine the respective second resource capacity for the identified virtual machine on the candidate host after accounting for the respective second resource capacity for each virtual machine among the plurality of virtual machines that is already resident on the candidate host; and
in response to identifying the candidate host, move the identified virtual machine to the candidate host and allocate to the identified virtual machine the respective second resource capacity for the identified virtual machine on the candidate host.
1 Assignment
0 Petitions
Accused Products
Abstract
A workload of a virtualized computing environment is rebalanced by resizing and/or moving one or more virtual machines allocated resources from a shared pool of resources in the virtualized computing environment based upon multiple resource capacities specified for each virtual machine and representing different portions of the resources from the shared pool of resources, e.g., minimum and desired resource capacities.
-
Citations
16 Claims
-
1. An apparatus, comprising:
-
at least one processor; and program code configured upon execution by the at least one processor to rebalance a workload of a virtualized computing environment, the virtualized computing environment of a type including a shared pool of resources disposed in a plurality of hosts and a plurality of virtual machines resident on the plurality of hosts and configured to share the shared pool of resources, wherein the virtualized computing environment stores, for each virtual machine among the plurality of virtual machines, a respective first resource capacity that represents a first portion of the shared pool of resources for the respective virtual machine and a respective second resource capacity that represents a second portion of the shared pool of resources for the respective virtual machine that is greater than that of the first resource capacity, and wherein the program code is configured to rebalance the workload by; identifying a virtual machine among the plurality of virtual machines that is allocated a smaller portion of the shared pool of resources than that of the respective second resource capacity for the respective second portion; determining using at least one processor if a home host for the identified virtual machine has sufficient unused capacity to support allocating to the identified virtual machine the respective second resource capacity for the identified virtual machine on the home host; in response to determining that the home host for the identified virtual machine has sufficient unused capacity to support allocating to the identified virtual machine the respective second resource capacity for the identified virtual machine on the home host, resizing the identified virtual machine on the home host to allocate at least the respective second resource capacity to the identified virtual machine; in response to determining that the home host for the identified virtual machine has insufficient unused capacity to support allocating to the identified virtual machine the respective second resource capacity for the identified virtual machine on the home host, attempt to identify a candidate host among the plurality of hosts that has sufficient unused capacity to support allocating to the identified virtual machine the respective second resource capacity for the identified virtual machine on the candidate host after accounting for the respective second resource capacity for each virtual machine among the plurality of virtual machines that is already resident on the candidate host; and in response to identifying the candidate host, move the identified virtual machine to the candidate host and allocate to the identified virtual machine the respective second resource capacity for the identified virtual machine on the candidate host. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. A program product, comprising:
-
a non-transitory computer readable medium; and program code stored on the non-transitory computer readable medium and configured upon execution by at least one processor to rebalance a workload of a virtualized computing environment, the virtualized computing environment of a type including a shared pool of resources disposed in a plurality of hosts and a plurality of virtual machines resident on the plurality of hosts and configured to share the shared pool of resources, wherein the virtualized computing environment stores, for each virtual machine among the plurality of virtual machines, a respective first resource capacity that represents a first portion of the shared pool of resources for the respective virtual machine and a respective second resource capacity that represents a second portion of the shared pool of resources for the respective virtual machine that is greater than that of the first resource capacity, and wherein the program code is configured to rebalance the workload by; identifying a virtual machine among the plurality of virtual machines that is allocated a smaller portion of the shared pool of resources than that of the respective second resource capacity for the respective second portion; determining using at least one processor if a home host for the identified virtual machine has sufficient unused capacity to support allocating to the identified virtual machine the respective second resource capacity for the identified virtual machine on the home host; in response to determining that the home host for the identified virtual machine has sufficient unused capacity to support allocating to the identified virtual machine the respective second resource capacity for the identified virtual machine on the home host, resizing the identified virtual machine on the home host to allocate at least the respective second resource capacity to the identified virtual machine; in response to determining that the home host for the identified virtual machine has insufficient unused capacity to support allocating to the identified virtual machine the respective second resource capacity for the identified virtual machine on the home host, attempt to identify a candidate host among the plurality of hosts that has sufficient unused capacity to support allocating to the identified virtual machine the respective second resource capacity for the identified virtual machine on the candidate host after accounting for the respective second resource capacity for each virtual machine among the plurality of virtual machines that is already resident on the candidate host; and in response to identifying the candidate host, move the identified virtual machine to the candidate host and allocate to the identified virtual machine the respective second resource capacity for the identified virtual machine on the candidate host.
-
Specification