What is Distributed Resource Scheduler (DRS) & How Does It Work? - Applied Information Sciences (2023)

In this article, I am going to explain Distributed Resource Scheduler (DRS) in detail. First, we’ll cover what it is, how it works in the backend, and our options in DRS settings. DRS is not to balance the load perfectly across every host. Rather, DRS monitors the resource demand and ensures that every Virtual Machine (VM) is entitled to the resources. When DRS determines that a better host exists for the VM, it recommends moving that VM.

Two Primary functions of DRS are:

  1. Load balancing VMs due to imbalanced cluster
  2. VM placement when Powering on.

Let’s take a closer look at how DRS achieves its goal of ensuring VMs are happy, with effective placement and efficient load balancing.

Effective VM Placement

One of the first steps in ensuring good VM performance is to ensure that the VM gets all the resources it needs as soon as it is powered on. DRS considers the demand of a VM, so it will never be short of resources whenever it is started. A VM’s demand includes the number of resources it needs to run, and the way DRS calculates this is described below:

(Video) VMware DRS (Distributed Resource Scheduler) | vmare vsphare

DRS looks for the demand for every running VM in the cluster. VM demand is the number of resources that the VM currently needs to run. For CPU, demand is calculated based on the amount of CPU the VM is currently consuming. For memory, demand is calculated based on the following formula.

VM memory demand = Function(Active memory used, Swapped, Shared) + 25% (idle consumed memory)

Efficient Load Balancing

DRS uses a cluster-level balance metric to make load-balancing decisions. This balance metric is calculated from the standard deviation of resource utilization data from hosts in the cluster. DRS runs its algorithm once every 5 minutes (by default) to study imbalance in the cluster. If it needs to balance the load in each round, DRS uses VMotion to migrate running VMs from one ESXi host to another.

Detecting VM Demand Changes

During each round, along with resource usage data, DRS collects resource availability data from every VM and host in the cluster. Data like VM CPU average and VM CPU max over the last collection interval depict the resource usage trend for a given VM. DRS then correlates the resource usage data with the available data and runs its load balancing algorithm before taking necessary VMotion actions to keep the cluster balanced and ensure that VMs are always getting the resources they need to run.

Cost-Benefit Analysis

VMotion of live VMs comes with a performance cost, which depends on the size of the VM being migrated. If the VM is large, it will use many of the current host’s and target host’s CPU and memory for VMotion. The benefit, however, is in terms of performance for VMs on the source host, the migrated VM on the destination host, and improved load balance across the cluster. Therefore, the DRS algorithm constantly evaluates the cost and benefit of each load balancing VMotion move.

(Video) VMware Storage Distributed Resource Scheduler (VSP1823)

Factors that Affect DRS Behavior

DRS Automation Levels

During initial placement and load balancing, DRS generates placement and VMotion recommendations, respectively. DRS can apply these recommendations automatically, or you can use them manually. DRS has three levels of automation:

  • Fully Automated – DRS applies both initial placements and load balancing recommendations automatically.
  • Partially Automated – DRS applies recommendations only for initial placement.
  • Manual – You must apply both initial placement and load balancing recommendations.

DRS Aggression Levels (Migration Threshold)

The DRS aggression level controls the amount of imbalance that is tolerated in the cluster. DRS has five aggression levels ranging between 1 (most conservative) and 5 (most aggressive). The more aggressive the level, the less DRS tolerates imbalance in the cluster. Conversely, the more traditional, the more DRS accepts imbalance. As a result, you might see DRS initiate more migrations and generate a more even load distribution when increasing the aggression level. By default, the DRS aggression level is set to 3.

When the DRS aggression is set to level 1, DRS will not load balance the VMs. Instead, DRS will only apply move recommendations that must be taken either to satisfy hard constraints, such as affinity or anti-affinity rules or to evacuate VMs from a host entering maintenance or standby mode.

(Video) Enterprise networking in 2022: Applying remote work lessons as employees return to the office

VM Overrides

DRS automation levels and migration threshold are normally applied at the cluster level. In some cases, you might require DRS to treat some VMs especially. For example, you might decide DRS should not consider a specific VM when generating its recommendations, or you might decide DRS should not migrate that VM at all. You can set VM overrides under Cluster -> Manage -> Settings -> VM Overrides. Here you can set the automation or migration threshold for a VM to a value different than that at the cluster level or even disable them.

VM/Host Rules

Rules help define special conditions on VMs and hosts in a DRS cluster. Once a rule is set, DRS has to honor it and make recommendations by the rule, along with its placement and load balancing logic.

There are different types of rules that can be set:

(Video) Webinar: Introduction to vSphere HA and DRS (Rohit Sachdeva)

  1. Keep Virtual Machines Together (VM-VM)—This rule ensures that the VMs specified in the rule are always running on the same host.
  2. Separate Virtual Machines (VM-VM)—This rule will keep the VMs always running on different hosts.
  3. Virtual Machines to Hosts (VM-Host)—This type of rule is set on groups of one or more VMs and one or more hosts.
  4. A host or a VM group can be created in the web client, under VM overrides under Cluster -> Manage -> Settings -> VM/Host Groups.

In VM-Host rules, there are sub-rules of type should and must. With these sub-rules, you can specify if a VM group should/must, or should not/must not run on a host group. Sub-rules of type must (mandatory) will always be honored by DRS under all circumstances. However, sub-rules of type should (preferential) are dropped if DRS determines that the imbalance in the Cluster is very high.

Reservation, Limit, and Shares

DRS provides many tools for you to customize your VMs and workloads according to specific use cases. Reservation, limit, and shares are three such tools borrowed from ESXi’s resource management paradigm.


You might need to guarantee to compute resources to some critical VMs in your clusters. This is often the case when running applications that cannot tolerate any resource shortage or when running an application that is always expected to be up and serving requests from other parts of the infrastructure. With the help of reservations, you can guarantee a specified amount of CPU or memory to your critical VMs. Reservations can be made for an individual VM or at the resource pool level. For example, in a resource pool with several VMs, a reservation guarantees resources collectively for all the VMs in the pool.


In some cases, you might want to limit the resource usage of some VMs in their cluster to prevent them from consuming resources from other VMs in the cluster. This can be useful, for example, when you want to ensure that when the load spikes in a non-critical VM, it does not end up consuming all the resources and thereby starving other critical VMs in the cluster.

(Video) Omni-channel distribution - Drs. Eva Ponce and Sergio Caballero - SC2x_1 2018


Shares provide you a way to prioritize resources for VMs when there is competition in the cluster. They can be set at a VM or a resource pool level. By default, a cluster has a resource pool hierarchy, with the root resource pool (the cluster itself) is at the top, and all VMs are its children. Shares are defined as numbers for all the sibling VMs under this root resource pool. Shares are distributed equally, by default, on a per-resource basis (per-vCPU and per-unit of memory). This means that by default, a VM with more configured resources will get more shares than a VM with fewer resources. Resources available at the root resource pool are shared among the children during resource contention based on their shares’ values.

DRS provides four types of shares for VMs and resource pools – Low, Normal, High, and Custom – to change their priority compared to their siblings. Normal shares are typically 2x Low, and High shares are typically 2x Normal. Custom can be used to set specific share values. When setting custom shares at a VM level, you need to account for all the vCPUs and memory of that VM since shares are assigned based on the amount of configured resources of a VM.


Thanks for visiting this blog. Everything I shared here is based on my knowledge and experience. Your environment may differ from what’s mine. Please be conscious before executing anything in a production environment.


What is DRS distributed resource scheduler? ›

VMware vSphere® Distributed Resource Scheduler™ (DRS) is the resource scheduling and load balancing solution for vSphere. DRS works on a cluster of ESXi hosts and provides resource management capabilities like load balancing and virtual machine (VM) placement.

What is VMware DRS and how does it works? ›

DRS spreads the virtual machine workloads across vSphere hosts inside a cluster and monitors available resources for you. Based on your automation level, DRS will migrate (VMware vSphere vMotion) virtual machines to other hosts within the cluster to maximize performance.

What does dynamic resource scheduler Drs do in a VMware server environment? ›

VMware DRS runs within the VMware vCenter Server to automatically balance the memory load on all virtual machines within a cluster. DRS intelligently allocates resources and can be configured to automatically take care of workload Migration (with VMotion) or assign migrations based on rules defined by an administrator.

What does DRS stand for in cloud computing? ›

VMware vSphere Distributed Resource Scheduler (DRS) is a feature included in the vSphere Enterprise Plus. Using DRS, you can: Improve service levels by guaranteeing appropriate resources to virtual machines. Deploy new capacity to a cluster without service disruption.

Why is DRS necessary? ›

In all living things, DNA is essential for inheritance, coding for proteins, and providing instructions for life and its processes. DNA dictates how a human or animal develops and reproduces, and eventually dies. Human cells normally contain 23 pairs of chromosomes, for a total of 46 chromosomes in each cell.

What drs means? ›

The Drag Reduction System (DRS) is a controversial driver-controlled device aimed at aiding overtaking and increasing the chances of wheel-to-wheel racing in Formula 1.

What are the different types of DRS in vmware? ›

There are two types of rules that allow keeping VMs together or separated:
  • affinity or anti-affinity rules between individual VMs.
  • affinity or anti-affinity rules between groups of VMs and groups of ESXi hosts.
Dec 20, 2022

Does DRS work without vCenter? ›

DRS will NOTwork without vCenter, because vMotion recommendations are computed by the vCenter service, and it also initiates the migration processes.

What is DRS in software industry? ›

Dynamic Resource Scheduling Software -DRS | Advanced.

Which three functions are provided by Storage DRS? ›

The Storage DRS feature leverages the datastore cluster construct to perform the following key functions:
  • Placing the initial VM on the datastore with the lowest space utilization.
  • Balancing the load based on capacity usage.
  • Balancing the load based on I/O load.

What is a dynamic resource scheduler? ›

DRS uses intelligent scheduling algorithms to periodically monitor the work load on hosts in a cluster and migrates VMs between the hosts based on the work load to achieve load balancing. This feature collaborates with dynamic power management (DPM) to increase resource utilization and reduce power consumption.

What is DRS in communication? ›

List of Acronyms
APAccess Point
DoFDegrees of Freedom
DRSDistributed Radio System
DWCSDistributed Wireless Communication System
EEEnergy Efficiency
26 more rows

Who does DRS help? ›

DRS stands for drag reduction system. This is a method used by F1 drivers to follow their rivals more closely and therefore overtake them. When in a DRS zone, a driver within one second of a rival car may activate the DRS.

Who decides when DRS can be used? ›

DRS zones are decided by the FIA ahead of the race weekend. Each track has a different amount of DRS zones depending on its track configuration.

Why do some teams have DRS? ›

It is used to reduce aerodynamic drag and increase the straight-line speed of the car. That will allow them to close in on the car in front quicker than they would normally be able to. There is at least one DRS zone on each track in F1 but some have as many as three to help to overtake.

What does DRS stand for in research? ›

Dispositional Resilience Scale (DRS)

What does DRS stand for in education? ›

STEP - Division of Rehabilitation Services (DRS)

How often can DRS be used? ›

Is there a limit on how often drivers can use DRS? No, there is not. So long as a driver has met the requirements to activate the system, they could use it in every zone and on every lap of the season.

How much advantage does DRS give? ›

The way a DRS works is pretty simple: when activated, it opens up a flap on the rear wing of the car, which increases its downforce and reduces drag. This gives the cars more velocity on the straights but less grip in corners. Enabling DRS provides around 6.2-7.5 mph top-speed advantage to the car behind.

Can you use DRS all the time? ›

The device can only be used during a race after two racing laps have been completed, and when the pursuing car enters a designated "activation" zone defined by the FIA. This also includes having to wait 2 laps after a safety car restart.

What are two features of Storage DRS? ›

Storage DRS FAQ (2149938)
  • Resource aggregation: It enables to group multiple datastores in to a single flexible pool of storage called a Datastore Cluster (aka Storage DRS POD).
  • Initial placement: This feature takes care of disk placement for operations such as Create Virtual Machine, add disk, clone and relocate.
Oct 24, 2022

Where are Drs settings in VMware? ›

  1. Browse to a cluster in the vSphere Client.
  2. Click the Configure tab and click Services.
  3. Under vSphere DRS click Edit.
  4. Under DRS Automation, select a default automation level for DRS. ...
  5. Set the Migration Threshold for DRS.
  6. Select the Predictive DRS check box.
Apr 27, 2022

What is the difference between ha and drs in VMware? ›

VMware HA and DRS are each able to provide availability for VMs. The main difference between the two technologies is that VMware designed DRS to work in clustered environments, while HA enables admins to protect their VMs without having to deal with the cost or complexity of a failover cluster.

What is the difference between DRS and storage DRS? ›

While DRS migrates VMs based on CPU and RAM computing resources, Storage DRS migrates virtual machine files from one datastore to another based on datastore usage, for example, free disk space.

What is the difference between VMware DRS and vMotion? ›

vMotion is what allows things to be moved around non-disruptively in a vSphere environment, and DRS is what decides how to move things around to give the best performance. When DRS needs to move something, it simply uses vMotion! While these are completely separate technologies, they compliment each other nicely.

What license is needed for VMware DRS? ›

The requirements of VMware DRS functionality are below: License: VMware Enterprise Plus. Multiple ESXi Hosts: At least two hosts (minimum requirement), but VMware recommends at least three hosts. Shared Storage: The cluster must have a SAN so all the hosts in the cluster can access all VM datastores.

How does disaster recovery work? ›

Disaster recovery relies upon the replication of data and computer processing in an off-premises location not affected by the disaster. When servers go down because of a natural disaster, equipment failure or cyber attack, a business needs to recover lost data from a second location where the data is backed up.

Why is disaster recovery important? ›

Every business needs to be able to recover quickly from any event that stops day-to-day operations, no matter what industry or size. Without a disaster recovery plan, a company can suffer data loss, reduced productivity, out-of-budget expenses, and reputational damage that can lead to lost customers and revenue.

What does disaster recovery team do? ›

A disaster recovery team is a group of individuals focused on planning, implementing, maintaining, auditing and testing an organization's procedures for business continuity (BC) and recovery.

What are DRS rules in virtualization? ›

An affinity rule specifies that the members of a selected virtual machine DRS group can or must run on the members of a specific host DRS group. An anti-affinity rule specifies that the members of a selected virtual machine DRS group cannot run on the members of a specific host DRS group.

What is storage DRS recommendation? ›

Storage DRS collects resource usage information for all datastores in a datastore cluster. Storage DRS uses the information to generate recommendations for virtual machine disk placement on datastores in a datastore cluster. Storage DRS recommendations appear on the Storage DRS tab in the vSphere Client datastore view.

How do I enable DRS on my cluster? ›

To enable DRS under vSphere Web Client, click on the cluster name and click on the Configure tab on the right. Under Services select vsphere DRS. Select Edit and check Turn on DRS and click OK.

How do I use resource scheduler? ›

Resource scheduling in 5 steps
  1. Break down tasks within a project. ...
  2. Look at your resource capabilities. ...
  3. Schedule tasks to team members based on their availability. ...
  4. Manage and monitor resources as the project progresses. ...
  5. Track the actual time spent on tasks and activities.
Aug 18, 2020

What are the types of resource scheduling methods? ›

Here we'll give you 5 methods to speed up your projects' resource scheduling activities. With them, you'll be able to create a better resource plan in no time.
  • Drag and Drop Scheduling. ...
  • Schedule Multi-Resource Tasks. ...
  • Create and Use Project Templates. ...
  • Schedule Resources Using Views. ...
  • Automate the Reporting Process.

What are resource scheduling methods? ›

Resource scheduling is the process of identifying when project resources are needed and allocating them based on factors such as capacity planning or resource availability. The main purpose of resource scheduling is to guarantee that there's no over or under-allocation of resources at any point of the project.

Is DRS a load balancer? ›

Distributed Resource scheduler (DRS) is a type of VMware vSphere cluster that provides load balancing by migrating VMs from a heavily loaded ESXi host to another host that has enough computing resources, all while the VMs are still running.

What is a DRS server? ›

The Distributed Resource Scheduler (DRS) optimizes virtual machine resource utilization in a server pool. DRS automatically moves running virtual machines to another Oracle VM Server in a server pool if any of the Oracle VM Servers exceed a specified CPU threshold for a specified period of time.

How much speed does DRS add? ›

The FIA estimate the speed increase to be between 10–12 km/h (6.2–7.5 mph) by the end of the activation zone, while others, such as technical staff at racecar-engineering.com, cite a much lower figure of 4–5 km/h (2.5–3.1 mph). When the DRS is deactivated or closed, it increases downforce, giving better cornering.

What are the two types of load balancing? ›

Elastic Load Balancing supports the following types of load balancers: Application Load Balancers, and Network Load Balancers.

How does distributed load balancer work? ›

In distributed load balancing, there are no central load balancers, each client that requires some service uses that service via locally installed reverse-proxy. Reverse-proxy is always up-to-date with existing services, meaning when a new service is being provisioned, reverse-proxy is configuration and it is updated.

What is Drsr protocol? ›

The Directory Replication Service (DRS) Remote Protocol is an RPC protocol for replication and management of data in Active Directory.

How do you set up DRS? ›

  1. Browse to a cluster in the vSphere Client.
  2. Click the Configure tab and click Services.
  3. Under vSphere DRS click Edit.
  4. Under DRS Automation, select a default automation level for DRS. ...
  5. Set the Migration Threshold for DRS.
  6. Select the Predictive DRS check box.
Apr 27, 2022


1. Unlocking the Power Within: Exploring Theories of Motivation with Psychologist Goutham
(Psychologist Goutham)
2. VMworld 2011: VSP1823 - VMware Storage Distributed Resource Scheduler
(VMware Explore)
3. Oracle Live: The Future of Healthcare | FULL SHOW
4. Take a Seat in the Harvard MBA Case Classroom
(Harvard Business School)
5. Health Systems
(Global Health with Greg Martin)
6. VMware vSphere High Availability (HA) with DRS and DPM
(Gerson Deliberato)
Top Articles
Latest Posts
Article information

Author: Mrs. Angelic Larkin

Last Updated: 05/23/2023

Views: 5319

Rating: 4.7 / 5 (47 voted)

Reviews: 94% of readers found this page helpful

Author information

Name: Mrs. Angelic Larkin

Birthday: 1992-06-28

Address: Apt. 413 8275 Mueller Overpass, South Magnolia, IA 99527-6023

Phone: +6824704719725

Job: District Real-Estate Facilitator

Hobby: Letterboxing, Vacation, Poi, Homebrewing, Mountain biking, Slacklining, Cabaret

Introduction: My name is Mrs. Angelic Larkin, I am a cute, charming, funny, determined, inexpensive, joyous, cheerful person who loves writing and wants to share my knowledge and understanding with you.