Faced the following problem while trying to instantiate multiple ESX VMs from one template.
The template contains one image, so all VMs are cloned from the same OS image.
Datastore is vmfs shared via SAN.
Very first VMs is created successfully, but all others are failed with the following error:
Fri May 22 13:24:09 2015 [Z0][TM][I]: DiskLib_Check() failed for source disk Failed to lock the file (16392).
[oneadmin@nebula ~]$ oneimage list
ID USER GROUP NAME DATASTORE SIZE TYPE PER STAT RVMS
5 oneadmin demogroup redhat6_64_mts ds-esx-tb- 1.5G OS No used 3
~ # ls -la /vmfs/volumes/102/a5e57dde34f0ea443512db1268823810
total 1527816
drwxr-xr-x 1 root root 420 May 15 12:58 .
drwxr-xr-t 1 root root 2520 May 19 04:45 …
-rw-r–r-- 1 root root 1562735104 May 22 08:24 disk.vmdk
~ #
As I can see from logs nebula uses ‘cp’ to make image clone, not snapshots.
It seems that ESX doesn’t allow multiple processes to lock and read one vmdk file.
So, Nebula cannot instantiate multiple VMs simultaneously from one image.
There is no useful informatoin in the log provided, could you change “-t 1” to “-t 15” again, launch several VMs, wait for the fail, and send us the oned.log file again?
This is going to be tricky to debug, since I cannot reproduce it and the clone operation from which you sent the output did work.
What I’m trying to ascertain is if the fail comes from the CDROM (copied using cp) or the image (copied using vmkfstools). Instead of intrusively setting debug, maybe the best way would be if you could perform the following test:
Launch VMs with CDROM and no image
Launch VMs without CDROM and the image
This way we can fund out if the cp is the culprit, and try to work around that, or if the vmkfstools is to blame.
i found your post / topic and it sounds a lot like the issue i am experiencing on our
OpenNebula implementation. Did you ever resolve your issue ?
Or did you have to “live” with -t 1 aka serial deployment" on your ESXI servers ?