Implmenting Windows Server Clustering, File Server Clustering, SQL Server Clustering
Implmenting Windows Server Clustering, File Server Clustering, SQL Server Clustering
Introduction
Administration, Windows April 23rd, 2008
What’s cluster
A cluster is a group of servers, consists of 2 or more servers, running and sharing resource one
another to working as a single system
and provide high avaiability of service for clients. The advantages of clustering are:
Microsoft Cluster Service (MSCS) is a software on Windows 2003 server which manage servers
to work together as a server cluster. With MSCS, applications and services on the server can be
switch their workloads to another server in case of failure. In order to enable this feature, you
need to have a shared storage connect to each server called quorum disk in the network. The
quorum must be either SCSI, fiber channel or iSCSI interface. If you don’t have the quorum, you
can only create a cluster as a Single Node Cluster type which purpose is for developer to test an
application in clustering environment only. This type, you can’t switch applications and services
to other nodes. Secode type is an Single Quorum Device Multiple Nodes Cluster. In this type,
there is a shared storage (quorum disk) between nodes therefore you can switch applications and
services to other nodes.
Note: There is another type of cluster which is Majority Node Set Cluster which is for enterprise
solution so I would mention in this tutorial.
Setup environment
In this tutorial, I’ll demonstate how to setup a file cluster server and MS SQL cluster server
which type is Single Quorum Device Multiple Nodes Cluster so that the services can be swtiched
over between nodes. The network diagram is as the figure below:
Server
There are 3 servers in this environment. The first server is an active directory. The others are
cluster nodes.
1. BKKPDC010, Windows Server 2003 Enterprise x64 running active directory domain ‘virtual.com’.
IP Address is 192.168.1.2
2. BKKSQL010, Windows Server 2003 Enterprise x64. The server has two network interface cards:
o One is for LAN – client communication (192.168.1.21).
o The other for heartbeat (10.0.0.1).
3. BKKSQL020, Windows Server 2003 Enterprise x64. The server has two network interface cards:
o One is for LAN – client communication (192.168.1.22).
o The other for heartbeat (10.0.0.2).
Note: The servers which will be configured as a cluster should have the same hardware
configuration to avoid any conflicts. These servers have the same hardware configurations.
Quorum disk
In the next part, I’ll show how to setup iSCSI disks on the servers using Microsoft iSCSI
Initiator.
Introduction
In this part, I’ll show how to add new disks on both servers (BKKSQL010 and BKKSQL020) as
shared disks using Microsoft iSCSI Initiator. The first disk will be a quorum disk on Q: drive
which has capacity 512 MB. The second disk will be a shared disk to keep applications and
services on R: drive which has capacity 8 GB.
Section
Step-by-step
7. Click Finish. The server may restarts after you click finish.
8. Repeat the installation Microsoft iSCSI Initiator on the second server (BKKSQL020), too.
Back to top
2. Now I will connect to the iSCSI server. Click on ‘Discovery’ tab and click Add button. Then, insert
IP Address of the server and click OK. You’ll see the server was added to Target Portals.
3. Click on ‘Targets’ tab. You’ll see the storages are inactive. You need to logon them first. On each
storage, click Logon button.
4. Click on ‘Automatically restore this connection when the system boots’ and click OK. Don’t
forget to logon on the second storage, too.
5. When you logon on two storages, the status will be updated to connect.
6. Now click on ‘Bound Volumes/Devices’ tab and click ‘Bind All’ button. You’ll see two lines were
added to ‘Volume/Mount Point/Device’. This is the storage drives which are already added to
the system.
7. Next, I’m going to prepare the drives that were added. Open Computer Management console by
right click on My Computer and select Properties. Expand Storage and click on Disk
Management. The wizard window appears. Click Next.
11. Now you’ll see two disks were added and initialized already. Next I’ll format the disks and assign
drive letter.
Note: The 510 MB will be the quorum disk and 8GB will be the data disk.
12. For quorum disk, I assign as drive R: and data disk is Q: as the figure below.
13. On the second server, repeat step since 1) to 10). But do not to format and assign drive because
you can’t, it’s currently active on the first server.
Back to top
Now I have shared disks for cluster. Next part, I’ll create a new cluster server.
Introduction
From last part, I have complete configured the requirement for creating a server cluster. Now I’ll
create a new cluster server name ‘BKKCluster’ and add ‘BKKSQL010′ as a first node on the
cluster server.
Step-by-step
1. On BKKSQL010, Open Cluster Administrator by Start -> Programs -> Administrative
Tools -> Cluster Administrator.
4. On Cluster Name and Domain page, select domain and enter the cluster name. In this
example, I want to create a cluster server called ‘BKKCluster’ on domain ‘virtual.com’.
Click next.
5. On Select Computer page, type the computer name which is going to be a first node in this
cluster. In this example, it is BKKSQL010. Click next.
6. On Analyzing Configuration page, the wizard will determine whether the server can be
configured as a cluster server. If you haven’t configured a quorum disk (shared disk) as in
part II, you’ll see the error as in the figure below. And if you continue without creating a
quorum, you only have a single node cluster type.
7. If you have already created a quorum disk, there shouldn’t be any errors. Click next to
continue.
8. On IP Address page, type the virtual IP Address for connect to this server cluster. In this
example, I use 192.168.1.10.
Note: This is not an existing IP Address of the server, the IP Address on this page will be
created virtually by the wizard for connecting to this cluster server. Click next.
9. Before you continue next wizard’s page, you need to create a user account for run this
cluster service. To create a new user account on Active Directory, follow these steps
below.
o Connect to Active Directory server. In this example, the server is BKKPDC010.
o Open Active Directory Users and Computers by click Start -> Programs ->
Administrative Tools -> Active Directory Users and Computers.
o Right click on the domain name -> select New -> User.
o Type name for the user account. In this example, I create user account name
‘clustersrv’. Click next.
o Enter password for this user account. Check user cannot change password and
password never expires. Click next.
10. The service account requires administrative permission on the server cluster to run the
service so you need to add the user account to be as a local administrator. In this
example, I added ‘virtual.com\clustersrv’ to be a local administrator on BKKSQL010.
11. After user account has been created, back to New Server Cluster Wizard. On Cluster
Service Account, type the user account that you’ve just created on the previous step.
Click next.
12. On Proposed Cluster Configuration, click Quorum and select the disk Q: for keep quorum
data on this drive. Click next.
13. On Creating the Cluster, waiting for the wizard create the server cluster. When tasks have
completed, click next.
Note: There shouldn’t have any errors or warning message on this step before you
continue.
14. Now the server cluster has been created with a first node on BKKSQL010. The cluster
name is ‘BKKCluster.virtual.com’ and has virtuall IP Address ’192.168.1.10′.
Sections
Step-by-step
1. On BKKSQL020, open Cluster Administrator by Start -> Programs -> Administrative Tools ->
Cluster Administrator.
2. On Open Connection to Cluster in Cluster Administrator window, select Add nodes to cluster on
Action and type the server cluster name ‘BKKCluster’.
4. On Select Computers page, type server name that you want to add to this server cluster and click
Add. The server name will be added to the selected computers box. Click next.
5. On Analyzing Configuration, the wizard will determine whether the server can be configured as a
node of the server cluster. If there isn’t any errors or warning messages, click next to continue.
6. On Cluster Service Account, type the password of the user account that used to start this cluster
service. The user account is created on the part3. Click next.
7. On Proposed Cluster Configuration, you can review the configurations. Click next.
8. On Adding Nodes to the Cluster, waiting for the wizard add this node (BKKSQL020) to the server
cluster.
Note: If you found the warning message “0x00138f: The cluster resource could not be found” on
this step and you’re confidently that you’ve configured the shared disk correctly on the node,
don’t worry you can continue to the next step without fixing any problem. The cause of this
problem is occur by the wizard can’t verify that all the cluster nodes have access to the same
disks. For more information, visit You receive a “0x00138f Cluster resource not found” error
message when you try to join a second node to a Windows Server 2003 cluster
9. In some environment, the wizard can verify the shared disk so you won’t find any errors or
warning messages. Click next to continue.
11. On Cluster Administration, you’ll now see 2 nodes on the server cluster.
Back to top
1. On Cluster Administrator, expand BKKCluster -> Cluster Configuration -> Network. You’ll see 2
network interfaces.
2. To configure network interface for internal communication, right click on the network interface
-> Properties. On new window, select Internal cluster communications only. Click OK.
3. To configure network interface for client access, right click on the network interface ->
Properties. On new window, select Client access only. Click OK.
Introduction
In this part and next following post, I’m going to create a file server cluster that has 2 nodes
which are BKKSQL010 and BKKSQL020. This part, I’ll create a group to hold all resouces for
the file server cluster. Then, I’ll create a physical disk resource (Disk R:) on the server cluster to
keep my shared files. Next, I’ll create a virtual IP address for client to access the shared folder.
Last step in this part, I’ll create a network name resource to the IP address so I can access the
shared folder through this name besides the IP address. I’ll cover how to create a file share
resource on the next post.
Sections
1. Create a new group and physical disk resource
2. Create a new IP address resource
3. Create a new network name resource
Step-by-step
1. Open Cluster Administrator and connect to the existing server cluster (BKKCluster).
2. Create a new group for this file cluster by right click on Group -> New -> Group.
3. On New Group window, type the name of this group. In this example, I’ll create a group called
‘FileCluster’. Click next.
4. On Preferred Owners, select the nodes that you want to add to this group. Also, you can re-
order nodes by using Move Up or Move Down button. I’ll add both nodes to be the owner of this
group and let BKKSQL010 is at the top. Click finish.
5. Now you have a new group called ‘FileCluster’. Next is to add a physical disk in this group by
create a new resource. Right click on the ‘FileCluster’ group -> New -> Resource.
6. On New Resource window, select Resource type as a ‘Physical Disk’ and Group as ‘FileCluster’.
Set name of this resource to ‘Disk R:’. Click next.
7. On Possible Owners, assign nodes as same as when you created a new group. Click next.
8. On Dependencies, you can add resources which need to be brought online before this resource.
Since this is the first resource I’m creating so it hasn’t any resource depends on. Just click next.
12. Open R: drive on BKKSQL010. This drive will be able to fail-over now. Next, create a new folder
‘Files’. This will be a file sharing folder.
Back to top
1. Create a IP Address resource for access this file sharing resource by using IP Address. Select
Resource type to ‘IP Address’ and Group as ‘FileCluster’. Set name of this resource to
‘FileClusterIP’. Click next.
2. On Possible Owners, assign nodes as same as when you created the first resource. Click next.
4. On TCP/IP Address Parameters, set IP Address for this resource. I’ll set IP Address to
192.168.1.13/24 and select Network LAN. Click finish.
6. Now you can access this server cluster by using the IP Address that you’ve just created.
Back to top
Create a new network name resource
1. Next, I’ll create a resource ‘Network Name’ for the IP Address that just created. Right click on
the ‘FileCluster’ group -> New -> Resource.
2. Select Resource type to ‘Network Name’ and Group as ‘FileCluster’. Set name of this resource to
‘FileClusterNetworkName’. Click next.
3. On Possible Owners, assign nodes as same as when you created the previous resource. Click
next.
5. On Network Name Parameters, set the Name that you want. This is the name for accessing by
client. Select the check box ‘DNS Registration Must Succeed’ to register this name to DNS Server
before bring this resource online. Click finish.
Introduction
This post continue from last post “Getting started with Microsoft Cluster Service, Part V: Create a
file server cluster (1)”. I decide to separate this part since it’s quite long to be keep in a post. In
this post, I’ll create File Share resource which depends on all of the resources that I’ve created in
the prevoius post. Then, I’ll bring all the resources online to complete create a file server cluster.
After that, I’ll try to failover the file server cluster service from one node to another node.
Step-by-step
1. Continue from previous post on Cluster Administrator window. Create a new resource ‘File
Share’.
Right click on the ‘FileCluster’ group -> New -> Resource. Set name to ‘TestFileShare’ . Select
resource type as ‘File Share’ and group as ‘FileCluster’. Click next.
2. On Possible Owners, assign both nodes as same as when you created the previous resource.
Click next.
3. On Dependencies, add physical disk, IP Address and network name resources. This file share
resource need these resources to be online first. Click next.
4. On File Share Parameters, enter share name as ‘Share’ and path to ‘R:\Files’ which is the share
folder that I’ve created before. The share name will be the name that I’ll use to access later
“\\BKKCluster\Share”. Click permission to edit this share permission.
5. On Permission for share, set the permissions. This is an example so I try to set ‘Full control’ for
everyone. Click OK. Back to File Share Parameters window, click finish.
6. The resource File Share has been created.
7. Next, bring online this file server cluster by right click on ‘FileCluster’ group -> Bring Online. All of
the resources in this group will be bring online.
Back to top
1. After I’ve brought online the file server cluster group, you’ll see all the resources are online now.
2. Next, try to access the share folder by open windows explorer to “\\BKKCluster\Share”. This is
the share folder on the cluster server.
3. Try to test that the file server cluster can be failover, put a file to the share folder. Next, I’ll try to
stop the node that running file cluster service and try to browse to the file if I can access to the
service.
4. Back to Cluster Administrator, find out that ‘FileCluster’ group is on which node by click on
Active Groups of each node. Since I’ve configued ‘BKKSQL010′ as preferred owner, the file server
cluster is running on ‘BKKSQL010′.
5. Stop this node to see if the file server cluster can be failover to BKKSQL020 by right click on
‘BKKSQL010′ node -> select Stop Cluster Service.
6. Wait for moment, select Active groups on BKKSQL020. You’ll see the ‘FileCluster’ group has been
failover to this node. Also, open share folder “\\BKKCluster\Share”, you’ll see that the file is still
there. That’s means the file server cluster service is running properly even if one node has been
stopped.
7. If you start cluster service on BKKSQL010 again, the resource will not failback to the node by
default. To enable failback on ‘FileCluster’ group, right click on the ‘FileCluster’ group -> select
Properties.
8. On FileCluster Properties, select Failback tab and select Allow failback. Choose Immediately.
Click OK.
9. You can disable the group by right click on ‘FileCluster’ group -> select Take Offline.
Back to top
Getting started with Microsoft Cluster Service, Part VI:
Create a MSSQL server cluster (1)
Administration, Windows July 5th, 2008
Introduction
Well, 5 parts have passed and now you should familiar with MSCS. This part, you’ll learn how
to create another clustering service which is an important service that support clustering by
design. It is Microsoft SQL Server. To setup MS SQL Server clustering, you’ll need to own a
license of an enterprise edition of MS SQL Server. Next, I’ll show how to setup Microsoft SQL
Server 2005 cluster. Like the previous part, I decide to separate this part into 2 posts because it’s
a quite long part.
As I tell you before, MS SQL Server supports clustering by design so you don’t need to
configure many things on Cluster Administrator as File Server Cluster. The main configurations
will be on the installation of SQL Server 2005.
Step-by-step
3. Create a new group on ‘BKKCluster’ named as ‘SQL2K5′. This group will keep all the
resources for MS SQL Server clustering.
5. Move physical disk resource ‘Disk R:’ to this group. It’ll show a warning message, click
Yes to proceed.
Note: This resource is created from the previous part. If you haven’t read the part, you
can create new physical disk resource and select Disk R:. The resource will be a data disk
that keep installation and data files for SQL Server Cluster.
6. Now you have ‘Disk R:’ resource in ‘SQL2K5′ group.
7. Click on BKKSQL010 -> Active group to check if the group is on this server and status
is online.
8. Next, install MS SQL Server 2005. Insert installation CD, click “Server components,
tools, Books Online, and samples”.
10. On Installing Prerequisites, click Install. The setup will install these prerequisite softwares
automatically: .NET Framework 2.0, MS SQL Native Client and MS SQL Server 2005
Setup Support Files on the server.
15. On Components to Install, select ‘SQL Server Database Services’ and ‘Create a SQL
Server failover cluster’. Then, click Advanced for customize components to install.
Note: This is only an example so I’ll not install other services except that the database
services itself. Also, notice that you have to check ‘Create a SQL Server failover cluster’.
This is the different step from installing a stand-alone SQL Server.
16. On Feature Selection, select to install ‘Management Tools’ in Client Components. This
will install ‘SQL Server Management Studio’ which use to mange SQL Server in later
step.
18. On Virtual Server Name, type the name for this SQL Server cluster. Click Next.
Note: This will be the name that use to connect to the SQL Server cluster.
19. On Virtual Server Configuration, create an IP Address for this virtual server. In this
example, I use ’192.168.1.5′. Click Add.
20. On Virtual Server Configuration, the IP Address will be in Selected network and IP
Address. Click Next to continue.
21. That’s it for this post. Continue on Getting started with Microsoft Cluster Service, Part
VI: Create a MSSQL server cluster (2).
This post is continued from Getting started with Microsoft Cluster Service, Part VI: Create a
MSSQL server cluster (1).
The series are divided into 6 parts:
Step-by-step
1. On Cluster Group Selection, select group name on cluster that you want MS SQL Server
2005 to configure and also select folder to keep data files. Click next.
4. The error message showing that you’re trying to use local account to install MS SQL
Server. But the setup requires you to logged in as a domain account that has an
administrative privilege (eg. Domain admin). If you see this error message, you need to
login again with that account.
6. Before proceed next step, the setup’ll require you to specify the service account and
group for running MS SQL Server services. If you already have an domain account and
group for running service, you can skip to step 9.
7. Create a new domain account with default privilege (normal domain user). In this
example, I create a domain user ‘SQLClusterSrv’.
8. Set password for the account and check password never expires and user cannot change
password.
9. Next, create a new Windows domain group for MS SQL Cluster services. I name a group
as ‘ClusterSvrGroup’.
10. Back to the setup wizard. On Service Account, type the user account that you have just
created. Click next.
11. On Domain Groups for Clustered Services, type the group that you’ve just created. The
service account will be added to this group automatically. Click next.
12. On Authentication Mode, you can customized as you want. I’ll leave it as default. Click
next.
13. On Cluster Settings, I’ll leave as default.
16. On Setup Progress, the setup will install on each server simulteneous. Click on node to
change to other node to see the installation progress. This is the installation progress on
BKKSQL010.
18. On Completing Microsoft SQL Server 2005 Setup, click finish. The setup has finished.
19. Open Cluster Administrator and click on ‘SQL2K5′ group, you’ll see the resources have
been configured already.
20. Now try to test if the MS SQL Server is work properly. Open Microsoft SQL Server
Management Studio and connect to the MS SQL Server cluster using the virtual name
that you’ve specify when setup. In this example, it is ‘BKKSQLCluster’.
Summary
After all 6 parts, you should get better understanding and familiar with Microsoft Cluster
Service. There are many type of services that can implement as clustering, for instance, DHCP,
WINS, Print
Spooler, SMTP, etc. It shouldn’t be hard for you to implement one of these services on your own
after you have followed this article.