Vixdisklib hangs when using SAN if the disk size in MB is not integer
search cancel

Vixdisklib hangs when using SAN if the disk size in MB is not integer

book

Article ID: 319664

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

Symptoms:
  • When trying to use SAN transport mode to open the disk, it needs to fetch the mapped blocks. If the disk size in MB is not integer, the program can not get mapped bytes successfully. The length of mapped bytes is always 0 and blockmap fetch operation will not complete.
12452 27b4  02/20 HH:MM:SS 119226 YYYY-MM-DDT14:48:39.624+01:00 verbose -[10164] [Originator@6876 sub=Default] Fetching large block map: (4402339840 out of 1024 bytes mapped).
12452 27b4  02/20 HH:MM:SS 119226 YYYY-MM-DDT14:48:39.624+01:00 verbose -[10164] [Originator@6876 sub=Default] Fetching large block map: (4402339840 out of 1024 bytes mapped).
12452 27b4  02/20 HH:MM:SS 119226 YYYY-MM-DDT14:48:39.624+01:00 verbose -[10164] [Originator@6876 sub=Default] Fetching large block map: (4402339840 out of 1024 bytes mapped).
12452 27b4  02/20 HH:MM:SS 119226 YYYY-MM-DDT14:48:39.639+01:00 verbose -[10164] [Originator@6876 sub=Default] Fetching large block map: (4402339840 out of 1024 bytes mapped).
VDDK log always reports the same log and the number of mapped bytes never changes.
  • In VDDK log, it reports failure when writing to the end of the disk.
YYYY-MM-DD_HH:MM:SS.047 INFO  VDDK - 2019-04-10T05:20:52.046-04:00 error -[31430] [Originator@6876 sub=Default] San transport error: The specified request is invalid.
YYYY-MM-DD_HH:MM:SS.047 INFO  VDDK - DISKLIB-LIB   : RWv failed ioId: #2054 (318) (62) .
YYYY-MM-DD_HH:MM:SS.047 INFO  VDDK - VixDiskLib: Detected DiskLib error 318 (Unknown error).
YYYY-MM-DD_HH:MM:SS.047 INFO  VDDK - VixDiskLib: VixDiskLib_Write: Write 22 sectors to disk at 21176320 failed. Error 1 (Unknown error) (DiskLib error 318: Unknown error) at 6115.

 
In hostd.log, it reports Block range extends beyond the end of the underlying virtual disk.
 
YYYY-MM-DDTHH:MM:SS.170Z error hostd[1000081589] [Originator@6876 sub=Blklistsvc opID=b0e16a0-a3-bc0f user=vpxuser:VSPHERE.LOCAL\Administrator] Block range 10340 (1) extends beyond the end of the underlying virtual disk.


Environment

VMware vSphere Data Protection 6.x
VMware vSphere ESXi 6.5
VMware vSphere ESXi 6.0
VMware vSphere ESXi 6.7

Cause

VDDK SAN transport mode is not supported with base VMDK size which is not multiple of 4K. This is due to a known SeSparse issue in querying for physical mappings when size is not 4K multiple. The block size is 1MB on a VMFS datastore in vSphere 5.0 and later releases. For example: such as 500.23 MB or 3250.739 MB

Resolution

To resolve this issue, increase the disk size in MB to integer.

Although we only find the issue when using SAN transport mode, we recommend customers to increase the disk size in MB to integer regardless of any transport mode. For Example: From 500.23 MB to 501 MB