HP 3PAR VMware ESX Implementation Guide

ESX/ESXi Handling SCSI Queue Full and Busy Messages from the HP 3PAR StoreServ
Storage Array
VMware ESX Releases through ESX 3.5 Update 3
The default behavior of ESX 3.5 Update 3 and older servers to the Queue Full and Busy SCSI
messages from the HP 3PAR StoreServ Storage is to treat them as valid commands and to continue
sending data. When continued outstanding commands are sent to an HP 3PAR StoreServ Storage
port, the port cannot recover and stops responding for attached hosts.
This type of action is critical where QLogic HBAs are used on the HP 3PAR StoreServ Storage
because, when the storage port stops responding, the QLogic driver on the HP 3PAR StoreServ
Storage has to issue a reset of the affected port.
The time in which the HP 3PAR StoreServ Storage port reaches full capacity and the reset time of
the port does not trigger a failover in the ESX host. This is because the ESX host never detects the
port going away and causes a virtual machine crash. There are two solutions:
Upgrade to ESX 3.5 Update 4 or later.
Control the IO that each array port receives by manipulating the HBA queue depth (see
“Modifying the Tuneable Parameters for Queue Depth Throttling in ESX 3.x” (page 85)).
VMware ESX Release 3.5 Update 4 through ESX 4.x, ESXi 5.0 and 5.0 updates, and ESXi 5.5
Beginning with VMware ESX release 3.5 Update 4, including ESX 4.0 GA, ESX 4.1 (with all ESX
4.x updates), ESXi 5.0 (with all updates), and ESXi 5.5, an algorithm was added that allows ESX
to respond to Queue Full and Busy SCSI messages from the storage array. The Queue Full or Busy
response by ESX is to slow I/O for a period of time, this helps to prevent overdriving of the HP 3PAR
StoreServ Storage ports. This feature should be enabled as part of an ESX - HP 3PAR StoreServ
Storage deployment.
The Queue Full and Busy LUN-throttling algorithm is disabled by default. To enable the algorithm,
complete the following steps:
1. From the VI/vSphere client, select the ESX host. In the Configuration tab, select Advanced
Settings for software, and then select Disk.
2. Scroll to find and then adjust the following HP-recommended settings:
QFullSampleSize = 32
QFullThreshold = 4
With the algorithm enabled, no additional I/O throttling scheme on ESX 3.5 Update 4 and newer
is necessary. See the additional information regarding the ESX Queue Full/Busy response algorithm
found in the KB 1008113, available on the VMware Knowledge Base website: VMware
VMware ESXi Release 5.1
The Advanced Settings parameters QFullSampleSize and QFullThreshold are required to enable
the adaptive queue-depth algorithm.
In ESXi releases earlier than ESXi 5.1, these parameters are set globally; that is, they are set on
all devices seen by the ESXi host. In VMware ESXi 5.1, however, these parameters are set in a
more granular fashion, on a per-device basis.
VMware patch ESXi510-201212001, dated 12/20/2012 (KB 2035775), restores the ability to
set the values of these parameters globally. The patch is available on the VMware Knowledge
Base website:
VMware
To set the parameters globally, install the patch and follow the instructions in “VMware ESX Release
3.5 Update 4 through ESX 4.x, ESXi 5.0 and 5.0 updates, and ESXi 5.5” (page 49).
Performance Considerations for Multiple Host Configurations 49