Controlling virtual machine density and placement distribution in a converged infrastructure resource pool
Aspects include identifying physical resources in a computer environment, allocating virtual resources to the physical resources, and aggregating the virtual resources, as a virtual resource pool, at a per virtual machine level in the computer environment. Other aspects include evaluating the virtual resources in the virtual resource pool against resource pool domain constraints, and determining a resource allocation adjustment as a function of the evaluating. The resource allocation adjustment is configured to achieve a maximum specified virtual machine density.
1. A system comprising:
a memory having computer readable instructions; and
a processor for executing the computer readable instructions, the computer readable instructions comprising:
identifying physical resources in a computer environment;
allocating virtual resources to the physical resources;
aggregating the virtual resources, as a virtual resource pool, at a per virtual machine level in the computer environment, wherein the virtual resource pool includes a total number of virtual resources assigned per virtual machine, wherein aggregating the virtual resources further comprises aggregating a number of virtual machines per load-balancer and aggregating a number of virtual machines per firewall;
evaluating the virtual resources in the virtual resource pool against resource pool domain constraints, wherein the resource pool domain constraints comprise a maximum size of a hypervisor domain, a Layer 2 network adjacency domain size, a maximum available storage input/output operations per second value, a maximum inter-switch link hops value, a maximum number of virtual LANs, and a maximum number of virtual SANs;
determining a resource allocation adjustment as a function of the evaluating; and
adjusting the virtual resources based on the resource allocation adjustment to a desired level of computing performance based on quantifiable performance objectives, wherein the desired level of computing performance is a maximum specified virtual machine density.
2. The system of claim 1 , wherein the allocating the virtual resources to the physical resources includes allocating at least one of:
virtual CPUs per each physical core;
virtual memory per available memory of each physical node;
virtual network interface cards per each physical network interface card;
virtual switch ports per each physical port; and
available virtual storage associated with available physical storage.
3. The system of claim 1 , wherein the virtual resource pool further includes a total number of virtual resources assigned per virtual machine, the assigned virtual resources including at least one of:
virtual CPUs;
virtual memory
virtual network interface cards;
virtual storage; and
virtual machines per virtual SAN.
4. The system of claim 1 , wherein the resource pool domain constraints include at least one of:
maximum size of a hypervisor domain;
Layer 2 network adjacency domain size;
maximum available storage input/output operations per second;
maximum inter-switch link hops; and
maximum virtual LANs and virtual SANs.
5. The system of claim 1 , wherein the resource allocation adjustment includes adding a new virtual machine.
6. The system of claim 1 , wherein the resource allocation adjustment includes reclaiming an existing virtual machine.
7. A computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by a processor to cause the processor to:
identify physical resources in a computer environment;
allocate virtual resources to the physical resources;
aggregate the virtual resources, as a virtual resource pool, at a per virtual machine level in the computer environment, wherein the virtual resource pool includes a total number of virtual resources assigned per virtual machine, wherein aggregating the virtual resources further comprises aggregating a number of virtual machines per load-balancer and aggregating a number of virtual machines per firewall;
evaluate the virtual resources in the virtual resource pool against resource pool domain constraints, wherein the resource pool domain constraints comprise a maximum size of a hypervisor domain, a Layer 2 network adjacency domain size, a maximum available storage input/output operations per second value, a maximum inter-switch link hops value, a maximum number of virtual LANs, and a maximum number of virtual SANs;
determine a resource allocation adjustment as a function of the evaluating; and
adjust the virtual resources based on the resource allocation adjustment to a desired level of computing performance based on quantifiable performance objectives, wherein the desired level of computing performance is a maximum specified virtual machine density.
8. The computer program product of claim 7 , wherein the allocating the virtual resources to the physical resources includes allocating at least one of:
virtual CPUs per each physical core;
virtual memory per available memory of each physical node;
virtual network interface cards per each physical network interface card;
virtual switch ports per each physical port; and
available virtual storage associated with available physical storage.
9. The computer program product of claim 7 , wherein the virtual resource pool further includes a total number of virtual resources assigned per virtual machine, the assigned virtual resources including at least one of:
virtual CPUs;
virtual memory;
virtual network interface cards;
virtual storage; and
virtual machines per virtual SAN.
10. The computer program product of claim 7 , wherein the resource pool domain constraints include at least one of:
maximum size of a hypervisor domain;
Layer 2 network adjacency domain size;
maximum available storage input/output operations per second;
maximum inter-switch link hops; and
maximum virtual LANs and virtual SANs.
11. The computer program product of claim 7 , wherein the resource allocation adjustment includes one of:
adding a new virtual machine; and
reclaiming an existing virtual machine.