I was wondering if anyone had any suggestions as to the best way to setup a
redundant (no single point of failure) Load-balanced webserver environment
using LVS.
I was thinking something like this
2 LVS systems (for redundancy)
6 - 20 Webservers, pretty much the same specs
This is possible with two Directors each running heartbeat. Only one is the
live Director and the other becomes the Director when heartbeat detects the
failure of the primary Director. What you call "Webservers" LVS calls "Real
Servers" within the LVS.
Read the HOWTO for more details.
(Failure of the Real Servers is reported to the Director(s) with the PERL
program "mon").
2 File servers (NFS) with replication
(Is this possible, I've looking into a lot of solutions, but I was wondering
if anyone has any experience with this)
This is not so easy. There is currently no way (that I know of) to establish
file locking and local I/O on more
than one machine with any software-based system. DRDB, GFS, and other
efforts are under development.
But using NFS will only allow you to have NFS server--everything else is an
NFS client
(still with Read/Write access but the single NFS server is a single point of
failure unless
you use a hardware solution like a SAN/RAID).
(Is it possible to load balance Mysql, reading over NFS, or would I be in
better shape trying to setup two seperate DB servers with some sort of
replication?)
rsync or a simple cron job running cpio on an NFS mount could replicate the
data
between Real Servers, but then you have two "master" copies of the data !?!
This, of course, will lead to database synchronization problems. (Who has
the "real" master
copy of the data?)
If I can't get the replication working, I may just buy a Sparc, and pray
that they are as stable as they are expensive.
Sun has (expensive) cluster solutions to prevent a single point of failure.
I'm not sure
of the very latest, but you'll probably be talking about an underlying
SAN/RAID solution
to solve the data synchronization problem.
(Advantages of the file servers is that It makes the Webservers a lot
cheaper (no need for RAIDs, or Big drives)
Linux supports software RAID by the way. So you could use RAID to help
protect
yourself from a drive failure at least.
Also I was wondering if there were any plans for a CPU LOAD based
implementation of the LVS software, using daemons on the webservers, or if
you can change the weights (for the weighted round robin) in real-time, so
that we could write our own Pseudo CPU load balancing system..
LVS can do this now. See weighted round robing scheduling method in the
HOWTO.
Take a look at
http://www.linuxvirtualserver.org/Joseph.Mack/lvs_trivia.quiz.qanda
for a list of commercial versions of LVS, or perhaps you want
to look at Ultra Monkey.
-K
_____________________________________________________________________________________
Get more from the Web. FREE MSN Explorer download : http://explorer.msn.com
|