LVS
lvs-users
Google
 
Web LinuxVirtualServer.org

Re: IPVS hosting on the Internet

To: "LinuxVirtualServer.org users mailing list." <lvs-users@xxxxxxxxxxxxxxxxxxxxxx>
Subject: Re: IPVS hosting on the Internet
From: Torsten Schlabach <tschlabach@xxxxxxx>
Date: Fri, 11 May 2007 21:30:23 +0200
Hi Volker!

> If you give your domain e.g. yourdomain.com more than one IP e.g.
> Datacenter1 : IP = 123.123.123.1
> Datacenter2 : IP = 146.234.12.2
> the DNS performes a round robin loadbalancing on DNS -> IP resolving.

I have had that idea as well. But just help me understand what problem this solved and which it doesn't:

> The first time a webbrowser accesses yourdomain.com it will get the
> first IP
> and your customer lands in DC1. If the next webbrowser accesses
> yourdomain.com
> it will land in DC2. Next in DC1 and so on.

That will for sure distribute load. But if one of the DCs (or one of the servers) goes down, doesn't that mean that only every 2nd customer will see our site while every other customer will end up with a timeout?

We had also been asking ourselves if we could have a mechanism where the DNS servers will receive a heartbeat from the actual servers and just switch off A records for servers which are currently unavailable. But the problem with that is caching nameservers. AFAIK even if we would set the TTL on our nameservers to 10 minutes to make sure that a cached record for a server that died will expired after no more than 10 minutes, I understand for caching nameservers at any ISP they decide how long they will cache the record or not.

Regards,
Torsten


Dr. Volker Jaenisch schrieb:
Hello Thorsten!

Torsten Schlabach schrieb:

Now if we want to build a reliable service on the Internet (say a
website, for example) we can have one A record for www.oursite.net point
to one IP address only. So we would want that IP address to
transparently fail over between two data centers.

One way to achieve this is to use the DNS.

If you give your domain e.g. yourdomain.com more than one IP e.g.
Datacenter1 : IP = 123.123.123.1
Datacenter2 : IP = 146.234.12.2
the DNS performes a round robin loadbalancing on DNS -> IP resolving.

The first time a webbrowser accesses yourdomain.com it will get the first IP and your customer lands in DC1. If the next webbrowser accesses yourdomain.com
it will land in DC2. Next in DC1 and so on.

The only problem with this approach is to assure that the DNS TTL settings are long enougth so that a typical costomer will not be switched from DC to DC within its actual session.

A second and from my point of view the most important is the need for synchronisation of your data e.g. your databases and the filesystem over the WAN between the DCs.

The databases you can share across the two locations using a sequoia DB-Cluster for e.g. MySQL, PGSQL databases. The filesystem mirroring can be done using DRBD0.8 and a cluster filesystem.

We have done some testing in that direction. This approach is due to the synchronisation not ideal for high traffic sites with many changes in the shared filesystem or the shared DB-Cluster. If you have a low/medium traffic site with extreme need for high availability this scheme may help you.

But please be warned - this approach is definitivly not the cheap one. Such a WAN distributed Cluster
is in the order of $100.000 and more.

Best regards,

Volker


<Prev in Thread] Current Thread [Next in Thread>