rrosenkoetter
Enthusiast
Enthusiast

Use DRS rules or do it manually?

Jump to solution

Here's my situation...

I have a time-clock application that runs on sets of 3 VMs... Each set has two web servers and an application server that works with both web servers.

The load is large enough that we have NINE sets of these 3 VMs groupings... so 27 total VMs... but working in sets of 3...

In my old 2.5.x environment, Each set of 3 was placed on it's own host server. Performance was excellence because each VM in the set were talking to each other at bus speed...

They always had all the CPU they needed because each set was isolated on its own host server.

Well, I just finished my migration to VI3... and I want to emulate the same configuration... I want the three VMs of each set to always be together on the same host server, and for NO set to be on the same host server with another set...

At first, I set up nine DRS rules for keeping the three VMs of each set together. This worked fine (I moved a couple of VMs, and watched them automatically get moved back to be with their "set"). Then I went to set up DRS rules for keeping VMs apart... I tried to set up the following rules:

The nine application servers had to be on different host servers

The nine 1st web servers had to be on different host servers

The nine 2nd web servers had to be on different host servers

Of course, as some of you know, there's a bug in the "Keep separate" rules that only allows 2 VMs at a time in those rules... So I was looking at setting up 36 rules for the application servers, 36 rules for the 1st web server, and 36 rules for the 2nd web server...

To be honest, even if the rules did work correctly, I was bit worried how the alogorithm would work. Is anyone else out there using fairly complicated DRS rules?

I'm thinking instead what i should do is just place the nine sets of 3 VMs on nine different host servers, and then set each of those VMs individually to Manual in the DRS rules... This should keep them from ever being moved by DRS correct?

I did test such a configuration in my test lab, and HA still works even with VMs are set to manual like this. They still fail over to another server.

Almost seems simpler to do it this way than to let DRS do it.

I have a couple of other applications that are somewhat similar... I have one 8 VM web farm that I'd like to make sure are all on different host servers... So I either set up a bunch of DRS 2-VM rules or do the manual method again...

I see myself sliding down the slippery slope... I don't want to do TOO much manual... but I also want to maintain proper load balancing for applications... If I let DRS handle everything without rules, a couple of months from now, I could inadvertently end up with 4 of those 8 web VMs on the same host... A hardware failure could cause some real downtime. Yes, HA would get them back up within 5 minutes... but these are important production web servers, built to be N+2 tolerant... losing 4 at once, even for 5 minutes, would be a black eye for virtualization team (i.e., me).

Thoughts? Manual with good documentation, or try to use DRS and let VMware take care of the details?

0 Kudos
1 Solution

Accepted Solutions
rDale
Enthusiast
Enthusiast

couldnt you cheat and make the DRS rules for the VMs that need to be kept together and then make a rule that keeps two machines from each set of keep together VMs, seperate. DRS shouldnt be able to move the VM because one of the VMs that was part of the keep together set couldnt not be placed on the host due to the keep seperate rule this way you culd create the rule to keep them apart with only 2 machines in it and when it is fixed to allow you to add more vms into that rule just add them.

keep together groups

vm1

vm2

vm3

vm4

vm5

vm6

vm7

vm8

vm9

vm10

vm11

vm12

keep apart

vm1

vm4

vm5

vm8

vm9

vm12

etc..

just no idea if it would work for you Smiley Happy

View solution in original post

0 Kudos
3 Replies
oreeh
Immortal
Immortal

In this scenario I'd simply swicth DRS to manual mode or disable DRS for these VMs (this has the benefit that other VMs are stilled moved automatically).

Hopefully the DRS rules bug gets fixed ASAP.

rDale
Enthusiast
Enthusiast

couldnt you cheat and make the DRS rules for the VMs that need to be kept together and then make a rule that keeps two machines from each set of keep together VMs, seperate. DRS shouldnt be able to move the VM because one of the VMs that was part of the keep together set couldnt not be placed on the host due to the keep seperate rule this way you culd create the rule to keep them apart with only 2 machines in it and when it is fixed to allow you to add more vms into that rule just add them.

keep together groups

vm1

vm2

vm3

vm4

vm5

vm6

vm7

vm8

vm9

vm10

vm11

vm12

keep apart

vm1

vm4

vm5

vm8

vm9

vm12

etc..

just no idea if it would work for you Smiley Happy

0 Kudos
sbeaver
Leadership
Leadership

Yes you can get complex and it will work. I have some pretty complex rules for a set on one cluster but KISS might be a better idea and set things to manual on the VMs needed.

Steve Beaver
VMware Communities User Moderator
VMware vExpert 2009 - 2020
VMware NSX vExpert - 2019 - 2020
====
Co-Author of "VMware ESX Essentials in the Virtual Data Center"
(ISBN:1420070274) from Auerbach
Come check out my blog: [www.virtualizationpractice.com/blog|http://www.virtualizationpractice.com/blog/]
Come follow me on twitter http://www.twitter.com/sbeaver

**The Cloud is a journey, not a project.**