Posts Tagged ‘vmware’

Unable to commit snapshots because files are locked.

January 5th, 2012 No comments

I recently had an issue where the backup software had left a snapshot on the vm, which wasn’t visible in the snapshot manager.  Usually to get rid of this you would just snapshot the machine again, and the process would re-create the missing links.  Deleting the snapshots would then take the machine back to its usual state, happy days.  However this time that didn’t work, I could create snapshots, but couldn’t then commit them, resulting in a few snapshots being overlaid, but not showing up in the snapshot manager.  This was on ESXi 4.1, the backup software was VEEAM 5.

I did a bit of searching online, and found a couple of ways to remove the file locks which were showing up when trying to commit the snapshots.  The first option I tried was simply to disable the backup software which I thought might have the lock on the files.  Because of the situation I was unable to reboot the VM that was running the backup software.  This might have worked, but I don’t know for sure.

Next was to restart the management agents on the host.  Given I wasn’t onsite I wasn’t able to go in through the normal console, and restart the agents, luckily you can do the following.

  1. Connect using the vSphere Client
  2. Clicky on the Configuration Tab
  3. Clicky on the Security Profile link
  4. Properties
  5. Remote Tech Support (SSH)
  6. Options
  7. Start
This then allows you to ssh into the box, best practice says this should be turned off again once you have completed what you want to do.  Once you are SSH’d into the machine you can run a script to restart all the management services.
/sbin/ restart
Once I did this I was able to the snapshot the machine, and commit the snapshots, for me this took quite a while as the initial failed snapshot removal had happened quite a while ago.  The progress bar in the vSphere client sits at about 95% for a very long time.  You can use the following command from within the ssh terminal to check on the progress…
watch “ls *.vmdk”  * This works in esx(i) 4.1
I have included a link below to a site which provides more information on the above, and also additional switches etc to show more useful information.

Adding Realtek 8111E NIC to ESXi install

October 11th, 2011 No comments

This was originally supposed to be how to update the ESXi ISO to allow for installation by USB to a machine with the Realtek 8111E NIC.  Having spent most of the day trying to get this working either as USB install or Network install, I’ve for the moment put the idea on hold.  Following the instructions available online and using the mkesxiaio script, I was able to install ESXi using USB, but as soon as I tried to use the OEM.TGZ file, the install would get to the reading the Kickstart config file, then erroring indicating autopart –firstdisk –overwritevmfs had no valid target.  Until I can find a solution for this I’ve used the following to get the Realtek enabled.


Things you’ll need –

  • Installed ESXi Server with a Realtek NIC
  • SSH client (Putty is my choice on Windows)
  • oem.tgz file from vm-help


Steps involved –

  • Copy the oem.tgz file to a location the esxi machine has access to (NFS share etc)
  • Enable SSH access to the ESXi box
  • cd to /vmfs/volumes/Hypervisor1
  • mv oem.tgz oem.tgz.ORIG
  • copy the new oem.tgz file to /vmfs/volumes/Hypervisor1
  • Restart the ESXi box.
  • You should now be able to add the Realtek to a vswitch
I’m sure there are other ways of doing this, but this has worked for me.  If you have other methods of creating either the Kickstart USB with the oem.tgz included, or copying the oem.tgz file to the machine, let me know in the comments.  Unless you need the SSH enabled I’d recommend disabling it again, after you’re done.




UPDATE – Something I later found which I now think is the root of my previous problems, when I use the above method to change the oem.tgz file, I lose access to the local datastore after a reboot.  It looks like there is something in the existing oem.tgz that is removed when I add in the new one.  I’m going to try to merge the two oem.tgz files, and see if this resolves the problem.


Creating a Bootable USB key for ESXi 4.1

October 6th, 2011 1 comment

I know I’m probably a bit behind the times here, given that v5 is already out, but I haven’t done my VCP4 exam yet so I’m still going through the motions for configuring my home lab.  Given I didn’t purchase CD/DVD drives for my lab machines and I haven’t set up a PXE environment yet, though I have plans to do this in the near future, I needed another way to set up the two boxes.  There are lot of examples of how this is done around the interwebs, I tried two methods, both work, though I needed a few modifications to the Windows option. The original information is linked below.


The Linux Option –

For those of you running a derivation of linux the follow instructions worked for me.  NOTE – these instructions are taken from Vallard’s Tech Notes, so credit is due there. 

Things you’ll need –

  • ESXi iso, available from VMware
  • A USB key (at least 512mb, though I don’t even think you can buy these anymore)
  • Linux Box (I used a Ubuntu 10.04 Server)
Steps –
  • Make a mount point and mount the ESXi iso.
mkdir /media/ISO
mount -o loop VMware-VMvisor-Installer-4.1.0.update1-348481.x86_64.iso /media/ISO
  • Make the USB bootable with a Win95 image.  You will need to check where the USB stick has been attached (mine was /dev/sdb)
fdisk /dev/sdb
d (delete all partitions)
n # new partition
p # primary partition
1 # 1 is the partition number.
1 # the first cylinder
<enter> # the size of the partition, I just used the full disk
a # toggle bootable flag
1 # make partition 1 bootable
t # change the type
1 # of partition 1
b # partition type W95 FAT32
w # write it out
  • Next we need to format the disk
mkfs.vfat -n BOOT -F 32 /dev/sdb1
  • Using syslinux we make the disk bootable
syslinux -s /dev/sdb1
dd if=/usr/lib/syslinux/mbr.bin of=/dev/sdb # this on in the disk itself (sdb) not the partition (sdb1)
  • Mount the USB and copy the ISO contents to the disk
mkdir /media/USB
mount /dev/sdb1 /media/USB
cp /media/ISO/* -R /media/USB
  • We don’t need the isolinux stuff…
rm -rf isolinux.bin
mv isolinux.cfg syslinux.cfg

The Windows Option –

For those running Windows the following worked for me.  This is largely taken from VMPros, though there was also some input from others with regards to the errors I received.

Things you’ll need –

  • ESXi iso from VMware
  • USB memory key
  • Windows Box
  • UNetBootin
  • Syslinux (I got it from Softpedia, but there are lots of other places)


Steps –

  • Connect the USB and start the UNetBootin software
  • Select Disk Image (towards the bottom), choose ISO, and browse to the location of the ESXi ISO
  • Confirm the USB Drive is selected as the destination, and that the correct USB drive is selected.
  • Click OK, and if you should receive an error click Yes to overwrite.
  • This got me as far as a USB disk that was bootable, however when I tried to install I received an error about  menu.c32 is not a COM32R image.  To get around this I had to copy the menu.c32 and mboot.c32 files from syslinux and replace the existing ones on the disk.  These files are located in the syslinux\com32\menu and \mboot folders.

The rest…

Which ever method you used we now have the problem of the ESXi installer looking for the CD, why… I don’t know.. but it will.  To get around this we need to use a scripted install.  Scripted installs are done using kickstart (originally from linux I’m told).  Though the ks.cfg files between Linux/ESXi aren’t compatible with each other.

First we need to tell the Installer to check the USB disk for the ks.cfg file.   A network location can also be used, but for what we are trying to achieve, we’ll use the USB.  Edit the syslinux.cfg file and add in the ks=usb section of the append vmkboot.gz line shown below.

append vmkboot.gz ks=usb --- vmkernel.gz --- sys.vgz --- cim.vgz --- ienviron.vgz --- install.vgz

And create the kickstart file ks.cfg

rootpw YourRootPasswordHere
autopart --firstdisk --overwritevmfs
install usb
network --bootproto=static --ip=<ip here> --gateway=<gateway here> --hostname=ssv-normandy --device=vmnic0 --nameserver=<nameserver here> --netmask=<netmask here>

And yes the host name is after the SSV-Normandy from Mass Effect… Love that game, but change it to whatever floats your boat.


Initially I was hoping to be able to target another USB stick for the installation, however this is not possible in ESXi 4, it is possible in ESXi 5 though.


Vallard’s Tech Notes
VM Pros
VMware KBs

Categories: ESXi, VMware Tags: , , , , , ,

My Virtual Playground (Another Shuttle whitebox build)

September 29th, 2011 2 comments

Having moved back to Australia from the UK, and deciding to start getting serious about virtualization, the only reasonable thing to do was put together a home lab… My Virtual Playground.  After reading about possible set-ups of many others I decided the Shuttle whitebox would be my best option.  The plan is to have a self building test platform which I can throw together from scratch using various PowerShell scripts, PXE installs etc, I’m not sure how successful this will be, but either way I should learn a lot while trying.  As the build comes together I’ll add more and more info on what I have done, and how I’ve done it.  The community for vmware has been so fantastic to me since I started working with vSphere, its time to give something back.


The Purchases –

2x Shuttle SH67H3 bare bones boxes

2x Intel i5-2500s @3.30GHz


2x Intel Dual Port nics (PT, I read that the ET if much better, but for my budget and setup the PT should be more than adequate)

2x 4GB USB Memory Sticks

Netgear GS108T

Thecus 4200eco (support iSCSI, NFS, CIFS, etc)

2x Seagate 1TB HDD’s, raid 5 in the Thecus


Currently the machine are all hooked up, there is still some networking LACP etc to be configured, which I’ll provide more details on later.