«

»

Feb 20

Remote consoles for windows and linux

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. :D

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

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:

Windows hosts:

\Program Files\VMware\VMware Server\hostd\docroot\client\VMware-viclient.exe

Linux hosts:

/usr/lib/vmware/hostd/docroot/client/VMware-viclient.exe on linux hosts.

Or download it directly from the WebUI:

https://<server>:8333/client/VMware-viclient.exe

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:

https://10.10.10.10:8333

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?

Linux

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:

http://127.0.0.1:8308/ui

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:

./vmware-vmrc
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:
http://linxtrix.com/2008/03/15/vmware-d-bus-not-built-with-rdynamic-so-unable-to-print-a-backtrace/

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.
An 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
vmplayer as remote console, connecting to an ESXi host

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.
vmplayer as remote console, selecting your Virtual Machines
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.

vmplayer as remote console, powering on the virtual machines and using the console

3 comments

1 ping

  1. JMarler

    Looks like OSX is again the red-headed stepchild of the vmware world, once again. Managing vmware from OSX is very difficult, and spotty at best. Of course, running windows inside Fusion can fill the gap, but it’s a long way around for something so simple.

    Why can’t we get a simple browser plugin for OSX? Or, at least let us connect to a vmware server from Fusion? Obviously, vmware is committed to supporting OSX with Fusion, but why leave us in the lurch when it comes to the enterprise?

    The only way that I’ve found to use a native OSX client to control the console of a vmware guest is to enable the barely documented internal VNC server. The problem is that it doesn’t integrate into the control GUI, you have to manually configure each guest, and manually connect to each guest. What a pain!!!

  2. Wil van Antwerpen

    Well I do understand what you mean as I normally use exactly those setups in order to manage my VI hosts. Its not ideal, but it does work quite well really.
    Your remark is timely as there is certainly attention for this from VMware, see the thread here:
    http://communities.vmware.com/message/1178886

  3. Mardhanaya

    This may not be revelant but i figured i’d post this anyway. If you’re using ubuntu 8.10 you may be in for some issues with the network manager. For some unknown reason it stops functioning. You will need to manually set you’re resolv.conf with your ISP’s DNS servers. That file is located in /etc/network/resolv.conf

  1. Remote consoles for Windows and Linux | PlanetVM | Storage Informer

    […] Remote consoles for windows and linux | PlanetVM. […]

Comments have been disabled.