ESX host boot stops at the error: VSD mount/Bin/SH:cant access TTY job control turned off
I was in panic.
Rebooting the host failed, giving me the same error.
I didn't want to re-install the host, because I had some Production Virtual Machines in the local storage, and wanted to solve it quick, as my maintenance window was almost over.
On the ESX console, you see the error:
VSD mount/bin/sh:can't access TTY; job control turned off.
The ESX host does not boot and drops into Troubleshooting (busy box) mode.
Looking into the /var/log/messages file, there was something similar to:
sysboot: Getting '/boot/cosvdmk' parameter from esx.conf
sysboot: COS VMDK Specified in esx.conf: /vmfs/volumes/4b27ec62-93ec3816-0475-00215aaf882a/esxconsole-4b27e9e3-20ee-69d7-ae11-00215aaf882a/esxconsole.vmdk
sysboot: 66.vsd-mount returned critical failure
sysboot: Executing 'chvt 1'
How to solve it:
This issue occurs if an ESX host cannot identify the esxconsole.vmdk file in which the service console resides.
1. Go to the console of the ESX host. After the error message, ESX drops into Troubleshooting (busy box) mode.
2. Find the .vmdk for the service console by running the command:
grep "/boot/cosvmdk" /etc/vmware/esx.conf
The output is similar to:
/boot/cosvmdk = "
/boot/cosvmdk = "/vmfs/volumes/4a14d968-88bf7161-700f-00145ef48f76/esxconsole-4a14d906-2f96-7956-7284-00145ef48f74/esxconsole.vmdk"
3. Make note of the
4. Verify that the files exist by running the command:
ls -al /vmfs/volumes/
The output is similar to:
drwxr-xr-x 1 root root 840 May 21 00:45 .
drwxr-xr-t 1 root root 2660 Oct 21 09:10 ..
-rw------- 1 root root 8095006720 Oct 26 15:37 esxconsole-flat.vmdk
-rw------- 1 root root 475 May 21 00:32 esxconsole.vmdk
drwxr-xr-x 1 root root 980 May 21 00:45 logs
5. Ensure that both the esxconsole-flat.vmdk and the esxconsole.vmdk files exist.
In my case, the esxconsole.vmdk file did not exist.
I troubleshoot using a modification to the following: http://kb.vmware.com/kb/1002511
All the step in this section are important !!!
a. Identify and record the exact size of the -flat file using a command similar to:
# ls -l esxconsole-flat.vmdk
-rw------- 1 root root 4294967296 Oct 11 12:30 esxconsole-flat.vmdk
Write down this number (4294967296) it could be different in your case, it is usually 8GB !
b. Rename the file, as all the valuable data is in this file !
# mv esxconsole-flat.vmdk esxconsole-flat_ORIG.vmdk
c. Use the vmkfstools command to create a new virtual disk:
# vmkfstools -c 4294967296 -a buslogic esxconsole.vmdk
Remember to use buslogic as the bus type.
d. Rename the new blank created disk file esxconsole-flat.vmdk
# mv esxconsole-flat.vmdk esxconsole-flat_BLANK.vmdk
e. Rename the old console disk to the new file
# mv esxconsole-flat_ORIG.vmdk esxconsole-flat.vmdk
Type exit, or reboot the ESX server.
You will be able to boot the server normally.
Later, you can delete the file esxconsole-flat_BLANK.vmdk
Problem solved !
If the esxconsole-flat file does not exist in step 5, you must re-install the ESX host to recreate the service console.
Original VMware KBs: