Setting IOPS for HP/EVA devices, the dirty ESXCLI way.

Stumbled upon the “Best practices for HP EVA, vSphere 4 and Round Robin multi-pathing” by Ivo Beerens or the VMware community article “Very slow performance on EVA4400” and wondered how to hack this in to an ESXi box without a service console. (tried Ivo’s solution in the ‘Engineering SSH shell, but for some reason it failed on the grep command’. Of course you can use the horrid windows power(s)hell and fiddle around with that, or for dinosours like me that live in old DOS/Command line worlds, download the VMware ESXCLI package for windoze (or Linux, but then this script wont work)  and copy and paste this script in to a .cmd file

@echo off
esxcli --server <hostname> --username=root --password=*** nmp device list | find "HP Fibre Channel Disk" >dev.lst
for /F "tokens=1,2 delims=()" %%G IN (dev.lst) DO esxcli --server <hostname> --username=root --password=Nipples@Sandpaper nmp roundrobin setconfig --type "iops" --iops=1 --device=%%H
del dev.lst

Remember to replace the obvious username,password and servername values and off you go!.

Of course you can get creative and make a loop around this to go through your servers automatically, but I had only 8 to worry about so I didn’t bother.

Good luck,

— Fault