How to enable ALUA and Round Robin Multipathing with ESX and Clariion CX4

John Simon put in some hard work and great effort in producing and SHARING this document on how to enable ALUA and Round Robin Multipathing.  For some background on ALUA and Round Robin, check out Chad Sakac’s post and Jason Boche’s post.  After reading the WHYs, keep reading below for the the HOW.  Skip to the bottom to see some  before and after Performance Monitor charts detailing John’s results (Disk Latency numbers).
Prerequisites:

  1. You must be on Flare code 28.5 or higher!
  2. You must be on ESX vSphere 4 update 1 or higher!
  3. First put the ESX host into maintenance mode:
    clip_image002[4]
  4. Next log into Navisphere on the Clarion and right click on your CX4 and bring up connectivity status: clip_image004[4]
  5. Select the ESX host and choose EDIT:
    clip_image006[4]
  6. Change the failover mode from 1 to 4 and the Initiator Type to Clariion Open:
    clip_image008[4]
  7. Click OK to Apply the changes and click YES to warnings:
    clip_image010[4]
  8. Verify Success and click OK:
    clip_image012[4]
  9. Reboot the ESX host:
    clip_image013[4]
  10. Post reboot, rescan for all datastores TWICE:
    clip_image015[6]
  11. Once rescanning IS complete you can take the host out of maintenance mode:
    clip_image017[4]

Repeat on all servers until complete.
Once all ESX servers are done, you must enable Round Robin on the LUNS that are presented to the ESX hosts

  1. Go into the configuration tab on EACH ESX host that can see the LUNS you want to change and select the Storage option under hardware:clip_image019[4]
  2. Highlight the LUN you want to change and click Properties:
    clip_image021[4]
  3. Click on Manage Paths from popup window:
    clip_image023[4]
  4. Change the path selection from MRU to Round Robin and verify that storage array type says VMW_SATP_ALUA_CX: clip_image025[4]
  5. Rescan for datastores on completed host twice:
    clip_image015[7]

SCRIPT OPTION TO USE ON ALL SERVERS IN A CLUSTER:
Another and more efficient way to set the Round Robin policy to all LUNs on all ESX hosts that do not already have the policy is to use power shell. Below is a script I wrote which you can use not only when you first setup and environment but also every time you add a new LUN or RDM to VMware. The script verbiage is:

$input | ForEach-Object {
Connect-VIServer VCENTERSERVERNAME
foreach ($ESXhost in get-cluster "ENTER YOUR CLUSTER NAME HERE"| get-vmhost)
{
Get-VMHost $ESXhost |Get-ScsiLun -LunType "disk"|where {$_.MultipathPolicy -ne "RoundRobin"}| Set-ScsiLun -MultipathPolicy "RoundRobin"
}
}

Lab results both PRE and POST enable of Round Robin:

Below are the month long results of the performance counter of our Disk Latency in (ms) before the setup for Round Robin using MRU (Most Recently Used) and after the setup of Round Robin. There were 3 servers in my test group (highly transaction Windows Servers and SQL database servers)

Server Results:

clip_image026[4] clip_image027[4] clip_image028[4]

Conclusion: Round Robin decreased the latency times accessing VMFS and RDM LUNs by over 1,000 (ms)

TAGS