Raspberry Pi as third node

From Proxmox VE
Revision as of 13:55, 20 February 2020 by A.lauterer (talk | contribs) (clarify what this article is actually for)
Jump to navigation Jump to search

This article describes how to get a full Corosync instance running on an Raspberry Pi. This is only suited for testing or homelab use. Never use it in a production environment! Simply use a QDevice!


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
    done
  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

WARNING

  • 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.