ESXi Tech Support Mode Procedure To Change HBA Parameters:
Enter Tech Support Mode on your ESXi Hypervisor terminal.
See VMware KB article 1017910: http://kb.vmware.com/selfservice/microsites/search.do?cmd=displayKC&docType=kc&externalId=1017910&sliceId=2&docTypeID=DT_KB_1_1&dialogID=150110694&stateId=0%200%20150112078
1. List the Qlogic HBas on your ESX server:
# ls /proc/scsi/qla2xxx/
4 5
2. Display the detailed information for one of the specific HBAs:
# cat /proc/scsi/qla2xxx/4
QLogic PCI to Fibre Channel Host Adapter for QLE2460:
Firmware version 4.04.09 [IP] [Multi-ID] [84XX] , Driver version 8.02.01-k1-vmw43
BIOS version 2.02
FCODE version 2.00
EFI version 2.03
Flash FW version 4.04.02
ISP: ISP2432
Request Queue = 0x41813000, Response Queue = 0x41894000
Request Queue count = 4096, Response Queue count = 512
Total number of interrupts = 5036
Device queue depth = 0x20
Number of free request entries = 3679
Number of mailbox timeouts = 0
Number of ISP aborts = 0
Number of loop resyncs = 1
Host adapter:loop state = , flags = 0x105ac3
Dpc flags = 0x0
MBX flags = 0x0
Link down Timeout = 045
Port down retry = 005
Login retry count = 008
Execution throttle = 2048
ZIO mode = 0x6, ZIO timer = 1
Commands retried with dropped frame(s) = 0
Product ID = 0000 0000 0000 0000
NPIV Supported : Yes
Max Virtual Ports = 127
SCSI Device Information:
scsi-qla0-adapter-node=2000001b329328b8:610813:0;
scsi-qla0-adapter-port=2100001b329328b8:610813:0;
FC Target-Port List:
scsi-qla0-target-0=5006016941e00787;
scsi-qla0-target-1=5006016041e00787;
FC Port Information:
scsi-qla0-port-0=50060160c1e00787:5006016941e00787:610113:81;
scsi-qla0-port-1=50060160c1e00787:5006016041e00787:610013:82;
3. View the modules loaded for the Qlogic HBA:
# /usr/sbin/esxcfg-module -g qla2xxx
qla2xxx enabled = 1 options = '' (currently there are no options set.)
4. Display the current Queue Depth for the Qlogic HBA:
# cat /proc/scsi/qla2xxx/4 | grep -i "queue depth"
Device queue depth = 0x20
5. Change the Queue Depth for the HBA to 64:
# esxcfg-module -s ql2xmaxqdepth=64 qla2xxx
6. Reboot the ESX server for the change to take effect:
NOTE: Ensure the ESXi server is in maintenance mode and all VMs are either vMotioned to another server or powered off.
# reboot
7. Display the current Queue Depth for the Qlogic HBA:
# cat /proc/scsi/qla2xxx/4 | grep -i "queue depth"
Device queue depth = 0x40
The queue depth has now been sucessfully changed for this HBA from 32 to 64.
ESXi 4.1 vSphere CLI Procedure to Change HBA Parameters
Identify the Qlogic driver Modules installed in your system.
C:\VMware\VMware vSphere CLI> vicfg-module.pl –l
(The following output was edited to only show the Qlogic modules)
Name ID Loaded
qla4xxx 36 Yes (iSCSI HBA driver)
qla2xxx 37 Yes (Fibre Channel HBA driver)
2. List the current options enabled for the Qlogic driver.
C:\VMware\VMware vSphere CLI> vicfg-module.pl –g qla2xxx
qla2xxx options = '' (currently there are no options set.)
3. Set the queue depth for the qla2xxx driver to 64.
C:\VMware\VMware vSphere CLI> vicfg-module.pl –s ql2xmaxqdepth=64 qla2xxx
No response is echoed.
4. Check the queue depth setting for the qla2xxx driver.
C:\VMware\VMware vSphere CLI> vicfg-module.pl -g qla2xxx
qla2xxx options = 'ql2xmaxqdepth=64'
Additional Common Parameter Examples:
vSphere CLI commands are shown in blue.
qla4xxx iSCSI driver
Keep Alive Timeout:
~ # esxcfg-module -s ka_timeout=120 qla4xxx
C:\VMware\VMware vSphere CLI> vicfg-module.pl -s ka_timeout=120 qla4xxx
~ # esxcfg-module -g qla4xxx
qla4xxx enabled = 1 options = 'ka_timeout=120'
C:\VMware\VMware vSphere CLI> vicfg-module.pl -g qla4xxx
qla4xxx enabled = 1 options = 'ka_timeout=120'
qla2xxx Fibre Channel driver
Extended Error Logging
# esxcfg-module -s "ql2xextended_error_logging=1" qla2xxx
C:\VMware\VMware vSphere CLI> vicfg-module.pl -s ql2xextended_error_logging=1 qla4xxx
#esxcfg-module -g qla2xxx
qla2xxx enabled = 1 options = 'ql2xextended_error_logging=1'
C:\VMware\VMware vSphere CLI> vicfg-module.pl -g qla2xxx
qla2xxx enabled = 1 options = 'ql2xextended_error_logging=1'
В завершение список остальных параметров:
Qla2xxx Fibre Channel driver parameter option definitions for ESXi 4.1
Note: INT stands for Integer
heap_initial: int Initial heap size allocated for the driver.
heap_max: int Maximum attainable heap size for the driver.
ql2xallocfwdump: int Option to enable allocation of memory for a firmware dump during HBA initialization. Memory allocation requirements vary by ISP type. Default is 1 - allocate memory.
ql2xcmdtimeout: int Timeout value in seconds for scsi command, default is 20
ql2xcmdtimermin: int Minimum command timeout value. Default is 30 seconds.
ql2xdevdiscgoldfw: int Option to enable device discovery with golden firmware Default is 0 - no discovery. 1 - discover device.
ql2xenablemsi: int Enables MSI-X/MSI interrupt scheme Default is 0 - disable MSI-X/MSI. 1 - enable MSI-X/MSI.
ql2xexecution_throttle: int IOCB exchange count for HBA.Default is 0, set intended value to override Firmware defaults.
ql2xextended_error_logging: int Option to enable extended error logging, Default is 0 - no logging. 1 - log errors.
ql2xfdmienable: int Enables FDMI registratons Default is 0 - no FDMI. 1 - perfom FDMI.
ql2xiidmaenable: int Enables iIDMA settings Default is 1 - perform iIDMA. 0 - no iIDMA.
ql2xintrdelaytimer: int ZIO: Waiting time for Firmware before it generates an interrupt to the host to notify completion of request.
ql2xioctltimeout: int IOCTL timeout value in seconds for pass-thur commands. Default is 66 seconds.
ql2xloginretrycount: int Specify an alternate value for the NVRAM login retry count.
ql2xlogintimeout: int Login timeout value in seconds.
ql2xmaxqdepth: int Maximum queue depth to report for target devices.
ql2xmaxsgs: int Maximum scatter/gather entries per request, Default is the Max the OS Supports.
ql2xoperationmode: int Option to disable ZIO mode for ISP24XX: Default is 1, set 0 to disable
ql2xplogiabsentdevice: int Option to enable PLOGI to devices that are not present after a Fabric scan. This is needed for several broken switches. Default is 0 - no PLOGI. 1 - perfom PLOGI.
ql2xqfullrampup: int Number of seconds to wait to begin to ramp-up the queue depth for a device after a queue-full condition has been detected. Default is 120 seconds.
ql2xusedefmaxrdreq: int
ql2xusedrivernaming: int Enables Consistent Device Naming feature Default is 0, set 1 to enable.
qlport_down_retry: int Maximum number of command retries to a port that returns a PORT-DOWN status.
usedefmaxrdreq: Default is 0 - adjust PCIe Maximum Read Request Size. 1 - use system default.
Qla4xxx (iSCSI HBA) driver parameter option definitions for ESXi 4.1
cmd_timeout: int Command Timeout
extended_error_logging: int Option to enable extended error logging, Default is 0 - no logging, 1 - debug logging
gratuitous_arp: int Gratuitous ARP
heap_initial: int Initial heap size allocated for the driver.
heap_max: int Maximum attainable heap size for the driver.
ioctl_timeout: int IOCTL Timeout
ka_timeout: int Keep Alive Timeout
ql4xdiscoverywait: int Discovery wait time
ql4xdontresethba: int Dont reset the HBA when the driver gets 0x8002 AEN default it will reset hba :0 set to 1 to avoid resetting HBA
recovery_tmo: int Recovery Timeout