Disk.DiskMaxIOSize

User Guides for VMware Solutions

Audience
Public
Content Type
User Guides
Source Type
Documentation

The ESXi host setting, Disk.DiskMaxIOSize, controls the largest I/O size that ESXi will allow to be sent from ESXi to an underlying storage device. By default this is 32 MB. If an I/O is larger than the Disk.DiskMaxIOSize value, ESXi will split the I/O requests into segments under the configured limit.

If you are running an older release of ESXi (versions listed below) this setting needs to be modified if and only if you are on an old version and have an environment running the following scenarios:

  1. If a virtual machine is using EFI (Extensible Firmware Interface) instead of BIOS and is using VMware Hardware Version 12 or earlier.
  2. If your environment utilizes vSphere Replication.
  3. If your environment contains VMs which house applications that are sending READ or WRITE requests larger than 4 MB.
  4. The environment is using Fibre Channel with one of the above scenarios (this issue is not present with iSCSI).

    VMware has resolved this issue in two places--fixing it in ESXi itself (ESXi now reads the maximum supported SCSI from the array and will only send I/Os of that size or smaller and split anything larger) and within VMware HW.

    This is resolved in the following ESXi releases:

  5. ESXi 6.0, Patch Release ESXi600-201909001
  6. ESXi 6.5, Patch Release ESXi650-201811002
  7. ESXi 6.7 Update 1 Release
  8. ESXi 7.0 all releases

    If you are not running one of these newer releases, it is necessary to reduce the ESXi parameter Disk.DiskMaxIOSize from the default of 32 MB (32,768 KB) down to 4 MB (4,096 KB) or less.

    Note:

    The above scenarios are only applicable if the VMs reside on a Everpure FlashArray. If you have VMs in your environment that are not on a Everpure FlashArray please consult with your vendor to verify if any changes are required.

    If this is not configured for ESXi hosts running EFI-enabled VMs, the virtual machine will fail to properly boot. If it is not changed on hosts running VMs being replicated by vSphere Replication, replication will fail. If it is not changed for VMs whose applications are sending requests larger than 4MB, the larger I/O requests will fail which results in the application failing as well.

    This should be set on every ESXi host in the cluster that VMs may have access to, in order to ensure vMotion is successful from one ESXi host to another. If none of the above circumstances apply to your environment then this value can remain at the default. There is no known performance impact by changing this value.

    For more detail on this change, please refer to the VMware KB article here:

    https://kb.vmware.com/s/article/2137402

    Note:

    BEST PRACTICE: Upgrade ESXi to a release that adheres to the maximum supported SCSI size from the FlashArray.