Just noticed this pingback. The topic title “Balancing LUN paths on your ESX hosts with powershell” sounded promising so I headed over. Justin Emerson is the owner of the blog and he wrote a short but effective script that changes the active paths on your active/active SAN(FIXED).
After watching this video that was posted by the VI Toolkit team, I immediately thought of this script that was posted quite a while back on Yellow Bricks. I decided to try to recreate this script in PowerShell, and while I was at it expand it so it would modify all nodes in a cluster at once. As such I wrote the following script. Please feel free to give feedback or make modifications! You can download it from my Sky Drive or check it out here.
Head over to Justin’s site, pick up the script and give it a try… and most importantly give Justin feedback on the results and what could be improved!
iben says
Just to be clear – this is mainly for Fibre Channel Storage, not NFS/iSCSI, right?
Carter Shanklin says
Mainly for FC. You have to approach boosting iSCSI performance in a very different way.
Duncan says
I would say Only for FC. As carter points out, you need to increase iSCSI/NFS performance in a diff. way. Check Chad Sakac’s post for boosting iSCSI.
paul says
does anyone think running this script while everything is up and running would potentially be a problem. We have eva 8000 and about 60 -70 luns presented with 8 paths from each host. We need to balance our LUNs more effectively so a script like this would be perfect – just a bit worried about running it while everything is up and how storage would handle all these changes in quick succession?
Rob Mokkink says
Changing lun paths during production won’t cause you any problems. I created a powershell script last year that does lun loadbalancing (before vitoolkit 1.5) i run this script when during postinstall and once a week, because once the paths are set, you don’t need to run the script every day.
Mike Karolow says
Unless, like us, you’re on 3.5U3. I wouldn’t dare try this with the LUN failover bug still out there. http://kb.vmware.com/kb/1008130
paul says
looking in the script there is a sleep 30 to allow for this.
Duncan Epping says
I wouldn’t do it during production time. I would never take the risk.
Frank Denneman says
Paul,
Although an EVA is listed as an Active\Active Storage Array, Eva’s assigns a managing controller to a virtual disk (LUN). When an I/O is send to the second, non-owning controller, the I/O is send by this controller to the owning controller. Communications between controllers are really fast, but it’s still an unnecessary extra command.
In command view eva, on the present tab you can see which controller is the managing controller. Configure the preferred paths aligned with the managing controller.
JustinE says
I agree, I wouldn’t run it during normal business hours. Better to do it during low I/O periods, nd also for the reason Mike Karolow listed.
However, for Frank’s point, assuming you have presented the same LUNs to each server, my script should assign the same path to every server the same way, so that the managing controller issue should be moot. If all the hosts are accessing LUN 5 via path 5 (which goes to controller 2) then the EVA should switch the managing controller for that LUN to #2.
Frank Denneman says
Your correct, however Implicit lun failovers (switching when too many proxy reads are done on the non-owning controller) aren’t always executed.
If you are running XCS 6.x and using Continuous Access, Implicit LUN failovers are disabled.
maybe I will blog a article about it.
martin says
Little late to comment, but hopefully…
If my EVA does an implicit lun transition, the esx servers themselves would not detect a path failure, correct? As this is the backend controller changing ownership the esx hosts still send IO to the same path – so no path failure right?
As the implicit transition happens, is there any issue sending IO to either controller?
Scenario. lun is owned by sp0 and most IO is coming through sp1 (and has been for a while). However, some IO is coming through sp0 also. EVA initiates an implicit transition from sp0 to sp1. during which time IO still comes in to both sp’s for that lun….what will happen?