Raspberry Pi as third node

From Proxmox VE
Jump to navigation Jump to search

This article is outdated and can get you trouble fast if you ain't able or willing to troubleshoot Corosync. Never use it in a production environment! Simply use a QDevice as alternative!

For a current and better alternative, see: https://pve.proxmox.com/pve-docs/chapter-pvecm.html#_corosync_external_vote_support

NOTE: Ideally you install the Stretch version of Raspbian now, then you won't need to enable any backport repository. Further please take a look at corosync qdevice: https://www.mankier.com/8/corosync-qdevice it is much less resource hungry and less error prone, as with it the Raspberry Pi acts as quorum tie only, without running (parts of) Proxmox VE cluster stack.

This short wiki will document how to prepare and configure a Rasberry Pi to use as third node (witness) in a Proxmox cluster. This how-to has been tested on a Rasberry Pi v3 but should also work on any other Rasberry Pi version where Raspbian is available. Raspbian version is Jessie.

  1. Login as root on your Pi
  2. Install Debian Jessie (Standard system utilities and SSH server)
  3. echo "deb http://ftp.debian.org/debian jessie-backports main contrib" > /etc/apt/sources.list.d/jessie-backports.list
  4. gpg --keyserver pgpkeys.mit.edu --recv-key 7638D0442B90D010 && gpg -a --export 7638D0442B90D010 | apt-key add -
  5. gpg --keyserver pgpkeys.mit.edu --recv-key 8B48AD6246925553 && gpg -a --export 8B48AD6246925553 | apt-key add -
  6. apt-get update
  7. apt-get -t jessie-backports install corosync
  8. sed -i 's/without-password/yes/' /etc/ssh/sshd_config && systemctl restart ssh
  9. scp <ip of pve node>:/etc/corosync/* /etc/corosync
  10. add new node under nodelist in /etc/corosync.conf (copy one of the current and adjust)
    for NODE in <ip of pve node 1> <ip of pve node 2>; do
    scp /etc/corosync/corosync.conf $NODE:/etc/corosync
  11. ssh <ip of pve node 1> systemctl restart corosync
  12. ssh <ip of pve node 2> systemctl restart corosync
  13. systemctl start corosync
  14. run corosync-quorumtool to check all three nodes are registered as online and that there is quorum:
    corosync-quorumtool | grep Quorate:
    Quorate: Yes


  • pve-manager is missing so don't add to /etc/pve/corosync.conf.
  • If new node is added pve-manager will overwrite /etc/corosync/corosync.conf
  • Use this at your own risk.