From the responses on the VMTN thread asking for a linux vCenter version it became very clear that there are a number of people who do not know about some of the features hidden and already available in some of VMware’s products. Now how can this be? I wrote a document “Web Access” about this several months ago, surely it must be common knowledge by now!
Ah.. You gave it a confusing name you say? I hear you shout, Well.. OK.. that is true. I suppose it didn’t help hiding this document under the VMware Server 2 documents either. But, and this is the major rub of this post, the VMware Server 2 console works for most of the other products like ESX/ESXi as well.
Lets walk you through this then.
Consoles in VMware Server 2
There are several ways in which you can connect to your Virtual Machines.
The following lists the currently known ways of doing so:
- Using a browser such as Internet Explorer 7 or Firefox 3
- Using the Virtual Infrastructure Client
- Using the browser plugin directly (no browser needed)
- Via VMware Player
Web Access is normally is accessible via: https://<fqdn>:8333/ui/
note: - <fqdn> stands for fully qualified domain name which is the same as your machine name coupled with the Domainname.
for example http://computername.example.com:8333/ui
This will give you access to the administration web interface which has a remote console.
Please note that Internet explorer 6 has been reported to _not_ work with Web Access.
Virtual Infrastructure Client
This is a windows application that you can use to manage your VMware server (and ESX/ESXi) hosts.
Depending upon the host OS, running VMware Server 2, this is installed in the following locations:
\Program Files\VMware\VMware Server\hostd\docroot\client\VMware-viclient.exe
/usr/lib/vmware/hostd/docroot/client/VMware-viclient.exe on linux hosts.
Or download it directly from the WebUI:
To connect the VI client you would enter the following for your host: https://<fqdn>:8333 or to give you an example, if your Hosts IP is 10.10.10.10 then you would type:
The additional port is required as you are not using port 443 by default.
Note – for ESX and ESXi just drop the :8333 for the end of the https://<fdqn>.
VI Client cli parameters
Command line parameter for single sign on
viclient -passthroughauth -s <server>:8333 Note - for ESX and ESXi the :8333 in not required
Troubleshooting VI Client access
Are you using a host based firewall on the host? If so did you add an exception?
Are all of the services running?
Is a vmware service listening?
netstat -tap | grep vmware-hostd | grep LISTEN
This should output a line containing “vmware-hostd”, this is correct for both VMware Server 2 and ESX based machines
One other thing you can try is to restart the webaccess service by:
/etc/init.d/vmware-mgmt restart (VMware Server 2) service vmware-mgnt restart (ESX Server)
which should give the following output:
Stopping VMware management services: VMware Virtual Infrastructure Web Access VMware Server Host Agent [ OK ] Starting VMware management services: VMware Server Host Agent (background) [ OK ] VMware Virtual Infrastructure Web Access
Windows (just VMware Server 2)
Is a vmware service listening?
netstat -an | find ":8333"
This should output a line containing vmware-hostd
Check if the VMware services are running. If they are running then have a look at your event log.
It may contain errors, such as:
The VMware Host Agent service terminated with service-specific error 4294967295 (0xFFFFFFFF).
There is a proxy service that takes the content on localhost from:
If the above doesn’t work, then you can try this as well:
Using the remote console directly
It is possible to open the remote console without opening a browser. The option offered by VMware Server is to create a shortcut on your desktop.
On linux it works like this: First login to web access and for the machine that you want to generate a shortcut for, click on the “Generate URL” option. Then change the option to “generate a shortcut” option and then instead of generating a normal URL, have it create an icon to your desktop instead. This will access the remote console in a different way and does not go through the browser.
For example on my linux host it created the following launcher:
home/<user>/.mozilla/firefox/<random>.default/extensions/VMwareVMRC@vmware.com/plugins/vmware-vmrc -h "<hostname>:8333" -M "16"
The values <random> have been changed by me to protect the innocent. The option -M “16” is used to identify the virtual machine number, so that will be different for you normally. If you remove this option, it will present you with a list of all the virtual machines for the host that you are logging in to. If you remove the -h “hostname:8333″ option you can enter the hostname as well, otherwise it is prefilled. The login screen mentions that you can use it to login to ESX as well.
I just verified that here and works nicely with an ESX3.5U2 server in the lab here…
Troubleshooting the remote console
So your remote console doesn’t work Let’s see if we can get that bit sorted somehow.
One possible reason for this is a missing dependency of some kind.
What happens if you run the launcher part of it in a terminal console, does it give you an error of some kind?
Usually this will return enough error information for you to find out why.
So far I’ve seen these 2 issues:
process 17001: Attempt to remove filter function 0xb532ba45 user data 0x83493b0, but no such filter has been added D-Bus not built with -rdynamic so unable to print a backtrace
Putting the error message into google brought up this little important piece of information:
Which meant that hald was not started.
starting it fixed that error.
Another issue from someone else showed that his remote console had the wrong credentials set on all of his files.
ls -alh on the plugin folder showed that little issue and he could solve it with
chown -Rf user.group VMwareVMRC@vmware.com/
fixed that for him.
Are you using DHCP?
Yes then try a fixed IP instead, or if you are testing on the host itself, try using the local loopback address: 127.0.0.1 instead of the normal IP address.
Are you on a wireless network and did your connection drop? Try having a look at: http://www.windowsnetworking.com/articles_tutorials/Disable-Media-Sense-TCPIP-Windows-XP.html and think about [installing the Microsoft Local Loopback adapter|http://support.microsoft.com/kb/839013] instead.
An alternative remote console: VMplayer
VMware player appears to have remote console functionalities built in.
For example you can call vmplayer like this from the command line:
vmplayer -h 10.10.10.10 -u "root" -p "password" "[datastore1] 2k3en/2k3en.vmx"
and it will connect to the host on the IP supplied and open up the remote Virtual Machine.
With the vmplayer on linux it even includes a virtual machine selector and login dialog, so in order to connect to a virtual machine that runs on a VMware Server 2 host you could use this:
vmplayer -h 10.10.10.10:8333
and then enter user id / password, select the VM that you want to take into control.. and use it. (see screenshots below for a better idea on this)
If you are connecting from a remote machine to a VMware Server 2.x host, then you need to open the tcp ports 8333 and 902 in order to use the console.
With the windows version of vmplayer, you’ll have to supply all of the parameters.
Although this VMTN post here VMplayer as Remote Console??? appears to suggest that you can get the same functionality as under linux by copying vmware-remotemks.exe from the plugin folder to the directory containing the player.
Here’s some screenshots from connecting to an ESXi host, using:
vmplayer -h 10.10.10.10
The :8333 port suffix is only needed for a VMware Server host, you can connect to a ESXi host by just entering the IP/hostname
After filling in your credentials (You can pass them on the command line as well, in that case the login dialog is skipped) you’ll have the option to select your virtual machine.
Again you can pass the machine to connect to or power on right from the command line.
After this you’ll get the normal vmware player interface and you can work with your virtual machine.
Power it off, resume, reset.. the same options as if you are running the virtual machine locally.