VMware Cloud Community
tanktarta
Contributor
Contributor

VMs wont start after patch to 5.1, Patch ESXi510-201402401-BG

Hi,

We are a software house who distribute our software as virtual machine images. Many of our customers use ESXi, but anybody who has applied this patch can no longer boot their VMs. Our support team have also reproduced the problem.

As soon as ESXi510-201402401-BG is applied, VMs will fail with :-

Failed to start the virtual machine.

Module DevicePowerOn power on failed.

Unable to create virtual SCSI device for scsi0:0, '/vmfs/volumes/51dc3e67-4db9d62e-8c42-94de800ffd2a/Nervepoint 1.2 Directories/Nervepoint 1.2 Directories-000002.vmdk'

Failed to create Virtual Device. Heads 255 or Sectors 1529 per track is not supported.

These virtual machines are built using vmbuilder. We have been happily using this software for years, and although it is a little out of date, it has worked well. We have not changed any configuration, and old builds also fail, so we are pretty sure this is nothing we have done.

Any pointers would be much appreciated.

Brett

Tags (4)
0 Kudos
6 Replies
DanielOprea
Hot Shot
Hot Shot

Hello,

The images of the VMs network adapter model have?

The patch is for the VM using adapters E1000/E1000E.

The images of the VMs are created with that product? You create a Virtual Center and exported to a file ova?

PLEASE CONSIDER AWARDING any HELPFUL or CORRECT answer. Thanks!!
Por favor CONSIDERA PREMIAR cualquier respuesta ÚTIL o CORRECTA. ¡¡Muchas gracias!!
Blogs: https://danieloprea.blogspot.com/
0 Kudos
tanktarta
Contributor
Contributor

Hi, thanks for the response.

Yes, the images do use the E1000 adapter.

The images are created using the Ubuntu's "vmbuilder" (link in original post). This tool can output to a number of formats for a number of different hypervisors. In our case, it outputs OVA files that contains a virtual disk files and configuration appropriate for ESXi

The contents of the OVA are thus :-

nervepoint-1.2-BETA3-esxi-disk1.vmdk (382.8 MB)

nervepoint-1.2-BETA3-exsi-disk2.vmdk (83.4 MB)

nervepoint-1.2-BETA3-esxi.ovf

nervepoint-1.2-BETA3-esxi.mf

The OVF file contains :-

[XML] Nervepoint OVF - Pastebin.com

The images are automatically built by vmbuilder on an Ubuntu host which has not been updated or changed in any other way for nearly two years.

0 Kudos
DanielOprea
Hot Shot
Hot Shot

Hello

Is vital that the VMs have the E1000 adapter?

The E1000 adapters are very obsolete and give many connectivity problems.

I recommend you put vmxnet3 cards.

Look at this KB

PLEASE CONSIDER AWARDING any HELPFUL or CORRECT answer. Thanks!!
Por favor CONSIDERA PREMIAR cualquier respuesta ÚTIL o CORRECTA. ¡¡Muchas gracias!!
Blogs: https://danieloprea.blogspot.com/
0 Kudos
admin
Immortal
Immortal

"Unable to create virtual SCSI device for scsi0:0, '/vmfs/volumes/51dc3e67-4db9d62e-8c42-94de800ffd2a/Nervepoint 1.2 Directories/Nervepoint 1.2 Directories-000002.vmdk'" --

1. This indicates the VM is running on snapshots, Is you appliance support snapshots?

2. What is the size of the snapshot?

"Failed to create Virtual Device. Heads 255 or Sectors 1529 per track is not supported."

As far as i understand , this error looks like the vmdk has grown beyond the supported limit by the host version. Let me know the size of Nervepoint 1.2 Directories/Nervepoint 1.2 Directories-000002.vmdk.

Better can you copy past the output of the command ls -ltrh from ESXi ssh session?

0 Kudos
craw4d
Contributor
Contributor

I had this same issue and was able to resolve it in the following way:

1. Run VMWare vCenter Converter and convert the powered down (obviously bc it won't boot) to VMWare Workstation 8.  I did this on my vCenter machine to speed things up.  It writes the workstation files locally.

2. Once the conversion completes, run vCenter Converter again.

3. Convert the Workstation 8 machine you just created to a Virtual Infrastructure Machine (VIM) pushing it BACK to ESX.

4. Once this is complete, edit the machine and fix any NIC changes (it lost which network to use for me).

5. Power on the machine.  Voila!

0 Kudos
kchitrapu
Contributor
Contributor

Prior to this patch, ESX 5.1 did not check values virtual disk geometry. OVA's built using vmbuilder worked fine. You can open vmdk file from an OVA and find a disk database header section. It will look something like this:


#DDB

ddb.geometry.cylinders = "63"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "2549" 
ddb.adapterType = "lsilogic"
ddb.geometry.biosCylinders = "63"
ddb.geometry.biosHeads = "255"
ddb.geometry.biosSectors = "2549" 
ddb.toolsVersion = "2147483647"


Typically sectors (s) per track should be 63, heads(h) 255. Cylinders (c) calculated = DiskSizeInBytes / (s * h)

In our case, above vmdk file built using vmbuilder worked fine on v5.1. After upgrade to v5.1.0 2583090, power on of a vm with above vmdk file failed with an error "Failed to create Virtual Device. Heads 255 or Sectors 2549 per track is not supported". If you want to fix an existing vm deployed from ova, open and edit vm's vmdks. Fix is to set sectors to 63. Replace cylinders with what is sectors ( 2549 in the above vmdk).  The new vmdk on v5.1.0 2583090 will look like this:

#DDB

ddb.geometry.cylinders = "2549"
ddb.geometry.heads = "255"
ddb.geometry.sectors = "63" 
ddb.adapterType = "lsilogic"
ddb.geometry.biosCylinders = "2549"
ddb.geometry.biosHeads = "255"
ddb.geometry.biosSectors = "63" 
ddb.toolsVersion = "2147483647"

If you want to fix the OVA at build time, bug is in vmbuilder. Unless you want to change code (/usr/lib/python2.7/dist-packages/VMBuilder/plugins/vmware/vm.py) a quick fix is to change DDB section in /etc/vmbuilder/vmware/flat.vmdk.tmpl to:


# The Disk Data Base

#DDB

ddb.toolsVersion = "0"

ddb.adapterType = "$adaptertype"

ddb.geometry.biosSectors =  "63"

ddb.geometry.biosHeads = "255"

ddb.geometry.biosCylinders = "$sectors"

ddb.geometry.sectors = "63"

ddb.geometry.heads = "255"

ddb.geometry.cylinders = "$sectors"

ddb.virtualHWVersion = "4"

Rebuild OVA and deploy.

0 Kudos