Underlying all virtual components are the actual physical resources of the host system, such as CPU, RAM, storage, network infrastructure, and so on. vSphere supports sharing of resources on an individual host or across hosts using resource pools. vSphere also supports clusters for failover or load balancing.
What to read next
Resource Management Objects Central to resource management for all environments is either a ComputeResource or a ClusterComputeResource managed object.
Introduction to Resource Management An ESXi host allocates to each virtual machine a portion of the underlying hardware resources based on several factors:
Resource Allocation When you create a virtual machine, you always specify the resource pool that the virtual machine can draw resources from and optionally a host on which the virtual machine should run. You can access the resource pool as follows:
Creating and Configuring Resource Pools A root resource pool is associated with each ComputeResource and with each ClusterComputeResource .
Introduction to vSphere Clusters Clusters are useful with VMware DRS (distributed resource scheduler) and VMware HA (high availability). Clusters can be created quickly with VMware HCI. This guide briefly introduces the vSphere interfaces for cluster configuration. Clusters are useful to reduce power use, downtime, and maintenance.
Creating and Configuring Clusters The vSphere Web Services SDK includes objects and methods for all cluster management tasks. Some documentation is available in the vSphere API Reference . For additional background and details about the failover and load balancing behavior, see vSphere Resource Management and vSphere Availability .
Managing DRS Clusters The vSphere Client UI allows you to explore DRS cluster behavior, which is also described in the vSphere Resource Management guide. When DRS is running, it generates recommendations and associated information that result in a well balanced cluster, including:
Managing HA Clusters You can add a host to an HA cluster by calling the AddHost_Task method, or move a host into a cluster by calling the MoveHostInto_Task method or similar.