Under certain use cases the Virtual Machine File System (VMFS) uses address optimization logic to avoid disk reads, while resolving logical address to physical addresses.
Address optimization helps to improve read performance and is only used in certain cases, depending on how the virtual disk is allocated, on the alignment of the address allocation and the usage of large File Blocks (LFB)s for allocation.
Due to a fault in the address optimization logic pre ESXi 7.0 U3i, VMFS can return zeros during read, causing the issues outlined above.
This issue has been fixed in vSphere 7.0 Update 3i
Workaround:
To workaround the issue, please follow the steps mentioned below:
# esxcli system settings advanced list -o /VMFS3/DisableParallelTxns
# esxcli system settings advanced set -o /VMFS3/DisableParallelTxns -i 1
# esxcli system settings advanced list -o /VMFS3/DisableParallelTxns
Sample of host with Parallel Transaction enabled