Link to home
Start Free TrialLog in
Avatar of MDCTechqwiz
MDCTechqwiz

asked on

Setup a Rednundant/Failover Hosting Environment

Greetings,

I own a very small web hosting company.  It started as a way to manage some of my IT Clients websites and create a little revenue stream.  Below is what i currently have :

Windows Server 2003 Service Pack 2
IIS 6
DNS
MySQL 5.2 CE
MSSQL Express 2005/2008
Icewarp Merak Mail 9.3.2

As you can see we have put a lot of eggs in one basket.  I am looking to take our hosting to the next level and build even a website for hosting packages.  I am wondering what the best approach is to create a hosting environment that utilizes 2 office locations to create failover and redundancy for DNS, Websites, Mail and Databases.  In essence i want my NS1.domain.com pointing to an IP sitting in one location and my NS2. domain.com pointing to an IP sitting in another location.  This will help with failover.

I started off going down the cPanel/Enkompass route.  I had Windows Server 2008 R2 setup for Enkompass.  However, they just made this a free package, so the tech support on setting it up is limited.  I ran into issues with IP addressing.  They said they dont support NAT, so i was wondering how i was going to create a secure domain controlled environment utilizing Public IPs??  

I also looked into Plesk, but they told me they dont support any failover or redundancy.   I spoke to one of their engineers and asked them how their customers are creating a redundant/failover environment with their application, and he couldnt give me an answer???

I am willing to go the Linux or Windows route, but I am discovering its probably best to offer both anyways.  

Any help would be greatly appreciated.
Avatar of xterm
xterm

For the DNS side of it, I would not suggest putting one IP in NS1, and the other in NS2.  I would say the giant bulk of your queries hit NS1, so you're not effectively making equal use of both of your servers in this way.

I would say instead put both IPs in both DNS servers.  It's called round robin A record.

So you put in the zone for yourdomain.com:

www IN A 10.0.0.1
www IN A 10.0.0.2

And your DNS server will alternate between the two in its responses, and basically act like an expensive load balancer for free.

For TRUE fault-tolerance though, you'd want some kind of network appliance in front of both of the web servers - that starts getting very pricy, so I'd suggest using the free methods first unless you have a big budget.
Avatar of Steve
Agreed, doing this properly could be expensive.

Using round robin DNS is a good plan to share out the load but doesnt offer any redundancy.
You can get DNS packages that offer failover optios but they can be a bit expensive too.

The simplest way is to use your own nameservers instead of the ones provided by your domain registrar.

You can set each server as a nameserver and list only its own address for any DNS requests.
WHile this does mean one server may end up dealig with more traffic than the other, it means that a failure of one system would result in dns queries automatically failing over to the 2nd nameserver and therefore automatically resolve dns queries to the working server.

In practice, your main difficulty would be in making both systems contain the same data, as SQL databases etc can be difficult to replicate without cost.

I think you need to consider this realistically and look at EITEHR loadbalancing OR failover.

Failover allows for a delay in replicating data between a primary server and a secondary server. Loss of the main server would only result in a very small amount of data loss ofr active websites.

Load labance would allow more traffic to be spread across multipe systems but will make accuracy or duplication of live data difficult to control.
Avatar of MDCTechqwiz

ASKER

Thanks for those responded so far.  

To xTerm :  I assume your IP addresses are arbitrary in your example.  Instead i would wnat to use my public IPs.  Do you know of any documentation of syncing 2 Windows DNS servers without a domain controlled environment?  Can i do this in Linux?

To Tonto : I agree one of the major challenges is redundant data.  I was going to create a Database server at Site A, and use a Disaster recovery box to take snapshots every night from Site B via a vpn.  in the event the data server fails, i can mount the server and virtualize from the latest snapshot.  But still, this doesnt help if just the internet was to go down at site A.

You guys have offerend some good solutions so far.  I appreciate the input.
ASKER CERTIFIED SOLUTION
Avatar of xterm
xterm

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial