Sign inSign up

cloudsprocket/corosync-qnetd

Sponsored OSS

By CloudSprocket

Updated 3 days ago

External Corosync QDevice for Proxmox VE clusters, built on Debian 13 trixie.

Image
0

4.4K

cloudsprocket/corosync-qnetd repository overview

corosync-qnetd

External Corosync QDevice arbitrator for Proxmox VE 9 clusters. Supplies the extra quorum vote that lets an even numbered cluster, or a cluster running with some of its nodes powered down, stay quorate.

Built on debian:trixie-slim, because Proxmox VE 9 is itself trixie based. That keeps the qnetd server on the same corosync 3.0.x branch as the corosync-qdevice clients on the nodes.

Supported platforms

  • linux/amd64
  • linux/arm64

Tags

  • latest: current build
  • trixie: the same build, named for the Debian release it is built on
  • vX.Y.Z: immutable release, published on tagged builds

Use

docker run -d \
  --name qnetd \
  --restart unless-stopped \
  --network br0 \
  --ip 192.168.1.50 \
  -v /mnt/user/appdata/qnetd/nssdb:/etc/corosync/qnetd/nssdb \
  -v /mnt/user/appdata/qnetd/authorized_keys:/root/.ssh/authorized_keys:ro \
  cloudsprocket/corosync-qnetd:trixie

Then, from one Proxmox node, with corosync-qdevice installed on every node:

pvecm qdevice setup 192.168.1.50

Notes

  • Port 5403 is TCP, not UDP. Mapping it as UDP produces a QDevice that never connects, and nothing in the logs explains why.
  • Persist /etc/corosync/qnetd/nssdb. It holds the CA and the signed node certificates. Losing it does not raise an error, it just silently stops the QDevice voting.
  • The container needs SSH access on port 22 for pvecm qdevice setup. Mount an authorized_keys file, or set ROOT_PASSWORD for the initial ssh-copy-id. It refuses to start if neither is configured.
  • No CA and no root password are baked into the image. A fresh CA is generated on first start.

Tag summary

Content type

Image

Digest

sha256:87cc545c9

Size

42.6 MB

Last updated

3 days ago

docker pull cloudsprocket/corosync-qnetd

This week's pulls

Pulls:

125

Last week