VMware vSphere

 View Only
  • 1.  Round Robin and IOPS Limit

    Posted 10 days ago

    Hi All,

    Could anyone please guide me on the following:

    1. How to check the current LUNs' path selection policy and IOPS settings?

    2. If the LUNs are not configured for Round Robin, how can we change the policy for multiple LUNs in bulk?

    3. Also, how do we set the IOPS value (e.g., IOPS=1,000 or similar) for all LUNs using a script?

    Appreciate it if you can share the appropriate PowerCLI or script to achieve this.

    Thanks, Kumar.



  • 2.  RE: Round Robin and IOPS Limit

    Posted 9 days ago

    By default, fibre-channel will use the NMP, native multi pathing, which defaults to round-robin, and 1000 IOPs.  We switched to PowerPath a long time ago, although I now understand it's being sunsetted so I'll have to go back to NMP as well for FC clusters.  I found my script to set the IOPs, but it's written in bash from the ESX days, I've not converted it to PowerCLI.  But the gist of it is:

    esxcli nmp device list | grep -i "Device Display Name: <and something like your LUNs>"

    esxcli nmp roundrobin setconfig --device <your device name> --type "iops" --iops=1000 (or whatever)

    Honestly when we changed it, it doesn't really affect anything that you can notice.  We were on 4gb and 8gb fibre at the time.

    There's a reason VMware defaults are the way they are, good for 99% of the time unless you have very unique infrastructure.




  • 3.  RE: Round Robin and IOPS Limit

    Posted 9 days ago

    The easiest way to just create a new claim rule that way all LUNs from your vendor get your new settings. Using Claim Rules to Control ESXi Multipathing Modules

    Here's a script I wrote for NetApp systems, in this case I am setting the latency policy instead of using IOPs. We've found it is generally better overall performing and helps protect against flaky paths. You can unclaim/reclaim your LUNs, but I usually just do a rolling reboot. I like easy.

    #Load VMware PowerCLI core module if not already available
    Import-Module VMware.VimAutomation.Core
     
    # Prompt for the vCenter Server
    $vCenter = Read-Host -Prompt "What vCenter do you want to connect to?"
    Write-Output "You entered: $vCenter"
     
    # Prompt for vCenter Server credentials
    $cred = Get-Credential
     
    # Connect to the vCenter Server using the provided credentials
    Connect-VIServer -Server $vCenter -Credential $cred
     
    # Prompt for the datacenter
    $Datacenter = Read-Host -Prompt "Which datacenter do you want to update?"
    Write-Output "You entered: $Datacenter"
     
    $vmhosts = Get-VMhost -Location $Datacenter
     
    foreach ($vmhost in $vmhosts) {
        $esxcli = Get-EsxCli -VMHost $vmHost -V2        
        $arguments = $esxcli.storage.nmp.satp.rule.add.CreateArgs()
        $arguments.pspoption="policy=latency"
        $arguments.description="NetApp ONTAP Latency SATP Rule"
        $arguments.vendor="NETAPP"
        $arguments.type="vendor"
        $arguments.satp="VMW_SATP_ALUA"
        $arguments.claimoption="tpgs_on"
        $arguments.psp="VMW_PSP_RR"
        $arguments.option="reset_on_attempted_reserve"
        $arguments.model="LUN C-Mode" 
        $esxcli.storage.nmp.satp.rule.add.Invoke($arguments)
    }
     
     
    # Disconnect from the vCenter Server
    Disconnect-VIServer -Confirm:$false



  • 4.  RE: Round Robin and IOPS Limit

    Posted 8 days ago

    Thanks for the script..! But how can I change for Dell EMC Lun's..??

    Thanks in advacne.!

    Regards,

    Kumar.




  • 5.  RE: Round Robin and IOPS Limit

    Posted 4 days ago

    Basically you want to do 'esxcli storage core device list' and take note of the vendor and model fields.

    Replace those fields in the script example above.

    Also, you want to check with Dell's website to see what options they recommend. They may not be the same as my example. They probably are, but I can't tell you anything specific about EMC LUNs.