Corosync QDevice

107 views
Skip to first unread message

Thomas Johnson

unread,
Dec 13, 2025, 9:18:22 AM12/13/25
to esos-users
I am looking to get this installed on a dual controller SC4020 I repurposed from the scrap pile. While this seems to have 99% of the clustering features I need (corosync, pacemaker, etc.), it is unfortunetly missing the corosync-qdevice package which seems to have been split from corosync at some point. What would be the easiest way to get this included in my installation? I looked through the build instructions but couldn't quite tell how I would go about this or if this might be added at some point in the future to the project.

Thanks,
TJ

Thomas Johnson

unread,
Dec 19, 2025, 11:59:51 AM12/19/25
to esos-users
After looking at this agian, I believe the issue here is an extremely outdated version of corosync which did have qdevice included but does not work. I have been attempting to modify the make file to try using the newest version of corosync and corosync-qdevice but have been unable to figure out how to get this working.

At this point, I am at a bit of a loss on how to modify the build process for updating these. Any advice on how I could go about that to do testing? Unfortunately I am lacking proficiency in this area and will need some advice on how to proceed here or if there are plans to update these packages. On a side note to this, pacemaker is also super outdated and I assume other packages are as well. Are there any plans to update these currently? Would be happy to do testing on my end if the above is addressed.

Thanks,
TJ

Thomas Johnson

unread,
Dec 19, 2025, 11:59:51 AM12/19/25
to esos-users
Some clarification to this:

The purpose for adding this package would be to allow adding a third node to the cluster as a quorum only device. I am currently doing this on the same system with Ubuntu Server installed which I was able to install this packing on using APT, but in an effort to reduce overhead I'm looking to switch to ESOS. Having this available would allow me to continue using the third node to maintain a quorum if one of the controllers became unavailable.

After trying to figure out how to modify the build configuration to add this package (and dep: libqb) I am at a complete loss having never done any compiling before. I don't think I will likely be able to go this route without some guidance (ChatGPT failed me yet again here).

Thanks,
TJ

On Saturday, December 13, 2025 at 8:18:22 AM UTC-6 Thomas Johnson wrote:

Marc Smith

unread,
Jan 2, 2026, 10:35:41 AMJan 2
to esos-...@googlegroups.com
At first glance it appears it would be as simple as adding the
'corosync-qdevice' package; the requirements state it needs Corosync
>= 2.0 and NSS. We should look at updating packages in ESOS soon --
yes most are outdated, needs quite a bit of TLC.

You could try modifying Makefile.in and adding a new target:
corosync_qdevice.chroot

You can pre-populate the tarball locally first for testing. I'll try
to find some time to look at this in the coming days.

--Marc


>>
>> Thanks,
>> TJ
>
> --
> You received this message because you are subscribed to the Google Groups "esos-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to esos-users+...@googlegroups.com.
> To view this discussion visit https://groups.google.com/d/msgid/esos-users/08d6d9b2-2059-42ba-88c3-efad3dc4ecadn%40googlegroups.com.

Thomas Johnson

unread,
Jan 7, 2026, 3:26:15 PMJan 7
to esos-users
Thanks for looking into this. I saw you made a commit on the master branch which added corosync-qdevice and some other changes. From quickly trying some things out it seemed to work fine, but I will likely be installing the new version for real testing over the weekend and let you know how it goes.

Looking at your commit f8830ae, I was clearly doing something very wrong or had a bad build environment.

Really appreciate the quick turnaround!

Marc Smith

unread,
Jan 7, 2026, 4:42:02 PMJan 7
to esos-...@googlegroups.com
On Wed, Jan 7, 2026 at 3:26 PM Thomas Johnson <hibo...@gmail.com> wrote:
>
> Thanks for looking into this. I saw you made a commit on the master branch which added corosync-qdevice and some other changes. From quickly trying some things out it seemed to work fine, but I will likely be installing the new version for real testing over the weekend and let you know how it goes.
>
> Looking at your commit f8830ae, I was clearly doing something very wrong or had a bad build environment.
>
> Really appreciate the quick turnaround!

Thanks for checking it out -- I verified it was built on my machine
but didn't actually test the rc/init scripts yet on a running
system...

--Marc
> To view this discussion visit https://groups.google.com/d/msgid/esos-users/b4522427-f97b-4e30-a914-bd4fffed706dn%40googlegroups.com.

Thomas Johnson

unread,
Jan 13, 2026, 7:30:01 PMJan 13
to esos-users
Currently I am getting stuck on creating the cluster. Most new documentation I can find references PCS for configuring the cluster. The links in your wiki refer to depreciated documentation, so I have tried to look elsewhere for crmsh commands to configure the cluster without PCS.

# crm cluster join
! No NTP service found.
Do you want to continue anyway (y/n)? y
! Failed to detect firewall: Could not open ports tcp=30865|5560|7630|21064, udp=
date: unrecognized option '--rfc-3339=seconds'
BusyBox v1.30.1 (2026-01-06 00:39:14 UTC) multi-call binary.
....
  Join This Node to Cluster:
....
  IP address or hostname of existing node (e.g.: 192.168.1.1) [] node1.example.com
ERROR: cluster.join: Failed to start sshd.service

# crm cluster stop
ERROR: cluster.stop: systemd failed to stop corosync: /bin/sh: line 1: systemctl: command not found


I attempted to manually add the nodes using 'crm configure' > 'node node1.example.com' and vice versa on the other node but was unable to make them sync with eachother after doing a keygen and copying /etc/corosync/authkey between the nodes. Are you able to provide any insight on how to use crm or other methods to configure the cluster since I can't seem to create it (crm cluster init also failed on sshd) using usual methods?

Marc Smith

unread,
Jan 15, 2026, 2:43:43 PMJan 15
to esos-...@googlegroups.com
On Tue, Jan 13, 2026 at 7:30 PM Thomas Johnson <hibo...@gmail.com> wrote:
>
> Currently I am getting stuck on creating the cluster. Most new documentation I can find references PCS for configuring the cluster. The links in your wiki refer to depreciated documentation, so I have tried to look elsewhere for crmsh commands to configure the cluster without PCS.
>
> # crm cluster join
> ! No NTP service found.
> Do you want to continue anyway (y/n)? y
> ! Failed to detect firewall: Could not open ports tcp=30865|5560|7630|21064, udp=
> date: unrecognized option '--rfc-3339=seconds'
> BusyBox v1.30.1 (2026-01-06 00:39:14 UTC) multi-call binary.
> ....
> Join This Node to Cluster:
> ....
> IP address or hostname of existing node (e.g.: 192.168.1.1) [] node1.example.com
> ERROR: cluster.join: Failed to start sshd.service
>
> # crm cluster stop
> ERROR: cluster.stop: systemd failed to stop corosync: /bin/sh: line 1: systemctl: command not found
>
>
> I attempted to manually add the nodes using 'crm configure' > 'node node1.example.com' and vice versa on the other node but was unable to make them sync with eachother after doing a keygen and copying /etc/corosync/authkey between the nodes. Are you able to provide any insight on how to use crm or other methods to configure the cluster since I can't seem to create it (crm cluster init also failed on sshd) using usual methods?

Ah, yeah, in ESOS we use crmsh not PCS. That said, I've never
personally tried using 'crm' to configure anything in the Corosync
config itself -- just the resource manager (Pacemaker) and any service
start/stop commands probably won't work as you pointed out. I usually
configure corosync.conf by hand and generate the keys and exchange
them between the nodes. Use /etc/rc.d/ scripts to manually start
Corosync and Pacemaker.

--Marc
> To view this discussion visit https://groups.google.com/d/msgid/esos-users/f8223ea9-0a97-47b4-8b59-2f786e6d00b2n%40googlegroups.com.

Thomas Johnson

unread,
Jan 16, 2026, 2:35:38 PMJan 16
to esos-users
Corosync-qdevice does seem to be functional now, however there is some wonkyness because it also doesn't like sshd not being a thing. Using "corosync-qdevice-net-certutil -Q -n <clusterName> <qdevice-IP> <node1-IP> <node#-IP>" prompts through the nodes (quite a few times) and signs/copies certs as needed. I was able to successfully create a 2 node cluster with a quorum device.


A few other things I noticed that are related:
- Newer versions of corosync use "/usr/sbin/corosync-cfgtool -H --force" to stop the service. "--force" is not available in the version used here, but it may make sense to change this down the line.
- corosync.conf had some weirdness that prevented me from being to start corosync again after stopping it. I took the latest example file available and verified it works. I'll be testing this a bit more and possibly making a pull request if I find something is actually broken here.
- /var/log/corosync does not exist which causes the corosync service to not start when logging is enabled with the default location. The old corosync config (prior to my pull) uses /var/log/cluster which also doesn't exist.


There are some other issues I ran into regarding package versions, but I'll start up another thread since the issue here was resolved. Appreciate the assistance!
Reply all
Reply to author
Forward
0 new messages