Checking feasibility for Win2008 Cluster + MSSQL + Storage

Hi,

My company needs to implement a service that is based on a Windows 2008 server that is using an MSSQL Server.
I need to implement the architecture with as least servers as possible :)

So I want to check the following feasibility, not being a Windows admin I'm not really sure about it.

Two Windows 2008 servers, Running an Active / Passive cluster, the cluster needs to hold (running at all times on the active server obviously)
- A "Hotswap / Floating" IP address in order to provide the Web service on the active one.
- A storage drive.

The thing that I'm not sure about, is as far as I know in order to run a Windows cluster, you have to have a Domain controller. now the question is - can the DC and Active Directory actually be also installed on the two Windows 2008 servers? so I'm looking to run on two servers:
DC, AD, MSSQL Cluster active/passive, Web service cluster with floating IP active/passive.

Thanks,
Ran
shootboxAsked:
Who is Participating?
 
kevinhsiehCommented:
Do you really need to do clustering? It makes things a lot more complicated. This will take you a while to setup.

From what I can tell from your question, you have an application that requires IIS and SQL that you would like to have high uptime.

You may be able to run the application in the Amazon EC2 or Microsoft Azure cloud. That can bring costs down.

To do things yourself, you need at least 2 servers and shared storage. You can run things in a physical or virtual environment. I run basically everything virtual.

The "simplest" setup is to have two physical servers running Windows Enterprise with shared SAS or iSCSI storage. Each server would be a domain controller, and would use Windows failover cluster for SQL and IIS. Shared storage can be pricey, depending on what your needs/wants are, and what level of redundancy you want.

Windows 2000, Windows Server 2003, and Windows Server 2008 cluster nodes as domain controllers
http://support.microsoft.com/kb/281662

Configuring IIS 7.0 World Wide Web Publishing Service in a Microsoft Windows Server 2008 failover cluster
http://support.microsoft.com/kb/970759

IIS7 and Failover Clustering
http://blogs.iis.net/thomad/archive/2009/10/27/iis7-and-failover-clustering.aspx

I would prefer to have two physical hosts, and run a pair of VMs for the SQL server cluster, and another pair of VMs running Windows Network Load Balancing for the IIS high availability, and then a pair of VMs as domain controllers. That is basically two servers, two copies of Windows Enterprise, and shared storage, which is the same requirements as running on physical servers.

You should hire a consultant that has clustering experience.
0
 
shootboxAuthor Commented:
Thanks a lot for the information.

I am actually going for a clouded server solution with my hosting partner, but how is that going to change anything regarding the application and OS requirement? how will going for Amazon or Azure solve my high availability needs? as far as I see it, I will still need to get two servers - which is my current plan.

My hosting partner can give me two cloud servers with the needed ports open between them, and shared storage that I can mount as part of the cluster.

So basically I can actually set up the entire solution on two servers, be it hardware or cloud server, correct?
0
 
millardjkCommented:
Based on some extrapolations, you'd probably be better off using VMware to create a 2-host cluster, and on the cluster, run a pair of domain controllers, an IIS host and a SQL host.

If you purchase sufficiently large direct-attached storage, you could implement VMware's own Virtual Storage Appliance, obviating the need to invest in a dedicated storage system.

If your SQL and IIS hosts can run on single CPUs (your requirement seemed to stress availability without indicating load), you would also be able to implement VMware's Fault Tolerance feature, giving you essentially 100% uptime for those guests.
0
Simplify Active Directory Administration

Administration of Active Directory does not have to be hard.  Too often what should be a simple task is made more difficult than it needs to be.The solution?  Hyena from SystemTools Software.  With ease-of-use as well as powerful importing and bulk updating capabilities.

 
shootboxAuthor Commented:
But why paying for an actual machine and install two virtuals on it rather than paying only for two cloud servers? I'm pretty sure my host can provide a shared mountable storage so that takes care of that.

Thanks
0
 
shootboxAuthor Commented:
Guys? any thoughts on my question?

Thanks
0
 
millardjkCommented:
Sorry... Holiday distractions...

The issue with trying it "in the cloud" is the desire for a cluster. Consider the need at the 10,000 foot level. If you're doing a "green field" development project, and you want SQL, IIS and high availability for both, you can do on-prem or hosted, but the application will need to be purpose-built in either case.

If your application specifically needs SQL, that suggests on-prem (sorry: MS can market SQL Azure however they want, but because it used different APIs than "regular" SQL, apps that require the latter must be rewritten to work with the former).

The same sort of thing applies to IIS, and even availability: on-prem has a different set of features, flexibility and configurability when compared to IaaS and PaaS offerings.

Even in a VM-rental situation, you have specific network and storage requirements in order to make clustering work, and those come at a higher cost than on-prem, based on the analyses I've done for my own company's needs.

We found that the most flexible, cost-effective way to do what you're looking for is to have "our gear" running either local or co-located, We then have full control over the networking & storage, and can therefore turn up the specific capabilities the meet the needs of the application(s) [without the need to rewrite them] and the DR/HA requirements of the organization.
0
 
shootboxAuthor Commented:
I'm actually getting more and more interested in Azure and Amazon for two simple reasons:
1. The application is still in development.
2. The SQL requirements are rather simple, it mostly contains some user data and preferences, nothing too crazy.

Are you saying that Azure can provide my needs with out of the box cluster and SQL storage?
0
 
millardjkCommented:
SQL Azure services provide high availability as a service option, obviating the need for user-implemented clustering (I believe their underlying architecture uses SQL Mirroring, but the net effect is the same.)
0
 
shootboxAuthor Commented:
thanks guys, I'll take this under consideration
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.