Forum Moderators: open

Message Too Old, No Replies

Looking for Clustering avice

         

PCSceo

7:35 pm on Jul 6, 2006 (gmt 0)

10+ Year Member



Currently we have a 2 machine system serving a few e-comm sites we own. Front end apache web server running linux and back end mysql database server running redhat enterprise. After our web server had a hard drive failure over the weekend we have decided we need to go fully redundant. We were thinking 2 front end web servers and 2 back end database servers for redundancy and load balancing.

Anyone have any advice on a solution or solution provider to accomplish this?

Thanks a lot!

-dave

aspdaddy

4:39 pm on Jul 16, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



After our web server had a hard drive failure over the weekend we have decided we need to go fully redundant.

For drive redundancy why not just use RAID with hot spares? That way whenever a drive goes it just fails over with no effect on performance. Even if two drives were to go down it would still work.

lammert

9:20 pm on Jul 16, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member Top Contributors Of The Month



RAID does not give the same level of redundancy as two separate servers. Especially when the RAID controller goes nuts, or when you use RAID5 and one of the disks is slowly detoriating. The errors might spread over the other disks without any warning. And there is much more that can fail in a computer than just the drives.

When setting up two database servers, you should use replication between the two MySQL instances. In simple configurations, one is assigned the task of master, the other one slave. For easiest replication, you should make sure that updates and inserts in the database are only performed at the master. If the changes occur simultaneously in the master and slave database, inconsistencies may occur which can cause database integrity problems. One such problem is with auto_increment fields. If an insert takes place in the same tables on both databases, both MySQL instances will assign the same auto_increment value to the new record, although the records are different. See the MySQL manual for the auto_increment_increment, and auto_increment_offset system variables for a solution with a multi-master setup.

aspdaddy

9:41 am on Jul 17, 2006 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Sure, but the OP specifically mentioned disk failure which is best and easiset protected with RAID and hot spares.

And there is much more that can fail in a computer than just the drives.

And it doubles with each computer added, so without the NIC Teaming, RAID arrays, Redundant X-Over UPS and Fans, a cheap cluster is more likely to fail than a resillient standalone.

sja65

7:10 pm on Jul 27, 2006 (gmt 0)

10+ Year Member



For your webservers, just set up DNS with 2 ips 1 pointing at each machine. On your webservers, have a script checking for the existance of the other machine (anything from a simple ping to a complete test of all applications). When a machine goes down, the other machine adds the other ip address so it answers to both ips. For added complications, you can also take over the mac address or use a programmable switch to block the dead machine from the network (bad network card spewing data).

stajer

9:40 pm on Jul 27, 2006 (gmt 0)

10+ Year Member



pcsceo - you are about to discover the difference in cost between 99.9% uptime and 99.999% uptime. It is significant.

I recommend first determining how much revenue/profit you stand to lose if you site is down for 525.6 minutes a year (99.9% uptime) and compare it to how much you will have to spend to make everything redundant.

Depending on your business, load balanced web servers coupled with a well configured, raid enabled regularly maintained db server is probably a good balance of cost/reliability.

ALSO, DON'T FORGET BACKUP. SET BACKUP ONCE. REVIEW IT MONTHLY!