Thursday, July 31, 2008

VMWare Server Remote Console problems

Common situation

You have a VMWare Server 2.0 RC1 box (let's call it vmhost) that's being used as a sandbox and isn't allowed to be added to the primary company domain that everyone uses. Consequently it's set up in its own workgroup using DHCP.

Known Problem

The default url to access VMWare Server would be https://vmhost:8333/. However launching the console within Web Access by clicking the picture of the overlapping boxes will result in the following error:

Error opening the remote virtual machine vmhost: The host name could not be resolved.

VMWare Commentary

This is listed as a known issue in the release notes:

On Windows, the VMware Server desktop and Start menu shortcuts use the NetBIOS name in the connection URL. This might cause VI Web Access to fail to connect to VMware Server. VMware Remote Console connections might also fail, with the error Error opening the remote virtual machine machine_name: The host name could not be resolved.

Workaround: Enter the correct host name as the Fully Qualified Domain Name (FQDN) when prompted by the Windows installer. Or, if the URL specified in the shortcut does not work, use the correct host name, IP address, or localhost, as appropriate, in the connection URL. You can also manually enter the short name and the FQDN, or localhost, in the /etc/hosts file.

For the situation described, the IP address isn't static and the FQDN is not defined in DNS. Therefore none of this will work.

Workaround

Create an ASP page on the server including the following:

<a href="https://<%=Request.ServerVariables("LOCAL_ADDR")%>:8333" target="_blank">VMWare Server</a>

This will interrogate the server for the local IP address and construct a url that will work for both Web Access and Remote Console.

Edit: corrected the asp code which got messed up by unescaped characters. "Sorry about that, chief"

Tuesday, July 22, 2008

Classic ASP on IIS7 (for IIS6 old farts)

So you've got a shiny new Vista or Windows Server 2008, and now you want to create a test site with one classic asp page.

The problem is, if you're like me you had no idea how to navigate around the new UI. I had assumed

  • Roles = security
  • Features = bugs I'm insisting are by design
But it turns out I was soooo IIS6 in my thinking. I had to pull my head out of 2003 to understand.

Installing IIS7

  • Start Menu:Administrative Tools:Server Manager
  • Find the Roles Summary section
  • Add Roles:Web Server (IIS)
  • Follow the wizard and it's done. Web Server (IIS) will show up as an installed role in the Roles Summary
Adding ASP etc

  • Click Web Server (IIS)
  • Find the Role Services section
  • Click Add Role Services
  • Check Application Development (or you can just select ASP if that's really all you want)
  • Complete the wizard and you're done. Application Development including ASP will show up as installed role services

Using Classic ASP in IIS7

  • Start Menu:Administrative Tools:Internet Information Services (IIS) Manager
  • Expand the server
  • Select Application Pools. Look! There's a Classic .NET AppPool ready for your use
  • Select your site
  • Click Basic (or Advanced) Settings in the right panel
  • Select the Classic App Pool

Troubleshooting Errors in Classic ASP

  • Start Menu:Accessories:Command Prompt
  • %windir%\system32\inetsrv\appcmd set config -section:asp -scriptErrorSentToBrowser:true
  • This turns on detailed error messages

Congratulations, you've turned a hybrid into a Fred Flintstone car!

Thursday, July 17, 2008

Happy 1st anniversary, blog

Or personal (but heavily sanitised) technical note diary or whatever...

Today someone asked me how long I've been writing to this blog and I got a surprise to find it's been exactly one year since my first article.

Let's see who's reading today by throwing in a few search terms on topics I've covered: wherescape businessobjects cognos oracle microsoft windows sql server p2v vmware db2

Thanks to everyone for searching, visiting and groaning!

Setting up an old Proliant for virtualization

I'm configuring an old DL580 G3 for virtualisation - both MS and VMWare. I blithely assumed it would have hardware virtualization, so I installed Windows Server 2008 with a view to using Hyper-V. Unfortunately I couldn't add the role.

Hyper-V cannot be installed. Server Manager has detected that the processor on this computer is not compatible with Hyper-V. To install this role, the processor must have a supported version of hardware-assisted virtualisation, and the feature must be turned on in the BIOS.

I had enabled VT ("Intel Hardware Virtualization") and XD Bit ("In-Memory Execution Prevention" in Advanced Settings) in the bios and powered down fully. (note to self: Ctrl-S followed by F9 to get to bios)

Securable, Intel Processor Identification Utility & VMWare Processor Checker all gave the thumbs down on hardware virtualisation support for the aging Xeons. Desperate for a positive answer, I almost went into the server room with vt.iso burnt onto a cd but decided I had to give it up as I had plenty enough expert opinions.

What now?

  • XenServer also requires VT.
  • VMWare ESX does not, but I want to use MS as well.

So I installed

  • Virtual Server 2005 R2 SP1 - 64 bit
  • VMWare Server 2.0 RC1 - unspecified, claims to support 64 bit VMs but installed to Program Files (x86) so guessing it's not

I followed Virtual PC Guy's instructions for setting up IIS, and after this Virtual Server installed with no problems.

VMWare Server had trouble with the url for opening up remote consoles. This is because the host server isn't part of the domain I'm on, so the hostname wasn't always available. This situation was easily worked around by using the ip address in the url (https://a.b.c.d:8333/ui) to login to VMWare Infrastructure Web Access.