Web Hosting Talk







View Full Version : 100% Uptime - How?


inbuco
01-03-2001, 03:12 PM
I am not looking for load balancing but I do want redundancy.

As I understand DNS Server, typically you have at least two but they both point to the same ip address, however, my question is if I setup 3 DNS Servers, pointing to the associated ip address (Different IP Addresses), each one with a different provider, example,

DNS 1 - Provider A
DNS 2 - Provider B
DNS 3 - Provider C

and DNS 1 goes down, will all traffic be diverted to DNS 2, hence, provider 2 and web site 2?

If so, how is the email handled?

If not, how can I make this work?

Also, would it be possible to just setup all three DNS providers to point to a fourth email only provider? Any redundancy options with email?

Thank you.

Jason Ellis
01-03-2001, 04:18 PM
Originally posted by inbuco
and DNS 1 goes down, will all traffic be diverted to DNS 2, hence, provider 2 and web site 2?

Yes, except remember one thing - your DNS1 is not the same as your web site. So even if your web site goes down on Provider 1, if DNS1 is still running, it will still remain authoritative. The only way what you are suggesting would work is if Provider 1 is running their DNS1 server on the same physical machine that is running your web site. And that is very unlikely.

Jason

inbuco
01-03-2001, 04:45 PM
Because these are dedicated host, that is exactly our plans, to run the dns server on the very server that runs the site itself. So, if DNS 1 goes down, theoretically, so will site 1.

How does it work then? Does a person try to acess our domain through dns 1 and if it does not work, their browser tries dns 2 and so on?

Also, I heard of issues of the ip address remaining cache in a persons browser. If that happens, then the person will try to access an ip that is down, i.e. site 1. Is this an issue and how do you avoid that?

How will the email be handled?

Racin' Rob
01-03-2001, 06:25 PM
Originally posted by inbuco
As I understand DNS Server, typically you have at least two but they both point to the same ip address

NO, each nameserver must have a unique IP address when you register your nameservers with your domain registrar. Both servers can be on the same physical server, but cane not share a single IP#.

allan
01-03-2001, 10:55 PM
Originally posted by inbuco
Because these are dedicated host, that is exactly our plans, to run the dns server on the very server that runs the site itself. So, if DNS 1 goes down, theoretically, so will site 1.

How does it work then? Does a person try to acess our domain through dns 1 and if it does not work, their browser tries dns 2 and so on?

Also, I heard of issues of the ip address remaining cache in a persons browser. If that happens, then the person will try to access an ip that is down, i.e. site 1. Is this an issue and how do you avoid that?

How will the email be handled?


This is a problem you run into with Load Balancers as well. If the DNS server dies, the IP for the site is still cached in the browser your user will need to restart their browser session before they will be able to reach your site.

One way around this would be to set the TTL for your domain to 1 second, this MIGHT force the browser to constantly check for domain information, but it also means that visitors would round robin through all of your servers, and any cookie or state information would be lost when they do that. In addition, some providers, like AOL, ignore 1 second TTLs and will defuault to 30 seconds as their lowest.

Its my belief that 100% uptime is impossible. You have three big factors that kill any chance of ever achieving 100% uptime for more than a couple of months.

1. TCP/IP is, by default, considered a best effort technology. This means the packets are going to try their hardest to reach their destination but there are a lot of forces at work to hinder them.

2. Server hardware fails. Even the best most expensive server can die (three weeks ago we had one of our servers crash -- a server that had redundant everything, because it was mission critical...you know what failed? The stupid RAID controller.).

3. You, or your programmers, are human which means you are one day going to write a bad database query, or a Perl script that has a memory leak, or your content replication program is going to fail.

allan

MattF
01-04-2001, 08:30 AM
[quote]How does it work then? Does a person try to acess our domain through dns 1 and if it does not work, their browser tries dns 2 and so on? [/qoute]

Set the DNS record expiry to 30 or 60 minutes, this is the max time the browser will cache it then it will fetch it again. Hence meaning a max of 30 or 60 mins downtime.

Basically you want to mirror the whole server? Correct. Good idea but would require a lot of work to get them up-to-date, and a lot of bandwidth, even if it's automatic.

A good idea is to set up 2 servers at a providers with multiple internet connections such as DN,Dialtone, VDI etc... Then put 2 network cards in each server. One connected to the router/hub. and the other a cross-over cable to other ethernet card in the other server. Then every few hours sync. with the other server, this will create a pretty redundant solution.

inbuco
01-06-2001, 09:25 AM
I can live with the fact that 100% uptime is impossible, after all if Yahoo and Ebay can't do it, I can't expect that anyone else can. However, it does give room for thought.

So, it's my understand that if I have two servers, each running the exact site, and dns server, then set the TTL to 30 seconds, then the most that a user should experience is 30 seconds of downtime. Does this seem right?

Does the fact that the dns server will be constantly accessed bring a heavy load on the server? Does a dns server take much out of the server?

Thanks for all the help.

allan
01-06-2001, 10:14 AM
Originally posted by inbuco
So, it's my understand that if I have two servers, each running the exact site, and dns server, then set the TTL to 30 seconds, then the most that a user should experience is 30 seconds of downtime. Does this seem right?

Does the fact that the dns server will be constantly accessed bring a heavy load on the server? Does a dns server take much out of the server?

Thanks for all the help.

DNS uses relatively little CPU. So, unless your site is getting millions of hits an hour, you should not take a performance hit because because of DNS.

Good Luck!

DHWWnet
02-14-2001, 06:43 PM
Hi im also in the same boat as Inbuco :) my question is how do i set this up ?

Can both servers running their own dns have the same setup, i mean can we run Two dns servers at the same time with the same dns info but with different ips ?

how is the email handled ?

thanks


elijaH

allan
02-14-2001, 06:58 PM
No, you cannot have two live machnines with the same IP address (unless you don't mind confusing the heck out of your router).

In a situation like this your best bet is to implement a clustering or load balancing solution.

DHWWnet
02-14-2001, 09:39 PM
Thanks....i get it now :)

FastEddy
02-21-2001, 07:52 AM
There is a real good book about DNS stuff.

It is called DNS & BIND written by Paul Albits and Cricket Liu.

ISBN: 1-56592-512-2

This book explains to my opinion "everything" about the
DNS world.

tolchz
03-20-2001, 06:04 PM
Originally posted by FastEddy
There is a real good book about DNS stuff.

It is called DNS & BIND written by Paul Albits and Cricket Liu.

ISBN: 1-56592-512-2

This book explains to my opinion "everything" about the
DNS world.


I'll have to second this one. I happen to have a copy of this book sitting 3 feet from me at the moment.

If you have an intermittent site problem, check dns, if you can't find the problem, check it again. Nothing like having two DNS servers that don't agree with each other about the info for a domain.

Also pretty much any O'Reilly book is going to be a good choice. They're one of the few publishers known for quality. I do like Wrox also though.

WebAfrica
11-07-2004, 11:07 AM
Originally posted by allan
No, you cannot have two live machnines with the same IP address (unless you don't mind confusing the heck out of your router).



Never done it ourselves but I hear a number of routers support load balancing and failover on layer 2 allowing you to have multiple machines using the same public IP.

I mean DNS is supposed to handle this, but caching breaks it. Because of the "polling" nature of DNS, not really any way around it.

rasputinj
11-07-2004, 02:05 PM
You can go with something like DNS failover, which will not provide you 100% uptime, but it works pretty well.

I have a server at Layeredtech and when they went down, my traffic moved over to my backup site, and then went back to the main site when it was live again.

I use Dnsmadeeasy, but Zoneedit also offer it. They monitor your site and then dynamically change your Record when it goes down, and with the TTL you set a majority of your traffic will move over.

eWebtricity
11-07-2004, 02:21 PM
There's a number of ways to provide redundancy and/or fault tolerance.

1. You can use primary (Master) DNS servers for your regular DNS traffic and if it goes down you can have a secondary (slave) take over until the primary returns to service.

2. Some routers do support load balancing, ie: Cisco routers support IOS Server Load Balancing which works rather well for small to medium sized sites but doesn't scale well due to limitations in the TCAM memory buffers.

3. There are a number of other "load balancers" ie: F5 BigIP, Zeus, but these cost $$ just like the Cisco solution.

4. I haven't put much thought into it but using Squid to reverse proxy might provide some redundancy.

5. Checkpoint firwall offers some limited load balancing for servers

I don't see why you couldn't set multiple nameservers at different providers each with their own DNS pointing to themselves as the primary A record. If the servers goes down or you stop DNS then it won't serve any more pages, true you might have a black hole for a few minutes in the event of an outage but new requests would automatically go to the next nameserver. This would also allow you to perform maintenance by gracefully shutting down DNS and letting the traffic die off. One problem that occurs to me is the content of the website, a database might only exist on one server unless your replicating the data or using common storage. This also means increased bandwidth usage among the servers.

linux-tech
11-08-2004, 02:17 AM
100% uptime is a myth, something that really isn't possible. Somehow, somewhere, SOMEONE isn't going to be able to get to their webpage, or your server. Even adding redundancy doesn't cover this completely, though, honestly I believe it does help in the event that you need to form disaster recovery plans.

Think of it this way:
Nameserver A resides on ThePlanet
Nameserver B resides on Burst (just an example)
Nameserver C resides on ev1

Most ISPs go by what is known as cache, that is that they store the ip that your domains and networks should resolve to. If, for example, network A goes down, then redundancy would say "hey, this should forward to network B", right? Well, many won't do that, because MANY won't actually check nameserver b OR nameserver c, they'll just keep right on assuming that they're on the same network.

Ever seen microsoft go down? I have, multiple times. Supposedly, they have "redundant routing", but it's the same thing. You will ALWAYS have that period of time where your IP address is cached at either a proxy, or your ISP, and by the time it gets UN cached, in most cases, it's too late, Nameserver A is back up and running.