Microsoft Virtual Server Host Clustering on Domain Controllers
One of the projects I have been working on recently is to try and improve overall application availability, without spending a large sum of money. I’m constrained on the operating systems I can use (mainly restricted to Windows Server Standard Edition but some Linux too) and my budget is non-existent. So, after a bit of reading of what is and isn’t possible, I decided to investigate Microsoft’s Virtual Server in a host clustered environment.
Firstly, why would I look at host clustering rather than guest clustering? Surely you’d want to cluster guests for the most reliable and solid infrastructure? Yes, this is very true. However, I’m working in a very constrained environment. I have zero budget for new operating systems or applications and the applications I am using I can’t change – one is a legacy LOB application that is not cluster-able for example. In addition to this I already have the hardware necessary to cluster the hosts – two IBM Series x3550 boxes with SAS HBAs and a significant amount of RAM, attached to an IBM DS3200 SAS array with just over a terabyte of RAID 0+1 storage for VHDs.
Now, much of my experience with virtualisation has been with VMware’s Server and Virtual Infrastructure products and I was somewhat disappointed to learn that host clustering isn’t supported in VMware Server. Plus, as I don’t have a spare £8k knocking around (for two nodes of VIX and a VirtualCenter server) I couldn’t go along my preferred route of Virtual Infrastructure Enterprise (for VMotion and HA). However, if you are interested in clustering with VMware Server (i.e. you’re on a budget but you want to stay with VMware) you could check out VM6′s Virtual Server Ex product (over here) which allows you to do this. Be warned, in my environment this product completely failed to work and the documentation is very sparse.
So, after a bit of digging, I started to read up about Microsoft’s Virtual Server 2005 R2 and the host clustering option on that. Microsoft have very kindly provided a good how-to document (get it here) that will take you through the basics.
Unfortunately, things are rarely as easy as the documentation makes out. One complication for this project is that the two servers to be used as hosts are also acting as Domain Controllers and DNS servers for my network. Whilst this shouldn’t make any difference, it in fact did cause a few problems as I’ll explain as I go along.
Initially, everything seemed to be going swimmingly. I had my two servers set up identically, both functioning as Domain Controllers, DNS and DHCP servers. No problem. Getting Cluster Services set up was also a cinch – following Microsoft’s best practices (over here) I had this up and running in no time. I’m not going to go into this in detail – I’m assuming anyone reading this has got experience of setting up Windows servers and clusters.
Next up came installing Virtual Server. Now, following the instructions in the aforementioned white paper worked perfectly. I stopped the Cluster service, installed Virtual Server, and restarted. Great! That all seemed to work. The problem, however, comes with remote management. I’d deliberately not installed IIS on my Domain Controllers – I’m a big fan of installing only the bare minimum you need to achieve your results – and as such had planned to manage the installation remotely from another Virtual Server console. This is where the problems started – no matter what I did, I couldn’t connect remotely to this server. For the life of me I couldn’t work out why – and if you’ve got the same problem as me, I’m afraid I can’t help you, as I never managed to solve the problem. I got as far as working out that the problem is almost certainly related to the NETWORK SERVICE account – for domain controllers, this account has a much-reduced permission set to the defaults.
So after faffing around for a good few hours on this problem, I gave up and decided that I should install the management web site on my DCs. Installing IIS gave me a few problems – as my servers are Windows Server 2003 R2 SP2, Windows Setup was looking for a SP2 CD that didn’t exist (I’d added SP2 from the Microsoft Update site). Downloading the SP from the Microsoft site and extracting the SP into a folder (run the .exe file with a /x switch) solved this problem.
However, installing IIS then gave me another issue – one which Microsoft document in this knowledgebase here and that John Howard talks about on his blog. I have to say though, I fixed this differently – there’s another knowledgebase article, here that describes a similar scenario. Taking this article, I applied the changes to a Group Policy object for my Domain Controllers – I know in a few months time, if I ever come up against this issue again I won’t remember the exact procedure to fix it, so adding it to a Group Policy object and documenting this change should, in theory, stop it ever happening again.
Finally, installing the Virtual Server management website went smoothly – and I can now manage my servers!