At A Glance
- Prioritize Resources Based on Prevailing Conditions
- Easily Increase Capacity
- Sys. Admin. Effectively Managing Cluster
How does Distributed Resource Scheduling Work?
Fundamental to VMware is the concept of a resource pool, which is an aggregate of several hosts? CPU and RAM. The CPU and RAM of all the servers within a cluster are considered as a single pool of resources. The aggregate pool is typically divided into smaller pools to meet business objectives. For example, there could be one pool assigned to the finance department and another to the IT department. Each department is apportioned an adequate amount of total CPU and RAM to runs it’s applications.
Each virtual machine is assigned to a resource pool from which it will consume CPU and RAM. To ensure that VMs don’t monopolize and exhaust the resources of the pool, each VM is assigned a limit, a reservation, and a share of CPU and RAM. The CPU and RAM is assigned based on the demands of the applications running on each VM. VMs that require more horsepower are assigned higher CPU and RAM limits and reservations. Shares are also assigned to the VMs, as a way to designate which ones have priority when resources are scarce and contention becomes an issue.
Once the resource pools are defined, the Distributed Resource Scheduler (DRS) ensures that each VM receives it’s allocated portion of CPU and RAM. DRS constantly monitors the overall performance of each VM and takes the appropriate action when a VM demands the resources it was designated to use. DRS can decide to move the resource-deprived VM to another ESX host so that it can take advantage of available resources there. Other times, DRS may elect to move several VMs to different ESX hosts and relieve the pressure of the host that the resource-deprived VM is on.
In the traditional, non-virtualized infrastructure, a systems administrator must build larger, more capable servers when the applications grow and require more resources. With DRS systems administrators are relieved of the duty of building larger servers for more intensive applications. Instead, they can simply increase the CPU and RAM limits of the VM that is running the demanding applications.