Wenn nur 2 Proxmox Server existieren/gebraucht werden und trotzdem ein Cluster erstellt werden soll kann man ein Quorum Device hinzufügen um zu verhindern das etc/pve readonly wird wenn mal einer der Server rebootet/gewartet wird.

Ich habe einen alten RaspberryPI von 2011 genommen da dieser noch rumlag und als reines Quorum Device mehr als ausreichend ist. Er wurde mit einer 4GB SDCard bestückt auf welcher ein minimales Raspian installiert ist mit aktiviertem SSH Server. Mehr ist auch nicht notwendig.

Die beiden Proxmox Server sollten ebenfalls fertig installiert und auf dem neusten Stand sein. Einer der Proxmox Server darf keinerlei Container oder VM's enthalten wenn er dem Cluster beitritt. Auf dem anderen können beliebig viele Container und VM's vorhanden sein und auch laufen, dieser wird unser "Master" auf dem wir den Cluster erstellen.

Wir haben also drei Maschinen laufen mit den folgenden Hostnamen:"Proxmox", "Proxmox2" und "raspberrypi"

So als erstes erstellen wir jetzt auf "Proxmox" den Cluster in einer SSH Konsole:

pvecm create YOUR-CLUSTER-NAME

Überprüfen kann man das ganze mit:

pvecm status

Nun mit "Proxmox2" dem Cluster beitreten:

pvecm add IP-ADDRESS-PROXMOX

Jetzt wechseln wir auf den "raspberrypi" und installieren die nötigen Pakete und erstellen SSH Keys und kopieren sie auf die beiden Proxmox Maschinen damit diese sich Passwortlos anmelden können.

ssh-keygen -t rsa
ssh-copy-id root@IP-ADDRESS-PROXMOX
ssh-copy-id root@IP-ADDRESS-PROXMOX2
apt install corosync-qnetd
systemctl enable corosync-qnetd
systemctl start corosync-qnetd

Nun gehen wir zurück nach "Proxmox" und führen folgende Befehle aus, das gleiche machen wir danach auf "Proxmox2":

ssh-copy-id root@IP-ADDRESS-RASPBERRYPI
apt install corosync-qdevice
systemctl enable corosync-qdevice

Nun gehts wieder zurück auf "Proxmox" und wir erstellen das Quorum Device:

corosync-qdevice-net-certutil -Q -n YOUR-CLUSTER-NAME IP-ADDRESS-RASPBERRYPI IP-ADDRESS-PROXMOX IP-ADDRESS-PROXMOX2

Wenn das ganze sauber durchgelaufen ist muss jetzt nur noch die corosync.conf angepasst werden. Damit diese dann auch gleich auf allen Nodes verteilt wird editieren wir sie in /etc/pve/corosync.conf und passen den quorum Block an:

quorum {
  provider: corosync_votequorum
     device {
         model: net
         votes: 1
         net {
           tls: on
           host: IP-ADDRESS-RASPBERRYPI
           algorithm: ffsplit
         }
     }
}

Jetzt noch im totem Block die config_version um 1 erhöhen damit die config auch neu syncronisiert wird.
Zum Schluss starten wir auf beiden "Proxmox" Maschinen den qdevice Service neu:
systemctl restart corosync-qdevice

Wenn alles geklappt hat sollte der Befehl corosync-quorumtool auf einer der Proxmox Maschinen nun folgendes ausgeben:

Date:             Sat Aug 25 12:24:30 2018
Quorum provider:  corosync_votequorum
Nodes:            2
Node ID:          1
Ring ID:          2/8
Quorate:          Yes

Votequorum information

Expected votes:   3
Highest expected: 3
Total votes:      3
Quorum:           2
Flags:            Quorate Qdevice

Membership information

    Nodeid      Votes    Qdevice Name
         2          1    A,V,NMW 192.168.1.130
         1          1    A,V,NMW 192.168.1.150 (local)
         0          1            Qdevice