[Linux-cluster] MySQL Cluster

Gordan Bobic gordan at bobich.net
Tue Apr 29 23:38:24 UTC 2008


Tiago Cruz wrote:

>> You could use DRBD in primary-primary mode with GFS on top and external 
>> locking in MySQL. It would work, but performance would suffer a great 
>> deal. It depends on what kind of throughput you need.
> 
> Yes... I'm not tried this yet, maybe should I try... I'll get some good
> redundancy of servers!
> 
> But, I was researching about mysql "master -> master" that should be a
> good throughput/ redundancy. Did you already use this? 

See below - it's a.k.a. round-robin replication.

>> Depending on your application, you could use something like MySQL 
>> round-robin replication. In that configuration, MySQL servers replicate 
>> in a ring.
> 
> The Ring, it's some like this: (?)
> 
> A -> B -> C -> A
> 
> Right? So... If I lost the "B" server... "A" will can't sync "C"?
> 
> Sound like dangerous for me :-)

Failover can be handled, and if you only use MyISAM tables, you can just 
"LOAD DATA FROM MASTER" to resync. If all the servers are 100% in sync, 
though, with replication log pointers being the same, you could just 
thump the master.info file on the next server in the chain and short the 
replication circuit as a quick fix until you can resync with the fixed 
server.

PostgreSQL can be set up to do star-topology replication, so losing one 
server wouldn't lead to replication breaks, but you'd have to implement 
it yourself with triggers and some pl/perl magic.

>>  The downside is that there is a race condition inherent in 
>> the design, if you think about it carefully. (DRBD+GFS+ MySQL with 
>> external locking doesn't suffer the race condition.) If this potential 
>> race condition is not a concern for your application, then performance 
>> wise, it is likely to be the optimal solution for you. Since you said 
>> that fail-over is not an option for you, I am assuming that the load you 
>> plan to put through it is too great for one server to handle (I have 
>> seem low-spec servers with MySQL churning out 100,000+ queries per 
>> second when tuned up correctly). If you are dealing with this sort of 
>> load, DRBD+GFS+MySQL isn't going to cut it and round-robin replication 
>> with the mentioned race condition is pretty much your only option.
> 
> Well, this LAMP-HA will be hands a lot of end-user application, like
> Wordpress, Joomla, phpBB and etc, so I don't know if I'll have race
> condition :-(

Probably not. The race condition itself is very difficult to provoke 
under normal circumstances. You would have to have two separate threads 
operating on the same records, and in specific order for it to arise.

Gordan




More information about the Linux-cluster mailing list