Distributed Resource Scheduler

VMware DRS dynamically balances computing capacity across a collection of hardware resources aggregated into logical resource pools, continuously monitoring utilization across resource pools and intelligently allocating available resources among the virtual machines based on pre-defined rules that reflect business needs and changing priorities. When a virtual machine experiences an increased load, VMware DRS automatically allocates additional resources by redistributing virtual machines among the physical servers in the resource pool. VMware DRS allows IT organizations to:

  • Prioritize resources to the highest value applications in order to align resources with business goals

  • Optimize hardware utilization automatically and continuously to respond to changing conditions

  • Provide dedicated resources to business units while still profiting from higher hardware utilization through resource pooling

  • Conduct zero-downtime server maintenance

DRS, simply put, is a feature that aims to provide automatic distribution of resource utilization across multiple ESX/ESXi hosts that are configured in a cluster. The use of the term cluster often draws IT professionals into thoughts of Microsoft Windows Server clusters. However, ESX/ESXi clusters are not the same. The underlying concept of aggregating physical hardware to serve a common goal is the same, but the technology, configuration, and feature sets are different between ESX/ESXi clusters and Windows Server clusters.






I Although DRS cluster is an implicit aggregation of CPU and memory capacity, it's important to keep in mind that a virtual • machine is limited to using the CPU and RAM of a single physical host at any given time. If you have two ESX/ESXi servers with 32GB of RAM each in a DRS cluster, the cluster will correctly report 64GB of aggregate RAM available, but any given | virtual machine wi llnot be able to use more than approximately 32GB of RAM at a time.

Workings of DRS

VMware DRS aggregates computing capacity across a collection of servers into logical resource pools and intelligently allocates available resources among the virtual machines based on pre-defined rules that reflect business needs and changing priorities.

VMware DRS allows users to define the rules and policies that decide how virtual machines share resources and how these resources are prioritized among multiple virtual machines.

When a virtual machine experiences increased load, VMware DRS first evaluates its priority against the established resource allocation rules and policies, and if justified, allocates additional resources.

Resources are allocated to the virtual machine by either migrating it to another server with more available resources or by making more "space" for it on the same server by migrating other virtual machines to different servers. The live migration of virtual machines to different physical servers is executed completely transparent to end-users through VMware VMotion.

VMware DRS can be configured to operate in either automatic or manual mode. In automatic mode, VMware DRS determines the best possible distribution of virtual machines among different physical servers and automatically migrates virtual machines to the most appropriate physical servers. In manual mode, VMware DRS provides a recommendation for optimal placement of virtual machines, and leaves it to the system administrator to decide whether to make the change.

Flexible hierarchical organization of resource pools allows administrators to match available IT resources to the needs of the business organization. Individual business units

can receive dedicated IT resources while still benefiting from the efficiency of resource pooling. Robust access privileges make it possible to delegate routine infrastructure tasks for a business unit resource pool to a business unit system administrator.

An ESX/ESXi cluster is an implicit aggregation of the CPU power and memory of all hosts involved in the cluster. After two or more hosts have been assigned to a cluster, they work in unison to provide CPU and memory to the virtual machines assigned to the cluster. The goal of DRS is twofold:

  • At startup, DRS attempts to place each virtual machine on the host that is best suited to run that virtual machine at that time.

  • While a virtual machine is running, DRS seeks to provide that virtual machine with the required hardware resources while minimizing the amount of contention for those resources in an effort to maintain good performance levels.

The first part of DRS is often referred to as intelligent placement. DRS can automate the placement of each virtual machine as it is powered on within a cluster, placing it on the host in the cluster that it deems to be best suited to run that virtual machine at that moment.

DRS isn't limited to operating only at virtual machine startup, though. DRS also manages the virtual machine's location while it is running. For example, let's say three servers have been configured in an ESX/ESXi cluster with DRS enabled. When one of those servers begins to experience a high contention for CPU utilization, DRS uses an internal algorithm to determine which virtual machine(s) will experience the greatest performance boost by being moved to another server with less CPU contention.

DRS perform these on-the-fly adjustments without any downtime or loss of network connectivity to the virtual machines. Does that sound familiar? It should, because the behind-the-scenes technology used by DRS is VMware VMotion.