You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl@perl.apache.org by Chris <ch...@comcast.net> on 2005/04/06 00:24:44 UTC
Configuration for redundancy?
Greetings,
We have developed a web application using mod_perl and MySQL. We chose the
light Apache + mod_perl Apache + MySQL method.
What we would like to be able to do is come up with a fully redundant setup of
machines so that we can sell this package to company's, install it in their
datacenter and thats it.
We are not very hardware minded, so we are looking for suggestions on what
kind of setup we should deploy. We want to keep redundancy and scalability as
top priority.
One of our basic ideas was to have a setup of 6 machines and a raid array. 3
machines would act as the primary machines, the remaining 3 would be backup
machines. That would leave us with a primary and backup light Apache, same
with mod_perl same with MySQL.
We would like to separate these three entity's so that as the install gets
larger and larger, all we need to do is add machines for that specific
purpose and not have to re-arrange anything.
The machines would each have a small harddrive connected to them, which will
contain the operating system. We would then have a raid setup which the
individual machines would mount (via NFS?) the raid setup would contain the
database files, the core code that powers the application, and any web files
to be served.
Like I said, we are not big into hardware, and this may be overkill or totally
wrong.
Any suggestions are highly appreciated!!
Re: Configuration for redundancy?
Posted by Dzuy Nguyen <dz...@infinity-studios.com>.
I put the servers behind an LVS load balancer. LVS is an L4 load
balancer, so all servers
behind it must have identical functions and content. I use keepalive to
monitor the servers
and automatically takes it out of the load balancer if it goes down.
When I add a new
machine, just replicate it and put it in the load balancing farm. There
is no idle machine
in this setup. It is totally redundant and highly available.
For the database server, you can have one master and slave MySQL
server. You can use
the load balancer to balance them too. Keepalive has a concept of
emergency server so
you can configure your slave MySQL server to be it.
What you described is kind of similar to a project that I was going to
do - with a blade
server. The main data storage is on a NAS. The master blade acts as
the load balancer/router/
NFS server. It boots from a flash disk with a small embedded Linux.
All other blades can
boot from flash or PXE which downloads the OS from the NFS server, loads
and runs a
small OS in memory. The application is NFS mounted read only. Logging
can be done
via network log so the server can take a power outage well. For
redundancy of the master
blade, you can dedicate another blade to monitor the master blade and
takes over if the
master goes down.
Chris wrote:
>Greetings,
>
>We have developed a web application using mod_perl and MySQL. We chose the
>light Apache + mod_perl Apache + MySQL method.
>
>What we would like to be able to do is come up with a fully redundant setup of
>machines so that we can sell this package to company's, install it in their
>datacenter and thats it.
>
>We are not very hardware minded, so we are looking for suggestions on what
>kind of setup we should deploy. We want to keep redundancy and scalability as
>top priority.
>
>One of our basic ideas was to have a setup of 6 machines and a raid array. 3
>machines would act as the primary machines, the remaining 3 would be backup
>machines. That would leave us with a primary and backup light Apache, same
>with mod_perl same with MySQL.
>
>We would like to separate these three entity's so that as the install gets
>larger and larger, all we need to do is add machines for that specific
>purpose and not have to re-arrange anything.
>
>The machines would each have a small harddrive connected to them, which will
>contain the operating system. We would then have a raid setup which the
>individual machines would mount (via NFS?) the raid setup would contain the
>database files, the core code that powers the application, and any web files
>to be served.
>
>Like I said, we are not big into hardware, and this may be overkill or totally
>wrong.
>
>Any suggestions are highly appreciated!!
>
>