Basic Questions about Windows 2003 Server Clustering Concepts

Windows 2003 Server
SQL Server 2005

I'm looking for a way to provide some more reliability for two servers that I run. One is a web server, the other is a database server, both running Windows 2003  server.

These servers run an intranet web application that is access by about 50 employees. It would be quite a big problem for me if the application went down for a few hours.

So, I'm interested in server clustering. I'm hoping some can provide an articulate answer to the following questions. NOTE: I don't need to know HOW to setup a cluster. At this point I just need to make sure it can do what I need. I'm not looking for a bunch of links to vast clustering info, although a link to something that answers these basic questions would be helpful:

- If I have a web application that runs really well on a 2003 server and SQL 2005 server, do I have to do anything special to make that application support clustering? Or does the OS itself make everything work well in IIS and SQL Server?

- If I have two servers clustered together and I add a third, would that increase the scalability of the application, or does it only provide more redundancy?

- If I have two servers clustered together, and the power supply fails on one and the server crashes, does the application function on the first server without any downtime, or do I have to react somehow to make the clustered counterpart take over?

You can probably tell I'm not an expert in this concept. I'm just looking for some basic answers to make sure clustering is the right solution before I start deciding how to implement it. Thank you for your help.
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Brian PiercePhotographerCommented:
To set up a cluster you need to be running the enterprise editions of both the Window OS and Applications on the servers. You also need two network cards in each server and some for of external disk drive such as an external SCSI raid, SAN or NAS. - Its beginning to get expensive. On the plus side it is generally highly reliable. see for an introduction.
The following links will provide you with some white papers to get you started:

As to your specific questions:

- Even applications like SQL and Exchange that are "cluster-aware" will need additional configuring and management in order to run the cluster effectively. In some cases (most notably Exchange), I will even recommend -against- clustering because of the added complexity that it brings to the table; you may find that you are reducing your availability rather than increasing it because of the time and effort needed to maintain and troubleshoot the cluster itself. This is less of an issue for simpler clustered services like DHCP & File/Print, but it's not a "zero-effort" service to maintain under any circumstances.

- Adding a 3rd server will not increase your scalability in most cases.  In common configurations you will only have one node online at any given time, with the 2nd/3rd/whatever nodes sitting in wait to take over if the active node fails.

- If you have 2 clustered nodes, Node1 and Node2, and Node1 crashes, Node2 will detect the failure, assume the active role in the cluster and begin answering client requests. Depending on how "cluster-aware" the client application is, this may manifest itself to the user as a harmless momentary "blip" in connectivity, or the app might fail outright and require the application to be restarted. It all depends on the application itself.

Hope this helps.

Laura E. Hunter - Microsoft MVP: Windows Server - Networking

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
cnxmaxAuthor Commented:

Thank you for the response. SQL server is actually not my biggest worry (I already have some "okay" solutions for restoring SQL service pretty quickly in the event of a failure).

But what about IIS? DO you think that would be difficult to manage if I had a few webs that need high-availability.

These webs are a constantly changing (it's an internal app that we're always developing). Do you think adding clustering would add a lot of ongoing work in this regard?
Clustering IIS tends to be pretty simple since all the data is sitting on the shared cluster storage anyway; Node1 fails, Node2 starts serving up from the same directory.

That said, you should also consider Network Load Balancing for your IIS front-end - NLB allows multiple active hosts that will respond to client requests in a round-robin fashion.  NLB only works well for fairly stateless applications, though, so depending on the specific needs of your environment it may or may not be appropriate:
cnxmaxAuthor Commented:
Thank you for your fast responses.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Windows Server 2003

From novice to tech pro — start learning today.