We have ourselves quite a quandary right now. For some time, we've been planning on setting up a failover cluster for our existing servers. The plan so far has been to set up a 2-node GlusterFS fileserver cluster for mail, websites, and configuration for every other service we run (we currently have servers for SMTP, POP, web, MySQL, DNS, RADIUS, and VoIP), then set up an idle failover server to pick up the load when one of these services dies.

One problem is that most of these servers run Debian. The new GlusterFS cluster is running Ubuntu 14.04 LTS, as is our main web server and the failover server. Another problem is that Pacemaker's idea of creating clusters doesn't have anything to do with Debian, and its Ubuntu offering seems to have gone pear-shaped with the release of 14.04. Ubuntu has dropped the cman package and that's pretty much the way Pacemaker makes the cluster work, period.

So now I'm stuck in the middle with hardware that we've acquired, and software that we were planning on using that has no way of actually working, as far as I know.

So my question is, is there another way of accomplishing our goal? "Build a whole new cluster and migrate everything to it" has traditionally been the path of insanity and disaster for us, and we're not about to go down that road again. We have thousands of existing users that we need to make service more reliable for, not less.

Your suggestions would be much appreciated.


One relatively smooth path which does not require completely rebuilding your clusters all at once is to abstract your applications from your OS using Docker containers.

Similarly to the way virtualization abstracts hardware, Docker containers that you set up run on any Linux OS. The solution for this specific scenario would to be install Docker on the existing servers and start migrating the services running on the installed OSs into Docker containers.

This is not necessarily a trivial task, and it will still be necessary to architect something that allows data sync between the containers, however it removes the current headache which is the diversity of the operating systems and what is and is and is not supported. Docker will allow you to build containers on top of the existing OSs that will work.

Specifically with regards to GlusterFS there seems to be mixed results when it comes to using Docker containers for deployment and operation, and it may be worthwhile to consider other syncing / clustering options also. For Gluster on Docker have a look here and here.

  • Did you mean Docker on Gluster? Gluster, being a distributed network filesystem, would probably work better as the underlying filesystem to Docker, which I would imagine, wouldn't even notice if Gluster is there or not. I've already got that part set up, I don't think I need to do it all over again. :) – Ernie Mar 10 '15 at 19:32
  • Also, it seems that Docker is more of an application packager? We don't do much beyond hosting some websites, e-mail, and VoIP so I'm a bit unclear how this would help. – Ernie Mar 10 '15 at 19:36
  • Docker is not an application packager. Think of it more like virtualization, although it's not exactly virtualization. It creates lightweight containers on top of the OS which run applications - eg. web servers, mail servers, whatever. The links attached to the answer show how you can set up Gluster inside a Docker container, which effectively means your underlying OSs and their challenges become irrelevant. Docker will also facilitate high availability for your applications if you choose to go down that route. – jotap Mar 10 '15 at 20:02

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.