One of the things that you could lose when you disable DRS for a cluster is your resource pool trees and the settings your resource pools (Memory/CPU reservations etc). Settings such as anti-affinity/affinity, DRS automation level are not included.
With so much automation taking place nowadays it is very easy to script something to enable or disable DRS via PowerCLI. A simple line like this
To turn OFF DRS :
Get-Cluster -Name "cluster" | Set-Cluster -DrsEnabled:$false
Get-Cluster -Name "cluster" | Set-Cluster -DrsEnabled:$true
One thing I noticed with this PowerCLI command is that it does not give you an option to save/export your resource pool tree structure and settings. I have seen people asking in VMTN how to use script to export your settings to a CSV file and there are plenty of ways.
I am going to walk through how to backup and restore your resource pool tree via the HTML 5 client and assuming you have set up a cluster already and DRS is enabled
- Log on vCenter via the html client
- Highlight your cluster name and expand on it. With my example you can see that I have two host and two resource pools. I have one VM under Test Resource and a second resource pool called Test Resource 1. On the right-hand side of the window you will see the settings for your cluster. Select the Configure tab, under Services select vSphere DRS. You should now see if vSphere DRS is on or off. Now click on edit.
- Your vSphere DRS switch should be shown as green highlighting that DRS is enabled. Click to flip the switch to turn it off which should be like below. Click OK
- This is the important screen where is warns you about the removal of resource pool and asks you whether you like to save it or not. Remember to click Yes because by default this screen has the No button as default. (Hopefully VMware will change it). By default the file name is saved as cluster.snapshot in your default download location for your browser.
That’s it to save your resource pool tree and settings such as share, reservations and limits for CPU or Memory. Settings such as VM/Host rules, DRS Automation level are not part of the resource pool tree settings so won't be included. You would need to use other PowerCLI commands to extract those information.
The next few steps focuses on restoring those settings back to your cluster. As always there are some caveats around restore.
- vSphere DRS must be turned ON before you can restore
- You can only restore a snapshot to the same cluster that it was taken from
- No other resource pools are present in the cluster
Now on to the process of restore
- Log on vCenter via the client
- Highlight your cluster name and expand on it. With my example you can see that I have two host and the VM is at the root of the cluster. On the right-hand side of the window you will see the settings for your cluster. Select the Configure tab, under Services select vSphere DRS. You should now vSphere DRS is off. Now click on edit.
- Your vSphere DRS switch should be shown as grey highlighting that DRS is disabled. Click to flip the switch to turn it on which should be like below. Click OK
- You should now see that DRS is turned back on. At the vSphere DRS configuration screen click on Restore Resource Pool Tree
- Click on choose file
Locate your cluster.snapshot file
- On this screen once check that you have selected the correct file and then click OK
- Now you should see that the Resource Tree is restored as with my example, my VM has now moved back to under Test Resource pool. All the CPU/Memory settings for the resource pools are also restored