Vmware Server 2 Web Access Connection Loss (vmware-hostd crash) Workarounds
Summery of Issue
With upgrading to RHEL 5.4, CentOS 5.4 and Ubuntu 9.10, the latest 2.x.x versions of VMware Server are having serious Web Access GUI connection failures, specifically vmware-hostd crashing repeatedly. This has been found with VMware Server 2.0.0, Vmware Server 2.0.1 and VMware Server 2.0.2. VMware Server 2.x.x was stable in the previous revisions of the mentioned OS’s. Below are two solutions that “appear” to make for a stable vmware-hostd process. You are advised strongly to satisfy your own assuredness of the stability of vmware-hostd using these solutions before deployment to a mission critical environment.
Both solutions do not require you to stop all vmware related processes on the host server. The following steps assume vmware-hostd has crashed and left VMware clients still running.
Verify vmware-host Process has Failed
Note: If you get the below from the ps command you have another issue and this document is not for you.
root 10858 1 0 16:47 ? 00:00:02 /usr/lib/vmware/bin/vmware-hostd -a -d -u /etc/vmware/hostd/config.xml
root 11055 11026 0 17:02 pts/3 00:00:00 grep vmware-hostd
Regaining VMware Server 2 Web Access GUI Control
If you want to start the vmware-hostd process to manage your VMware Server 2 guest operating systems again you may do so with the following commands.
# /usr/lib/vmware/bin/vmware-hostd -a -d -u /etc/vmware/hostd/config.xml &
[1] 11139
# <hit return/enter>
[1]+ Done /usr/lib/vmware/bin/vmware-hostd -a -d -u /etc/vmware/hostd/config.xml
# ps -ef | grep hostd
root 11140 1 22 17:13 ? 00:00:01 /usr/lib/vmware/bin/vmware-hostd -a -d -u /etc/vmware/hostd/config.xml
root 11155 11026 0 17:13 pts/3 00:00:00 grep hostd&
nohup is not needed in this instance as vmware-hostd runs as a daemon but the ampersand “&” is. Otherwise you’ll get logged output to the screen and when you exit your session vmware-hostd will stop too.
Solving the VMware Server 2 Web Access GUI Connection Failure
I recommend looking at both solutions. I’m currently employing solution #2 but I’ll leave that decision up to you. Both allow you to use the start/stop /etc/init.d/vmware script as you normally would and are permanent unlike the quick fix above to get the vmware-hostd process up and running again. Again with both solutions you need to determine if they, in fact, produce a stable VMware Server 2 environment before deployment to a mission critical environment.
SOLUTION #1 (libc-2.5.so reversion – RHEL 5.4 & CentOS 5.4)
Download and copy libc-2.5.so into place:
# rpm -Uvh –root=/tmp/ –nodeps ./glibc-2.5-34.x86_64.rpm
# mkdir /usr/lib/vmware/lib/libc.so.6
# cp /tmp/lib64/libc-2.5.so /usr/lib/vmware/lib/libc.so.6/libc.so.6
Edit /usr/sbin/vmware-hostd adding the following export command just before the last line in the script as follows:
export LD_LIBRARY_PATH=/usr/lib/vmware/lib/libc.so.6:$LD_LIBRARY_PATH
eval exec “$DEBUG_CMD” “$binary” “$@”
SOLUTION #2 (Circumventing vmware-hostd library wrapping script – RHEL 5.4, CentOS 5.4 & Ubuntu 9.10 )
Here is another method not requiring reverting to an older version of libc-2.5.so. The downside in this solution is it circumvents the dynamic library path building of the /usr/sbin/vmware-hostd script and executes the /usr/lib/vmware/bin/vmware-hostd binary directly. I do not know if this will present problems in the future or not.
Below is the snippet from the modified /etc/init.d/vmware. You can see I added a LD_LIBRARY_PATH statement, commented out the old exec call and added a new one.
vmware_start_hostd() {
export LD_LIBRARY_PATH=/usr/lib/vmware/vmacore:/usr/lib/vmware/hostd:/usr/lib/vmware/lib/libxml2.so.2:/usr/lib/vmware/lib/libexpat.so.0:/usr/lib/vmware/lib/libstdc++.so.6:/usr/lib/vmware/lib/libgcc_s.so.1:/usr/lib/vmware/lib/libcrypto.so.0.9.8:/usr/lib/vmware/lib/libssl.so.0.9.8
vmware_bg_exec “`vmware_product_name` Host Agent” \
“$vmdb_answer_LIBDIR/bin/vmware-hostd” -a -d -u “$vmware_etc_dir/hostd/config.xml”
#”$vmdb_answer_SBINDIR/vmware-hostd” -a -d -u “$vmware_etc_dir/hostd/config.xml”
}
Restart VMware Server 2
If you don’t have critical guest OS’s running you can stop the guests via the VMware Server 2 Web Access GUI and restart VMware:
Stopping VMware autostart virtual machines:
Virtual machines [ OK ]
Stopping VMware management services:
VMware Virtual Infrastructure Web Access
VMware Server Host Agent [ OK ]
Stopping VMware services:
VMware Authentication Daemon [ OK ]
VM communication interface socket family: [ OK ]
Virtual machine communication interface [ OK ]
Virtual machine monitor [ OK ]
Bridged networking on /dev/vmnet0 [ OK ]
Host network detection [ OK ]
DHCP server on /dev/vmnet1 [ OK ]
Host-only networking on /dev/vmnet1 [ OK ]
DHCP server on /dev/vmnet8 [ OK ]
NAT service on /dev/vmnet8 [ OK ]
Host-only networking on /dev/vmnet8 [ OK ]
Virtual ethernet [ OK ]
Starting VMware services:
Virtual machine monitor [ OK ]
Virtual machine communication interface [ OK ]
VM communication interface socket family: [ OK ]
Virtual ethernet [ OK ]
Bridged networking on /dev/vmnet0 [ OK ]
Host-only networking on /dev/vmnet1 (background) [ OK ]
DHCP server on /dev/vmnet1 [ OK ]
Host-only networking on /dev/vmnet8 (background) [ OK ]
DHCP server on /dev/vmnet8 [ OK ]
NAT service on /dev/vmnet8 [ OK ]
VMware Server Authentication Daemon (background) [ OK ]
Shared Memory Available [ OK ]
Starting VMware management services:
VMware Server Host Agent (background) [ OK ]
VMware Virtual Infrastructure Web Access
Starting VMware autostart virtual machines:
Virtual machines [ OK ]
As more information on this issue becomes available this post will be updated. Please post your findings too.
This information was generated by my experimentation and the helpful posts of the VMware Community, reference: http://communities.vmware.com/thread/229957?tstart=0








