[TriLUG] Experience with clustered file-sharing solutions for CentOS

Michael Coburn michael at gravis.ca
Wed Oct 23 23:04:11 EDT 2013


Hi Jeff,

First post from me, be gentle. :)

What specifically about DRBD gave you issue?  I've seen many deployments
work as advertised.  One of the most common deployment I've seen is based
on two MySQL servers with Pacemaker (doing VIP management) and a DRBD
failover -- I'm very interested to hear what turned you off of DRBD.  It
has it's warts, just not sure which of them were the most unpalatable.

If you want to get more of a bang, what about setting up a master and
slave(s)? Does your wordpress environment know about read/write splitting?
if yes, great you will be able to use slaves for reads right out of the
gates for the majority of your reads. If it doesn't do read/write splitting
then still you could set up one slave as a failover node -- using something
like MHA <https://code.google.com/p/mysql-master-ha/> to automatically (or
manually) promote the standby to active master.  Further you could have yet
another slave acting as a delayed slave (using for example
pt-slave-delay<http://www.percona.com/doc/percona-toolkit/pt-slave-delay.html>)
so that in the event of a SQL failure you still have a machine you could
promote with a known good dataset.

You might also want to consider a Percona XtraDB
Cluster<http://www.percona.com/software/percona-xtradb-cluster>or
MariaDB
Cluster <https://mariadb.com/kb/en/mariadb-galera-5533a-release-notes/>implementation
for the DB backend, fronted by a load balancer such as
haproxy <http://haproxy.1wt.eu/> -- that way you get built-in HA because
each node is effectively a master (can handle writes) and a node failure
doesn't take down your cluster -- haproxy just detects the failed node and
fences it, and life goes on.  PXC is a pretty great fit for a read-heavy
application such as Wordpress. And hey, it is all Open Source :)

I generally would shy away from the shared storage solution for MySQL -- it
just isn't as needed given the capabilities of replication or Galera
clustering.  Plus shared storage incurs the overhead of the network which
penalizes you for latency, of which databases are very sensitive to..  if
you have the budget then putting in a RAID of SSDs or even
FusionIO/Virident cards are where the true wins are (provided you need the
reduced latency/major IOPS provided by these disk subsystems).

I'm curious what about your environment requires the  clustered filesystem
approach? if you're pushing Wordpress application updates, can't those just
live on the local drives of the application servers?  content can live on
yet another cluster of app boxes (maybe there you need the clustered FS,
but maybe not if it is just a few GB of images/content which rsync could
handle)  Would it be easier if you could just treat your app servers as
discrete, disposable machines that just run the app code and a web instance
-- i.e. no access to a shared content pool required?

But your question was about shared storage: I've used
IBRIX<https://en.wikipedia.org/wiki/IBRIX_Fusion>and
Polyserve <https://en.wikipedia.org/wiki/PolyServe_file_system> (oh man
"page deleted" am I getting that old?!) and they worked like champs -- if
you can afford IBRIX then you won't go wrong.  But they taint the kernel
and cost many dollars.

michael


On Wed, Oct 23, 2013 at 4:52 PM, Jeffrey Macko <jmacko at macko.net> wrote:

> While I'm not sure it's up to the task of being back end storage for
> MySQL, I've been using http://www.gluster.org/   In production for two
> years now as backend storage for a website on AWS.  Have not had
> reliability issues.
>
> --Jeff
>
> -----Original Message-----
> From: trilug-bounces at trilug.org [mailto:trilug-bounces at trilug.org] On
> Behalf Of Ron Kelley
> Sent: Tuesday, October 22, 2013 8:20 AM
> To: Triangle Linux Users Group General Discussion
> Subject: [TriLUG] Experience with clustered file-sharing solutions for
> CentOS
>
> Greeting all,
>
> I have been doing some research on a cluster file sharing solution for
> CentOS and was looking for other real-world experiences.  Our team is
> building a WordPress environment and need a highly available storage
> solution to host the web sites as well as the MySQL databases.  We will
> have many front-end web servers that connect to a clustered MySQL database,
> and both the web servers and cluster database servers will mount
> directories from the HA file servers.  The solution needs to support
> multiple storage nodes that have mirrored data pools between them.  I have
> looked at DRBD but have experienced too many issues with it to use for
> production.
>
> Can anyone recommend a solution for this based upon personal experience?
>
> Thanks,
>
> -Ron
> --
> This message was sent to: Jeffrey Macko <jmacko at macko.net> To
> unsubscribe, send a blank message to trilug-leave at trilug.org from that
> address.
> TriLUG mailing list : http://www.trilug.org/mailman/listinfo/trilug
> Unsubscribe or edit options on the web  :
> http://www.trilug.org/mailman/options/trilug/jmacko%40macko.net
> Welcome to TriLUG: http://trilug.org/welcome
> --
> This message was sent to: Michael Coburn <michael+trilug.org at gravis.ca>
> To unsubscribe, send a blank message to trilug-leave at trilug.org from that
> address.
> TriLUG mailing list : http://www.trilug.org/mailman/listinfo/trilug
> Unsubscribe or edit options on the web  :
> http://www.trilug.org/mailman/options/trilug/michael%2Btrilug.org%40gravis.ca
> Welcome to TriLUG: http://trilug.org/welcome
>


More information about the TriLUG mailing list