Wednesday, May 28, 2008

Server 2008 Virtual Cluster with Hyper-V

I spent the last few days building out a virtual Server 2008 clustered environment in Hyper-V RC0 (I hvae not upgraded to RC1 yet) to do some prototyping for a project. After some playing, I found out you cannot create a shared vhd for multiple virutals to share. So the challenge is how do I setup a shared drive for my cluster quorum and storage. After some research, I found this blog entry (which is right-on, worked great!)

You basically need to create a virtual san on another virutal server using iSCSI to create your shared disks for the cluster. I had the StarWind software up and running in no time. NOTE: If you get an error that the StartWind software cannot obtain exclusive access to the drives in the VM, try closing windows explorer if you were browsing that drive. :) I was also able to install StarWind into a virtual running Server 2008 standard without any problems.

Another note...after getting everything up and running, I was adding a second cluster resource and needed a another cluster storage drive. After shutting down the virtual running the StarWind software, I added another SCSI vhd through the Hyper-V management console. Once I started the virtual back up, I was unable to format the new drive for use. I had to shutdown the StarWind service before I was able to format the drive, even though that drive was not yet added as a device in StarWind.

I am now in the process of setting up a couple of clustered MSMQ queues to use with WCF and some backend processing applications. As this comes together and hopefully works, I will post more information.

Wednesday, May 7, 2008

Team Foundation Server 2008 Hardware Migration

In the last two weeks, I have been through two TFS hardware migrations, neither of which went smoothly. The first migration involved moving to a new server on a new domain and the second was a new server on the same domain. Neither installation is that large so we have both TFS and SQL running on the same box.

First, I started by following the documentation from Microsoft

The part that did not work was moving the data tier. It would fail with a variety of errors. I checked the connection string web.config in the Services virtual under the Team Foundation Server site hosted on port 8080. It was right, but TFS would not work. After some digging around in the event log, I saw that it was still trying to connect to the old database server. Thinking I missed some steps, I started back over from the beginning and ran into the same issues again. I was not able to find any other connection string in any of the TFS website structure, so I started digging into the database. This sure was starting to feel like a BizTalk database recovery (which is much worse!!). In the TFSIntegration database, there is a table called tbl_database (just in case being in the Tables collection wasn't enough of a clue that it was a table). And there they were, serveral entries with the old database server name. So, I manually changed these to the new db server and tfs was working!!! After that, everyone was able to sync up their source just fine and we were working again. The team project sites were even working.

This same fix worked on both TFS migrations. After running into the same issue on the second migration, I did find this article, which made me feel a little better about our hack solution.

In the end, two successful migrations. In reading some of the issues others have run into, the migration doc needs some work. I still don't know why following the doc didn't work for the data tier and what the right way is (maybe this is it!).