We are deploying a GlusterFS cluster with 4 nodes, and we want to deploy the Percona XtraDB Cluster on top of it with 4 nodes, each node will have a mounted folder from the GlusterFS, each mount will be a separate one, not a shared one.

The total size of the GlusterFS will be about 6TB - 8TB, and we plan to expand it to 20TB on the next two months of deployment. The volume will have 4 NFS exports, one for each Percona XtraDB Cluster node.

Those are the plans that we have so far, waht I need is an advice if this setup is recomended, or better instead, what do you recommend for a setup like that? The GlusterFS cluster will go, cause we have other servers that will share some files (this will not be its main purpose, this files will be rarely accessed, but those file are needed to be on that cluster). What we need is a Data base cluster for high availability and load balancing, and we was thinkin about using the main glusterfs for the database storage. We know that its a bad idea to use the same db file on all the nodes, thats the reason that we will have 4 NFS mounts, one for each db node.

I hope that you understand my point and that you can provide a good advice of some options to this need. By the way, all the servers will be the latest version of Ubuntu Server.

Thanks in advance.

  • XtraDB Cluster replicate the local disk data over the network, glusterfs does the same, why do we need this kind of configuration? – c4f4t0r Jun 19 '20 at 19:27

I've did this , exactly this

But ...

... since the results with XtraDB ON TOP of gluster were mixed ,

in the end the thingy was moved to a triple-headed percona Cluster with ProxySQL , your database speeds will be much faster without the "high-latency" glusterFS Layer (at least in production database scenario with "live responses" , if you can wait for your results to be sent by mail next week or next month .. then it should be ok)

→ Use a non-even number both scenarios ( spreading volumes,cluster XtraDB) like 3 5 7 and so on ( or use arbiter volumes in gluster ) to prevent Quorum/SplitBrain issues

→ in gluster deploy bitrot feature

*→ use ECC Memory where possible , recommended minimum size formula:

{ 1GB(daemon/cache) + ( 1GB RAM * TBytes storage ) }

→ Also remember that for increased performance in specific scenarios and when using excessive locking (database usage) , NFS mount may outperform the native gluster mount

general tips:

in another thread , it is stated

From my experience, the performance differences are huge. After switching my web app from FUSE to NFS load times decreased from 1.5 - > 4 seconds to under 1 second. Also I tried extracting some archives today and it seems to take 4-5 times longer on FUSE

a benchmark example is here

Benchmark1 Benchmark2


Each node of the cluster must use its own space without sharing the files. GlusterFS should be used as an elastic storage the remove the size limit of a shared disk. Percona XtraDB Cluster can scale performance but not DB size so if you plan to have huge databases (in size) you could use GlusterFS otherwise I would just use local storage, SSD local storage even better.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.