Make Linux cluster! – Pitfalls and observations

Meanwhile I was writing applications for me, I always thinking how I could make my environment more bulletproof and stable. Fact, that I was using single systems, was always a single point of failure. Until now! At least on operating system level, I am beyond this obstacle.

This article is part of a series. Full series:
Make Linux cluster! – Beginning
Make Linux cluster! – Configure resources
Make Linux cluster! – Work and test resources
Make Linux cluster! – Pitfalls and observations

Nothing is going smooth at the first time

During implementation and testing, I have met some problem and misunderstanding. I make an article about it to see that nothing is perfect. I had no problem during the base setup, it was started at the first try fine, I had no issues. Issues was later when I have begun to use it.

Documentation could be a bit more modern

First thing, what I want to mention is the documentation. There are man pages in Linux and on websites too, but to be honest, it is not easy to read and understand the syntax based on it. The fact, that it is a complex topic, makes it even more harder. In shell, help only works upto 2 paramters.

ati@atihome:~$ sudo crm help
ati@atihome:~$ sudo crm configure help
ati@atihome:~$ sudo crm configure primitive help
ERROR: syntax in primitive: Expected at least 2 arguments near <primitive> parsing 'primitive help'

In my opinion, it is enoughly complex command to could have more deeper help description. If I go to a man page on website, I can see details about primitive. Why cannot I display it in shell?

You can see in the image a syntax description of order command. It was confusing for me (and some description still confusing). More-or-less it can be understand but words like “first”, “then” or “resource_sets”, could be indicated somehow that we need to change that for something. It is siliary formatted and set as “order” at the beginning of the command.

I show another image as comparison from this source. Even if you don’t know what to command does, but it is easy to follow how it looks and needs to put characters after each other. And it is also a longer command but it can clearly see how to command can be assemble:

Would not it be more nice and transparent by using some graphic? For example:

Do not misunderstand I amd, as somebody who work in IT, very happy that there is even something docuemntation not just fragments what need to puzzle. But I think, it would be useful to go with the world and update man documentation style. At least for the complex commands like crm shell commands.

Some technical issue

I had some technical issue, but I could resolve them. First issue was that after a while Kronosnet connection was dropped among nodes, and due to some policy setting, “split brain” situation happen. I was searching and found a github issue where it was reported.

One advice was to change transport layer to unicast UDP. But corosync 3.* version does not start with “udup” transport and not none crpyto settings.

I have found a github issue where it was discussed and it was written that 3.0.3 version of corosync removes this disconnect bug with Kronosnet. I have checked version, and what was in the Debian buster repository, the newest was 3.0.1 version.

To dismiss this bug, I have upgraded my Debian server and small Raspberry Pi to bullseye version as they are in stable version. Upgrade went fine, fortunately nothing has become broken. After upgrade 3.1.2 corosync versionw as running.

But migration caused some changes in pacemaker (some property was changed to default). After I figoured it out and fix them, it works perfectly now.

Final words – Wath’s next?

I am implemented a cluster, next stop is to make things more available. Not because I am providing service sfor somebody (I am the user, developer, admin, everybody. It is a private home server only for me), but for hobby and experience new things and learn from them. If you read this, thank you for reading this series, I hope my story was interesting (or might usefuly) for you.

Ati

Enthusiast for almost everything which is IT and technology. Like working and playing with different platforms, from the smallest embedded systems, through mid-servers (mostly Linux) and desktop PC (Windows), till the mainframes. Interested in both hardware and software.

You may also like...