Re: question about modern lamp clustering technique [long]
from my point of view load balancing and failover capabilities should
be provided on application level, not OS level.
In this particular case, when you are having 2 rather strong servers
and using virtualization solution I would suggest the following:
Let's look at load of every role you use:
mysql and postgres besides CPU and RAM consume good amount of disk
I/O, that's why the VMs with
mysql and postgres should be located on different hardware nodes to
distribute disk system load.
Dynamic content server (most likely it is Apache with PHP/RoR/Python I
believe) mostly uses CPU and RAM,
so maybe it will be better that we place it to the node where VM with
db server produces less load
nginx is a perfect solution for delivering static content to the site
visitors/app users and also it could perform
the role of a network load balancer,
And from my young experience I could say that DB clustering is a
rather complicated way and it may also
make some limitations, so, IMHO, the best way is to modify an
application a bit and place different tables
from DB at different DB servers and use them simultaneously.
Hope that my thoughts will help a bit in choosing a proper solution.
2010/10/22 Wojciech Ziniewicz <firstname.lastname@example.org>:
> Hi debian-isp,
> Probably vast of this group's members are admins dealing with system
> engineering and general administration on a daily basis. Most of you
> did many LAMP or LAMRoR or whatever installations throughout years.
> What I would like to ask You - which suite of apps would you recommend
> to create a farm serving one or multiple (doesn't matter) sites
> ,assumed that we have 1+ boxes
> Why I ask is that since 1998 (when I started playing with unix/linux)
> I know no good technique of having for example two very strong
> physical servers (say bi-quad with 24GB ram each and raid1 1TB disk)
> serving one site with apache/mysql/php on it that will squeeze whole
> computing power from it. Even if I use XEN (which I like v.much) and
> create VMs for separate services Below are problems that i'd like to
> avoid :
> - one standby server (WTF ? I want two of them sweating at a time)
> shared storage :
> - In my opinion _unefficient_ shared storage on NFS kernel mode (I
> dont have access to my ISP's switches) what is _usually_
> single-point-of-failure as it's hard to cluster NFS
> - use of DRBD + GFS2 in multimaster mode is of course possible , but I
> have really bad feelings about using GFS at all (especially on debian)
> - mysql ndb cluster ? Nay sir...
> - mysql in multimaster mode : the only solution is
> but how silly is that to do such workarounds that add extra several
> hours to the after-crash recovery ?
> www/proxy :
> - generally the best part because there are so many
> httpd/proxy/loadbalancers out there like
> cherokee/haproxy/thin/nginx/even apache that I don't mention this part
> of the problem.
> So provided that you have 2 servers ,each capable of 4 strong VMs
> (6GBram/2cpu) - how would You divide this lil'farm to have following
> services : shared mysql database , shared postgresql database, shared
> static content server, non-shared dynamic content (app) server with
> php/ruby/whatever workers
> Few words on the matter will be enough.
> Thank You for reading and answering
> Wojciech Ziniewicz
> To UNSUBSCRIBE, email to debian-isp-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact email@example.com
> Archive: AANLkTikfh6peVZbEH_BT5-shQvCguaDyRrzw0nqN9zpM@mail.gmail.com">http://lists.debian.org/AANLkTikfh6peVZbEH_BT5-shQvCguaDyRrzw0nqN9zpM@mail.gmail.com