Tuesday 19 February 2008

SoftGrid error code: xxxxxx-xxxxxx0A-20000194

Just had this error when accessing SoftGrid applications and not obvious how to resolve it. A "Launch Failed" error occurs with an error code ending 20000194. On further investigation the error was only occurring when the client was talking to one of the two NLB SoftGrid servers.

According to http://support.microsoft.com/kb/930614 one of the causes for the 20000194 error is that "The path or the .sft file name that is specified" is invalid and that we should look at the sft-server.log on the SoftGrid Virtual Application Server (normally in "C:\Program Files\Softricity\SoftGrid Server\logs")

The sft-server.log for the problem server showed "File not found: C:\Program Files\Softricity\SoftGrid Server\content\.......sft" and "Unable to open C:\Program Files\Softricity\SoftGrid Server\content\.......sft"

The path "C:\Program Files\Softricity\SoftGrid Server\content\" for our setup where we have the SoftGrid content set as "D:\SoftGridContent\" (specified during setup), was incorrect.

Nowhere in the SoftGrid management console was I able to find the SoftGrid content location but a search of the registry on the offending server showed the following key to be incorrect:

HKEY_LOCAL_MACHINE\SOFTWARE\Softricity\SoftGrid Server\CurrentVersion
SOFTRICITY_SOFTGRID_CONTENT_DIR = D:\SoftGridContent\

Once this was changed to the correct content location, and the SoftGrid Virtual Application Server service restarted, all was ok.

How this had come to be incorrect, I'm not sure but we did recently move the SQL database so perhaps this had confused SoftGrid and caused the setting to default to C:\Program Files.

And to answer the question why SoftGrid uses a local path such as D:\SoftGridContent\ for its content directory, this is because this is the part of SoftGrid (the .sft stream) which is served out as an RTSP stream by the Virtual Application Server so only the server needs to be able to see the content location. In contrast, the .ico and .osd files need to be accessible over the network via UNC or HTTP as this is what the client needs to know about where to find the application.

Thursday 14 February 2008

VMware Storage VMotion from the VI Client GUI

You might have heard that VMware were bringing out the ability to migrate ESX VMs between storage areas (e.g. to different SAN LUNs or local disks) whilst running. Good news is that it part of ESX 3.5: http://www.vmware.com/products/vi/storage_vmotion_overview.html

Bad news is that is that Vmware haven't integrated the functionallity into their Virtual Infrastructure Client, however a clever person at LostCreations has created a plugin: http://www.lostcreations.com/code/wiki/vmware/viplugins/svmotion

To use this fantasic tool, you'll need servers running ESX 3.5 and to install the LostCreations SVMotion plugin for Virtual Infrastructure Client following the installation instructions on: http://www.lostcreations.com/code/wiki/vmware/viplugins/svmotion

(you don't need to install the VMware Remote CLI which is required for "manual" storage vmotion)

Have tested and works a treat with no interruption to the VM during migration.

Friday 8 February 2008

Upgrading a Server 2008 RC Server Running Exchange 2007 to RTM

Since my little home server was starting to get a bit tired I was really excited about installing Windows Server 2008 on my new machine... only it in RC at the time. Me being me, I went for it and got Exchange 2007 up and running but what to do when the full Windows Server 2008 RTM product comes out? Will Exchange 2007 break?

Well thankfully not much. I have memories of repairing Windows 2000 and 2003 servers and having to re-install Exchange after the server OS or IIS was repaired - see http://support.microsoft.com/kb/320202. But firstly I'll breifly mention how the OS is upgraded to RTM.

"Upgrading" the OS

"Upgrading" the OS to the RTM version is quite a simple and relatively pain-free process. Simply autorun the DVD and choose the option to upgrade. One side note here is that I'd opted for a 20 GB OS partition thinking this would be ample for Server 2008... well its not! On a base install with not much more than Exchange 2007 installed the 20 GB OS drive only had 1.9 GB free before the upgrade (even with the Exchange install on separate partition) and Windows setup didn't like this so I had to opt for installing Acronis and resizing the OS drive to 40 GB.

Anyway, with the disk space issue resolved, the "upgrade" option becomes available allowing you to upgrade to the RTM version of Server 2008. I had some issue with it not accepting the product key at this stage with a vague "setup had encountered an error" message but it worked fine without a key and I was able to enter the key and activate Windows after the upgrade was complete.

Repairing Exchange

So back to Exchange. As I was saying, after the OS upgrade, Exchange was pretty well still intact with all Exchange services running happily and the mailbox store mounted. The only thing I found didn't work was Outlook Web Access (OWA) which failed with the .NET error "System.Management.ManagementException".

Now you can't just run a repair of Exchange 2007 through the setup GUI since all of the options are greyed out, so into command prompt (running as Administrator of course) and setup /? gives us lots of options, including setup /mode:uninstall /role:ca which is one of the commands needed to reinstall the Client Access Server (CAS) role and repair OWA.

Reinstalling the CAS Role

To repair OWA we need to reinstall the Exchange 2007 CAS Role using the command line setup:

Note: If you are running ForeFront for Exchange you'll need to stop all of the ForeFront (FSC) services before running setup. For my server I disable the FSCController and rebooted. This prevented any of the ForeFront services starting and also stopped the Information Store starting during the upgrade.

To remove the CAS role:

E:\Software\Microsoft\Exchange 2007 with SP1>setup /mode:uninstall /role:ca

Welcome to Microsoft Exchange Server 2007 Unattended Setup

Preparing Exchange Setup

The following server roles will be removed
Client Access Role

Performing Microsoft Exchange Server Prerequisite Check

Client Access Role Checks ......................... COMPLETED

Configuring Microsoft Exchange Server

Client Access server role ......................... COMPLETED
Removing Exchange Files ......................... COMPLETED

The Microsoft Exchange Server setup operation completed successfully.

To reinstall the CAS role:

E:\Software\Microsoft\Exchange 2007 with SP1>setup /mode:install /role:ca

Welcome to Microsoft Exchange Server 2007 Unattended Setup

Preparing Exchange Setup

The following server roles will be installed
Client Access Role

Performing Microsoft Exchange Server Prerequisite Check

Client Access Role Checks ......................... COMPLETED

Configuring Microsoft Exchange Server

Copying Exchange files ......................... COMPLETED
Client Access server role ......................... COMPLETED

The Microsoft Exchange Server setup operation completed successfully.

And finally an IISReset just for good measure:

E:\Software\Microsoft\Exchange 2007 with SP1>iisreset

Attempting stop...
Internet services successfully stopped
Attempting start...
Internet services successfully restarted


One last thing to note is that if you disabled the ForeFront services prior to reinstalling the CAS role you'll need to set the ForeFront services back to "manual" and restart all of the ForeFront and Exchange services before OWA will work or OWA will give you an error:

Exception
Exception type: Microsoft.Exchange.Data.Storage.ConnectionFailedTransientException
Exception message: Cannot open mailbox

Finally I mentioned the Microsoft article http://support.microsoft.com/kb/320202 earler which I'd had to use several times on Exchange 2000 / 2003 installations and its worth noting that Microsoft have updated this article for Exchange 2007 and include the process above and and some additional commands to run (step 4 at the end the MS article) if you have and Exchange 2000 / 2003 in your organisation.