This Blog is to share our knowledge and expertise on Linux System Administration and VMware Administration

Wednesday, October 28, 2015

How to change the queue depth configuration of QLogic, Emulex and Brocade HBAs for various Vmware ESXi/ESX versions

ESXi 6.0

This table lists the default Queue Depth values for QLogic HBAs for various ESXi/ESX versions:



The default Queue Depth value for Emulex adapters has not changed for all versions of ESXi/ESX released to date. The Queue Depth is 32 by default, and because 2 buffers are reserved, 30 are available for I/O data.

The default Queue Depth value for Brocade adapters is 32.

To adjust the queue depth for an HBA:

    Verify which HBA module is currently loaded by entering one of these commands on the service console:
        For QLogic:

        # esxcli system module list | grep qln
        For Emulex:

        # esxcli system module list | grep lpfc
        For Brocade:

        # esxcli system module list | grep bfa
    Run one of these commands:

    Note: The examples show the QLogic and Emulex modules. Use the appropriate module based on the outcome of the previous step.
        For QLogic:

        # esxcli system module parameters set -p qlfxmaxqdepth=64 -m qlnativefc

        For Emulex:

        # esxcli system module parameters set -p lpfc0_lun_queue_depth=64 -m lpfc

        For Brocade:

        # esxcli system module parameters set -p bfa_lun_queue_depth=64 -m bfa

    Notes:
        In these commands, both qlfxmaxqdepth and lpfc0 use the lowercase letter L, "l", and not the numeric digit 1.
        In this case, the HBAs have their LUN queue depths set to 64.
        If all Emulex cards on the host must be updated, apply the global parameter, lpfc_lun_queue_depth instead.
    Reboot your host.
    Run this command to confirm that your changes have been applied:
    # esxcli system module parameters list -m driver

    Where driver is your QLogic, Emulex, or Brocade adapter driver module, such as lpfc, qlnativefc, or bfa.

    The output appears similar to:

    Name                        Type  Value  Description
    --------------------------  ----  -----  --------------------------------------------------
    .....
    ql2xmaxqdepth               int   64     Maximum queue depth to report for target devices.
    .....


ESXi 5.0, 5.1, and 5.5

To adjust the queue depth for an HBA:


    Verify which HBA module is currently loaded by entering one of these commands on the service console:
        For QLogic:

        # esxcli system module list | grep qla
        For ESXi 5.5 QLogic native drivers:

        # esxcli system module list | grep qln
        For Emulex:

        # esxcli system module list | grep lpfc
        For Brocade:

        # esxcli system module list | grep bfa
    Run one of these commands:

    Note: The examples show the QLogic qla2xxx and Emulex lpfc820 modules. Use the appropriate module based on the outcome of the previous step.
        For QLogic:

        # esxcli system module parameters set -p ql2xmaxqdepth=64 -m qla2xxx
        For ESXi 5.5 QLogic native drivers:

        # esxcli system module parameters set -p ql2xmaxqdepth=64 -m qlnativefc
        For Emulex:

        # esxcli system module parameters set -p lpfc0_lun_queue_depth=64 -m lpfc820

        For ESXi 5.5 Emulex native drivers:

        # esxcli system module parameters set -p lpfc0_lun_queue_depth=64 -m lpfc
        For Brocade:

        # esxcli system module parameters set -p bfa_lun_queue_depth=64 -m bfa
    Notes:
        In these commands, both ql2xmaxqdepth and lpfc0 use the lowercase letter L, "l", and not the numeric digit 1.
        In this case, the HBAs represented by ql2x and lpfc0 have their LUN queue depths set to 64.
        If all Emulex cards on the host must be updated, apply the global parameter, lpfc_lun_queue_depth instead.
    Reboot your host.
    Run this command to confirm that your changes have been applied:

    # esxcli system module parameters list -m driver

    Where driver is your QLogic, Emulex, or Brocade adapter driver module, such as lpfc820, qla2xxx, or bfa.

    The output appears similar to:

    Name                        Type  Value  Description
    --------------------------  ----  -----  --------------------------------------------------
    .....
    ql2xmaxqdepth               int   64     Maximum queue depth to report for target devices.
    .....


ESXi/ESX 4.x

To adjust the queue depth for an HBA:


    Verify which HBA module is currently loaded by entering one of these commands on the service console:
        For QLogic:

        # vmkload_mod -l | grep qla
        For Emulex:

        # vmkload_mod -l | grep lpfc
        For Brocade:

        # vmkload_mod -l | grep bfa
    Run one of these commands:

    Note: The examples show the QLogic qla2xxx and Emulex lpfc820 modules. Use the appropriate module based on the outcome of the previous step.
        For QLogic:

        # esxcfg-module -s ql2xmaxqdepth=64 qla2xxx
        For Emulex:

        # esxcfg-module -s 'lpfc0_lun_queue_depth=64' lpfc820
        For Brocade:

        # esxcfg-module -s 'bfa_lun_queue_depth=64' bfa

    In this case, the HBAs represented by ql2x and lpfc0 have their LUN queue depths set to 64.

    Note: For multiple instances of Emulex HBAs being presented to a system, use:

    # esxcfg-module -s 'lpfc0_lun_queue_depth=64 lpfc1_lun_queue_depth=64' lpfc820
    Reboot your host.
    Run this command to confirm if your changes are applied:

    # esxcfg-module -g driver

    Where driver is your QLogic, Emulex, or Brocade adapter driver module, such as lpfc820, qla2xxx, or bfa.

No comments:

Post a Comment