VMware Cloud Community
Flo89
Contributor
Contributor
Jump to solution

One DRS vMotion at a time

Hello,

is there any possibility to configure the cluster with automatic DRS and it will be only one vMotion of a virtual machine at a time?

We have installed vCenter with Version 6.5.

Best regards

1 Solution

Accepted Solutions
conyards
Expert
Expert
Jump to solution

I've not be able to test this, but in theory at least.  You can achieve this by altering the cost of VMotion from within vCenter Server advanced settings.

Limits on Simultaneous Migrations

You could possibly do this by adding and changing the value of the following key "config.vpxd.ResourceManager.maxCostPerHost".

A VMotion is listed as having a resource cost of 1, so therefore in theory setting the config.vpxd.ResourceManager.maxCostPerHost to 1 will limit the number of concurrent VMotion operations to 1.

However, I believe this key also governs operations such as cloning, so tread lightly and test and changes away from a live environment if possible.

If I might ask, what difficulty are you encountering with DRS, that you are considering this (unsupported) change?

Thanks

Simon

https://virtual-simon.co.uk/

View solution in original post

0 Kudos
6 Replies
conyards
Expert
Expert
Jump to solution

I've not be able to test this, but in theory at least.  You can achieve this by altering the cost of VMotion from within vCenter Server advanced settings.

Limits on Simultaneous Migrations

You could possibly do this by adding and changing the value of the following key "config.vpxd.ResourceManager.maxCostPerHost".

A VMotion is listed as having a resource cost of 1, so therefore in theory setting the config.vpxd.ResourceManager.maxCostPerHost to 1 will limit the number of concurrent VMotion operations to 1.

However, I believe this key also governs operations such as cloning, so tread lightly and test and changes away from a live environment if possible.

If I might ask, what difficulty are you encountering with DRS, that you are considering this (unsupported) change?

Thanks

Simon

https://virtual-simon.co.uk/
0 Kudos
Flo89
Contributor
Contributor
Jump to solution

Hi Simon,

thank you for your help. I will test the setting.

I had some problems with virtual machine migrations, if they were migrated simultaneously. Some services are stopped or the network is going down on the machines.

Therefor this setting is the easiest way for me to prevent this problem.

Best regards

Florian

0 Kudos
conyards
Expert
Expert
Jump to solution

Thanks Florian, I find it useful to know about a situation where this configuration might come in useful Smiley Happy

All the best

Simon

https://virtual-simon.co.uk/
0 Kudos
Flo89
Contributor
Contributor
Jump to solution

Hello Simon,

now i have tested the setting 'config.vpxd.RescourceManager.maxCostperHost' to 1 and can't migrate any virtual machine. I have changed this setting to 2 and it works fine. Now the cluster is moving one machine after the other.

Best regards

Florian

srodenburg
Expert
Expert
Jump to solution

Old thread but better late than never...

"I have changed this setting to 2 and it works fine. Now the cluster is moving one machine after the other."

And with that, you disabled Storage vMotion completely. Your sVmotion jobs will hang at 13% and not finish.

A single vMotion needs "2" as you established. But Storage vMotion needs "8". Mind you all of this is "per host".

If you want Storage vMotion to work at all again, make it "8". However with this a single sVmotion can now run (per host) but a regular vMotion on the SAME host cannot run while the sVmotion is running (the vMotion task will be stuck at 13% until the sVmotion task finishes).

If you want to be able to do a sVmotion + a regular vMotion on the same host at the same time, make it "10".

If set to "8", a single host can not do a sVmotion + regular vMotion at the same time any more. But remember, this is all "per host". So *another* host can do multiple regular vMotions at the same time because it has an allowance of 8 also (every host has).

I was in a situation once where I had to throttle down the number of regular _simultaneous_ vMotions between two datacentres, as too many vMotions at once would saturate the ISL causing havoc.

So I purposely and consciously set the value to "2" to slow down the total number of all those vMotions (every host doing one essentially).

I knew this would break Storage vMotion. But that was acceptable during that action.

After transferring all the VM's to the other datacentre, I set it to "10" to allow a single sVmotion per host (which is what we want due to the storage back-end) + one regular vMotion OR no sVmotion but several vMotions at the same time (again, per host).

Before anyone starts to mess about with this setting, please know what you want to achieve and what the consequences are. Just setting it to "2" kills Storage vMotion so you might want to re-think that...

After adding / edting the value, restart the "VMware vCenter-Services" service. No need to reboot anything.

CoralBargi
Contributor
Contributor
Jump to solution

just a few years later 🙂

@srodenburg 

Is it possible to just limit just simultaneous sVmotions and not change the regular Vmotions limits?
Ideally this is set per a specific Storage Cluster otherwise I guess per Datacenter Cluster?

We've specific storage that is sloooow and would like to limit any sVmotions on it to only 1 at a time so DRS doesn't overwhelm the SAN.
The hosts and the network is more than fine, so would like it to stay as is.

Any suggestions?

0 Kudos