White Papers
Modifying queue depth and timeouts
13 Dell EMC SC Series: Best Practices with VMware vSphere | 2060-M-BP-V
4.3 Adjusting settings for permanent device loss conditions
When using vSphere High Availability (HA), it is a best practice to modify the following host settings in dealing
with permanent device loss (PDL) conditions.
1. From within the host advanced system settings, apply the following modifications:
- VMkernel.Boot.terminateVMOnPDL = Yes/True (Default = No/False, Reboot required)
This setting automatically terminates a virtual machine that resides on a datastore in a PDL condition.
For example, if a storage administrator accidentally removes a path mapping to a single host causing
a PDL condition. This setting allows HA to terminate that virtual machine, and restart it on a different
host within the cluster.
- vSphere 5.5: Disk.AutoremoveOnPDL = 0 (Not the default advanced setting)
- vSphere 6.0+: Disk.AutoremoveOnPDL = 1 (default advanced setting)
This setting prevents a disk device entering a PDL state from being automatically removed from a
host, preventing an inadvertently removed device from being treated as a new device.
2. From within the HA cluster advanced options, add the following configuration parameter:
- das.maskCleanShutdownEnabled = True (Default setting = True)
This setting instructs the fault domain manager (FDM) to presume a virtual machine should be
restarted when its home datastore is not accessible.
For more information about these settings, refer to the following:
• vSphere Availability guide
• PDL Conditions and High Availability
• PDL AutoRemove feature in vSphere 5.5
4.4 Modifying the VMFS queue depth for virtual machines (DSNRO)
Disk scheduled number requests outstanding (DSNRO) is an advanced setting within each ESXi host that
controls the queue depth at the datastore level.
DSNRO is a value that can be increased or decreased depending on how many virtual machines are to be
placed on each datastore or based on the VM I/O requirements. This queue depth limit is only enforced when
more than one virtual machine per host is active on that datastore. For example, if the value is set to default,
the first virtual machine active on a datastore will have its queue depth limited only by the VMkernel driver
module. When a second, third, or fourth virtual machine is added to the datastore, during contention the limit
will be enforced to the maximum queue depth of 32 (or as modified).
Note: Previous to ESXi 5.5, DSNRO was a global setting named Disk.SchedNumReqOutstanding that
applied to all datastores. Modifying DSNRO for an individual datastore was not possible.