This happens to be my very first blog post with Pythian, and to kick this thing off, I would like to talk about building a Windows Server 2008 cluster.
As DBAs, we cannot separate ourselves from the grueling task of having to deal with the underlying operating system, especially as new versions come out. Running SQL Server also means understanding the operating system on which it runs. And since Windows Server 2008 has been released for almost a year now, a lot of customers are upgrading from Windows Server 2003 to this new version.
Installing SQL Server on a stand-alone server or member server in the domain is pretty straightforward. Dealing with clustering is a totally different story. The goal of this series of posts is to be able to help DBAs who may be charged with installing SQL Server on a Windows Server 2008 cluster.
The best approach is to always have an environment on which to run these tests. In my case, I run VMware Workstation 6.5 on my Windows XP laptop. Here are the steps that you need to take.
- Create two VMs running Windows Server 2008 Enterprise Edition or higherSince I am using VMWare Workstation, I’m limited to creating a 2-node cluster. In the past, you may have hacked the VMX files of both VMs to include a shared disk which you will use—you know, like creating a disk in VMWare and letting your VMs use the same disk, and changing some parameters in the VMX files. That might have worked in Windows Server 2003, but not anymore, as support for parallel-SCSI as a shared bus type has been dropped for Failover Clustering in Windows Server 2008.
- Create shared disks to be used by the cluster nodes.For creating clusters in virtual environments like the one I am doing, you can use the iSCSI Software Initiator to connect to external shared storage, which could either be a real physical hardware target or a software-based target for simple test clusters. I use Rocket Division’s StarWind Control iSCSI target for Microsoft Windows for emulating an iSCSI target appliance. This is more of like making the storage available over an IP network and it could be a physical device or an image inside an operating system.
Since I am only using my external hard drive as a storage device, I’ve decided to use an image inside a disk as the iSCSI target. In preparation for a clustered Windows Server 2008, I’ve created two disk images that will be shared across the two nodes. One is commonly known as the quorum disk, and the other to be used to store my application data. Using the
mkimagetool from StarWind, I created these disk image files; one, a 1GB diskimage file and another, 7GB.
mkimage -sparse f:iSCSIdisksquorumDisk.img 1G mkimage -sparse f:iSCSIdisksappDisk.img 7G
After creating the disks, you can now use the StarWind user interface to add them as devices, so that we can connect to them using iSCSI. Connect to the machine running StarWind, and provide the appropriate credentials (this is typically a user named
testwith a password of
testwhich you can change using the Edit Configurationoption).
- In the Toolbar, select the Add Device option.
- Go through the wizard on the Device type selection page. In the Select the type of device you wish to create section, select Image File Device and click Next.
- In the Select action type page, select Mount existing image, and click Next. This is because we already have the disk images that we need to use.
- In the Image File device parameters page, navigate to the path where you stored the disk images you created using
mkimage.exe. Check the Asynchronous mode and Allow multiple concurrent iSCSI connections (clustering) options.
- On the iSCSI target name page, enter any value in the Choose a target name (optional) field, and click Next. This is just to identify the iSCSI disk image for future reference, but it really isn’t necessary as we will be connecting to the iSCSI Targets using either an IP address or a DNS name.
- On the Completing the Add Device Wizard page, click Next to complete the process.
In the second of this series, we will configure our Windows Server 2008 cluster nodes and use these iSCSI targets as disks of the cluster.
So now, dear reader, we hope we have helped you figure out something you needed to know. It turns out that you can help us here at Pythian with something we need to know! If you are aware of a DBA requirement within your organization, salaried or consulting, please pop in your email address here:
We respect your privacy and will not share your address with any third party. As a thank you for just participating, we will enter you into a monthly draw for a year’s membership in the ACM, which includes access to 600 books from the O’Reilly Bookshelf Online, 500 books from Books24x7 and 3000 online courses from SkillSoft, including tons of courseware on Oracle, SQL Server, and MySQL.
11 Responses to “Building a Windows Server 2008 Cluster, Part 1”
Leave a Reply