I recently received an email about automating the configuration of VM disk shares. I thought it was an interesting request since I do not know how many people actually make use of this feature. By default, the shares on a virtual disk is set to "normal" or 1000 shares. You can change the value between low (500), normal (1000), high (2000) or a custom value. The following script helps a user to perform a bulk update across multiple VMs and supports multiple virtual disks.
Download: vmDiskSharesMgmt.pl
The script requires that you connect to your vCenter server and provide the following input parameters:
--diskshares_file = Is the name of the diskshares input file that contains the names of the VMs, the hard disks and their corresponding shares value which can be (low, normal, high or custom)
Here is an example of the diskshares input file:
[vi-admin@scofield ~]$ cat diskshares.txt
# [VMNAME];[HDX,SHARES_VALUE]=[HDY,SHARES_VALUE]=[HDZ,SHARES_VALUES]
#
# SHARES_VALUE = low, normal, high, XXXX (custom)
#
# e.g.
# myvm;hd1,low=hd2,high=hd3=2001
#
Synapse;hd1,high
Imager;hd1,low=hd2,1500=hd3,2500=hd4,high
William-XP;hd1,3000
In the above example, we have the following VMs and configurations to be set:
Synapse
Hard Disk1 = high (2000)
Imager
Hard Disk1 = low (500)
Hard Disk2 = 1500
Hard Disk3 = 2500
Hard Disk4 = high (2000)
William-XP
Hard Disk1 = 3000
Here is an example execution:
Here we verify one of the VMs "Imager" and it's configured disk shares:
Hopefully you will find this script to be useful
Ashok says
Thanks William. Just a quick clarification.
Is this script compatible with vSphere 5.1 environment or any specific changes to be made?
William Lam says
That's correct. No change necessary
Ashok says
Thank you for the clarification!