At some point as a SQL Server DBA, you have to learn how to install and configure a SQL Server Cluster. I personally haven't dealt with a SQL cluster since SQL Server 2000, and I've never had to install one from scratch, so I've decided to jump in feet first and put the time in to learn how to do this. There are already a few great primers on how to build a Windows Cluster using Microsoft Virtual Server and a Shared SCSI Bus for clustering.
Setting up a SQL cluster under MS VS2005 R2 Part1
A few weeks back I bought a used server from Ebay, a DL580 with 4x3.0Ghz Xeon MP processors, 16GB RAM, and 4x73GB U320 15K drives as a play server. It set me back just short of $700 shipped which is decent for the power it packs. The only problem I have with it is that the Xeon MP processors are x86 only, and don't support Hardware Virtualization, but for the price I still consider it a deal. I've faced a few problems in getting this server configured to be a Virtual Machine Host in the last few weeks, all leading me to one great conclusion. I DON'T HAVE A CLUE WHAT I AM DOING OUTSIDE OF SQL SERVER.
I can regurgitate Best Practices and dictate how I want servers configured to run SQL Server on all day long, and luckily (unluckily for my own experience) I work with a server team that just takes my specs and provides me a server running as requested which I then install, configure, and administer SQL Server on. I fully understand the ins and outs of what makes SQL Server run, but I've never actually configured a RAID Array, iLO card, or built a server from the ground up (when my laptop/desktop have problems I hand them over to be fixed, its the way things work where I am currently).
So now that I have demonstrated my incompetence publicly, stay tuned while I work through configuring a ESXi host with a OpenFiler iSCSI appliance as a iSCSI target for a Windows 2008 and SQL 2008 clustered install. If you are interested in building your own test clustering environment for next to nothing I'll be blogging my progress while I progress in this little project.
For this intro post, let me first begin by explaining why I chose to work with ESXi as my virtualization platform over VMware Server or Microsoft Virtual Server (HyperV is out because it requires x64 and hardware virtualization from what I have read). I started out installing Windows Server 2008 Enterprise and Virtual Server 2005 Enterprise to begin building my cluster when I hit a snag. Windows 2008 Server doesn't support shared SCSI Bus for clustering, I would have to use Windows Server 2003, and I want to play on the latest and greatest, which left iSCSI for my quorum disk. One problem I had running Windows Server for my host OS is that it was using a fair amount of my system resources for the host OS to be running.
I took a look at the virtualization platforms available, and found the VMware offers ESXi for free which has a very small foot print, < 300MB installed for its software hypervisor. My older brother had mentioned a free iSCSI target called OpenFiler a while back, so I did a search and there is a free appliance that can be run in ESX that is almost plug and play out of the box to create an iSCSI target. This more or less is what lead me to ESXi. I tried both VMware and Microsoft Virtual Server and found that management was clunky through the web, and since we use ESX at my current job, and I am pretty familiar with the Virtual Infrastructure Client, ESXi just made the most sense.
My other big snag I hit was more of a logistics problem with my house. I have FIOS Internet Access which is high speed over Fiber and my router, wireless router, and switch are in my living room since FIOS comes in on the cable wires for digital TV. My home office happens to be on the other end of my house. So I needed to run a cable across my house to add a new server to my network since it doesn't have built in wireless; or did I? The power of Twitter came my rescue and a quick question led to information that I could use an older wireless router to create a bridge wirelessly to my existing wireless network. This required hacking my old WRT54G Linksys router with a Linux Bin file which I found on the following site:
After spending an entire night expecting that I had "bricked" my old wireless router (ie, destroyed it and turned it into a paper weight) I finally got it configured as a bridge that forwarded DHCP/DNS/Networking to my primary router in my living room. What's better, it actually gets a better signal than my laptop/desktop wireless cards do in the office, and I get better connectivity by hooking them into the switch built into the router than working wirelessly.
Tonight I downloaded ESXi, burned it to a CD and had it installed and running on the server in under 20 minutes. Once this is done and the server restarts, getting started is really simple, just connect to the ESX host IP Address in a web browser and you can download the Virtual Infrastructure Client from the server and begin managing and creating virtual machines:
In the next post, I'll cover creating and configuring the iSCSI target with an OpenFiler Appliance. After that Installing the first node of the cluster and configuring the iSCSI initiator in Windows Server 2008, followed by installing the second node. (At least that is my plan)
Stay tuned for how it progresses.