We currently run a couple of production SQL Server clusters, the trouble for me is that they are very stable, I do not have to do much to maintain availability. to improve my Clustering knowledge I am taking a 2 phased approach. Since I learn best by doing, on top of reading up on the theory I am going to build a two node windows 2003 cluster (virtualised) I am going to install SQL 2005 on top of it.
I was lucky that a few things went wrong and I learned a lot doing the install. The most important thing I learned do not attempt to install a SQL Server Cluster using RDP. Make sure all RDP connections are closed before starting the install and install from the console. I do not know why this is an issue, I must investigate further??? The error messages returned talked about Error message saying the native client will not install and No process is on the other end of the pipe. troubleshooting both of these, in the end it was RDP that was causing the issues.
I used VMware to build a 2 node windows 2003 cluster and I installed a SQL Server 2005 Developer Edition cluster on top of this. The main documents I consulted during the install were
|SQL 2005 Clustering White Paper||https://www.microsoft.com/downloads/en/details.aspx?familyid=818234dc-a17b-4f09-b282-c6830fead499&displaylang=en|
|Windows 2003 Cluster White Paper||http://technet.microsoft.com/en-us/library/cc778252%28WS.10%29.aspx|
Following this documentation, these are the notes I made to assist me with future installs.
- Setup a single Virtual Machine using a standard configuration but add an additional NIC for the private heartbeat
- Install Microsoft Windows Enterprise Edition with all applicable updates on both nodes, keeping both configurations identical. When the setup completes
- Configure networking for both the LAN and the Private heartbeat NIC’s
- Under Control Panel > Network Connections > Advanced Settings >
- Configure the binding order, the LAN NIC should come first
- Configure the private NIC
- Disable everything except TCP/IP
- Set the duplicity to half / 10mb’s –reliability over performance
- Use a separate class of network to public
- FOR TCP/IP have no default gateway, no DNS, disable NETBIOS
- Power off Node1
- Within VMware Clone Node1
- Turn on the cloned Node1 which becomes Node2
- Change the server name and the assigned IP addresses
- Add Node2 to a domain
- Turn on Node1
- On both nodes run ipconfig /all and complete a quick comparison between nodes
- Add Node1 to domain
- A minimum of 3 shared disk are required (Quorum, MSDTC, SQL)
- Add the shared disks to Node1, to do this the disk must first be zeroed out.
- Use PUTTY to logon to the Server console and run vmkfstools –w diskname.vmdk
- When adding the disk there is a requirement to use a new SCSI controller which is set to LSI Logic, with the SCSI bus sharing set to Virtual.
- Add the disks to Node2 following the same procedure
- Power off both nodes
- Power on Node1 and add the disks through disk management and DISKPART setting the partition alignment.
- Verify the disks in window’s explorer – add txt document edit and delete
- Power off Node1
- Power on Node2 and Test the disks
- Power off Node2
- Power on Node1
- Ensure to have
- IP address for Cluster and a cluster name
- A domain account which has local Admin rights on Node1 and 2
- from Cluster Administrator launch cluster setup wizard
- When the setup completed review the cluster configuration log file C:\WINDOWS\system32\LogFiles\Cluster\clcsfsrv.log
- power on Node2
- From Node1 add Node2 using Cluster Administrator add node
- Test that failover works between both nodes.
- From Cluster Administrator
- Set the Network Priority. Give private priority
- Configure Private (heartbeat) for Private only
- Public (LAN) for mixed
On both node1 and node2
- Enable MSDTC http://support.microsoft.com/kb/817064
- Configure MSDTC http://support.microsoft.com/?id=301600
- Ensure MSDTC will failover for both nodes