When powering on a Windows virtual machine using EFI from an Dell EMC PowerStore and EMC XtremIO storage arrays, you see these events:
Cmd(0x#####) 0x##, CmdSN 0x##### from world ##### to dev "####" failed H:0x0 D:0x2 P:0x0 Valid sense data: 0x5 0x24 0x0
esxcli system settings advanced list -o "/Disk/DiskMaxIOSize"
command on the host containing the virtual machine reports the default disk IO block size:Path: /Disk/DiskMaxIOSize
Type: integer
Int Value: 32767
Default Int Value: 32767
Min Value: 32
Max Value: 32767
String Value:
Default String Value:
Valid Characters:
Description: Max Disk READ/WRITE I/O size before splitting (in KB)
esxcli storage core path list
command, you see that the storage array reports a default IO block size not equal to 32767.Loading /sb.v00
Error loading /sb.v00
Compressed MD%: beb813d57fd3215416e8b87a4db2e4a2
Decompressed MD5: 00000000000000000000000000000000
Fatal erorr: 6 (Buffer too small)
An error occurred while saving: 38 (Function not implemented)
DiskMaxIOSize
in ESXi is 32767 (32 MB). Even if the storage array reports a different block size to the host, ESXi continues to use the default DiskMaxIOSize
of 32 MB. Because of this, block transfers between the virtual machine and the storage array may be interrupted or incomplete.The result is that the virtual machine may fail to boot using EFI.
Refer also to release notes at:
To download patches go to Broadcom Support
DiskMaxIOSize
parameter on each host that sees the storage array's LUNs to the IO block size value advertised by the array.DiskMaxIOSize
parameter:DiskMaxIOSize
parameter to 1 MB (for PowerStore) and 4 MB(for XtremIO) by running this command:
For PowerStore:
esxcli system settings advanced set -o "/Disk/DiskMaxIOSize" --int-value 1024
For XtremIO:
esxcli system settings advanced set -o "/Disk/DiskMaxIOSize" --int-value 4096
Run this command to verify if the parameter is 1 MB or 4 MB:
esxcli system settings advanced list -o "/Disk/DiskMaxIOSize"
Path: /Disk/DiskMaxIOSize
Type: integer
Int Value: 1024 (for PowerStore) or 4096(for XtremIO)
Default Int Value: 32767
Min Value: 32
Max Value: 32767
String Value:
Default String Value:
Valid Characters:
Description: Max Disk READ/WRITE I/O size before splitting (in KB)
Alternatively, you can reduce the size of the IO requests passed to the storage device using the VMware vSphere Client program:
Disk.DiskMaxIOSize
value to 1024 (for PowerStore) or 4096(for XtremIO).Note: You can change this setting without rebooting the host or putting it in the maintenance mode.
Impact/Risks:
If there are other devices on the host which are capable of servicing large IOs, the IOs to these devices will also be split as per DiskMaxIOSize setting. This can affect all VMs on the ESXi host, and possibly affect the performance.