Cannot power-on VM on a vVol datastore with error "The file specified is not a virtual disk"
search cancel

Cannot power-on VM on a vVol datastore with error "The file specified is not a virtual disk"

book

Article ID: 389403

calendar_today

Updated On:

Products

VMware vSphere ESXi

Issue/Introduction

  • A virtual machine with hard disks located on a vVol datastore cannot be powered and shows following message in the vSphere client:
Cannot open the disk 'vvol://#################################/rfc####.########-####-####-####-###########/#####.vmdk; or one of the snapshot disk it depends on.
 
 
  • Virtual machine's vmware.log reports following error for the vmdk:

YYYY-MM-DDTHH:MM In(05) worker-2689414 - DISK: OPEN scsi2:0 '/vmfs/volumes/vvol:12345######################7890A/rfc123.1234####-####-####-####-########9000/hard_disk.vmdk' persistent R[]
YYYY-MM-DDTHH:MM In(05) worker-2689414 - DISKLIB-VMFS  : VmfsExtentCommonOpen: possible extent truncation (?) realSize is 67108864, size in descriptor 133143986176.
YYYY-MM-DDTHH:MM In(05) worker-2689414 - DISKLIB-LIB   : Failed to open '/vmfs/volumes/vvol:1234######################7890A/rfc123.1234####-####-####-####-########9000/hard_disk.vmdk' with flags 0x4a The file specified is not a virtual disk (15).
YYYY-MM-DDTHH:MM In(05) worker-2689414 - DISKLIB-VMFS  : "vvol://12345######################7890A/rfc1111.ab1234aa-####-####-####-########abcd" : failed to open (The file specified is not a virtual disk): Size of extent in descriptor file larger than real size. Type 3
YYYY-MM-DDTHH:MM In(05)+ vmx - Cannot open the disk '/vmfs/volumes/vvol:12345######################7890A/rfc123.1234####-####-####-####-########9000/hard_disk.vmdk' or one of the snapshot disks it depends on.
YYYY-MM-DDTHH:MM In(05)+ vmx - Power on failure messages: The file specified is not a virtual disk
YYYY-MM-DDTHH:MM Wa(03) vmx - VMX has left the building: 0.

Environment

  • ESXi 7.x
  • ESXi 8.x

Cause

  • Due to this discrepancy in the hard disk size in the descriptor file and the disk size in the Storage Array, the VM could not be powered on. In order to have a successful power on, the reported size in vSphere and the disk size in the Storage Array need to be identical.

Resolution

1. If size discrepancy reported is huge: example: 133143986176 (size in the descriptor file)  -  67108864 (actual size reported in the storage)  =  133076877312 sectors  = 61.9 TB

  • Involve storage vendor to investigate the size discrepancy reported in VMware.log. Validate the size reported for VVOL UUID on the array. 

2. If the size discrepancy is not huge.

example: In(05) worker-24719422 - DISKLIB-VMFS  : VmfsExtentCommonOpen: possible extent truncation (?) realSize is 2422362112, size in descriptor 2424307712.  <<<==========   Size reported in vmdk descriptor file is larger by 950 MB compared to size reported by array.

a. Ensure the virtual machine has a backup before proceeding.

b. Identify the problematic hard disks from the vmware.log and note down the real size (2422362112) and size in descriptor (2424307712).

c. Login to ESXi shell as a root user.

d. Take backup of the vmdk descriptor files.

e. Change the hard disk size in the descriptor file to match the realSize as reported in the vmware.log.

Before change:

# Extent description
RW 2424307712 VVOL "vvol:12345######################7890A/rfc123.1234####-####-####-####-########9000/hard_disk.vmdk"

After Change: Replace the hard disk size in the descriptor to the realsize (2422362112) as per the example:

# Extent description
RW 2422362112 VVOL "vvol:12345######################7890A/rfc123.1234####-####-####-####-########9000/hard_disk.vmdk"

f. Identify the virtual machine ID using the command: vim-cmd vmsvc/getallvms | grep -i <virtual_machine_name>

g. Reload virtual machine using the commandl: vim-cmd vmsvc/reload <vmid>