Cluster-Setup (HA mit Corosync/Pacemaker)

Aus homelab-wiki.de
Zur Navigation springen Zur Suche springen

Hochverfügbarkeits-Cluster mit Corosync & Pacemaker unter Debian 12

Ziel

Einrichten eines einfachen 2-Knoten HA-Clusters mit Pacemaker, Corosync und PCS auf Debian 12.

Voraussetzungen

Hostname IP-Adresse
node1 10.0.0.10
node2 10.0.0.11
  • Frische Debian 12-Installation auf beiden Knoten
  • Root-Zugang oder sudo
  • Zeitsynchronisierung (z. B. via chrony oder ntp)

Hostnamen & /etc/hosts einstellen

Auf beiden Knoten:

echo "node1" > /etc/hostname   # nur auf node1
echo "node2" > /etc/hostname   # nur auf node2

Datei /etc/hosts bearbeiten:

127.0.0.1   localhost
10.0.0.10   node1
10.0.0.11   node2

Netzwerkverbindung testen

ping -c3 10.0.0.11  # von node1
ping -c3 10.0.0.10  # von node2

Installation der Pakete

Auf beiden Knoten:

sudo apt update
sudo apt install -y corosync pacemaker pcs

Benutzer für pcs konfigurieren

sudo passwd hacluster

Das Passwort auf beiden Knoten identisch setzen!

pcs-Dienst aktivieren und starten

sudo systemctl enable pcsd
sudo systemctl start pcsd

Firewall deaktivieren (zum Testen)

sudo ufw disable  # oder:
sudo systemctl stop firewalld

Authentifizierung der Knoten

Auf einem der Knoten (z. B. node1):

sudo pcs host auth node1 node2 -u hacluster

Cluster einrichten

Auf node1:

sudo pcs cluster setup --name ha-cluster node1 node2
sudo pcs cluster start --all
sudo pcs cluster enable --all

Clusterstatus prüfen

pcs status

Beispiel: Virtual IP als Ressource

Füge eine Cluster-VIP hinzu (z. B. 10.0.0.100):

sudo pcs resource create ClusterIP ocf:heartbeat:IPaddr2 ip=10.0.0.100 cidr_netmask=24 op monitor interval=30s

STONITH deaktivieren (nur für Testumgebungen)

sudo pcs property set stonith-enabled=false
sudo pcs property set no-quorum-policy=ignore

Test des Clusters

  • Prüfe mit ip a, ob die VIP (z. B. 10.0.0.100) aktiv ist.
  • Simuliere einen Ausfall durch Herunterfahren eines Knotens:
sudo shutdown now

Hinweise

  • In produktiven Umgebungen sollte STONITH korrekt konfiguriert werden.
  • Weitere Ressourcen wie Apache, MariaDB oder DRBD können ebenfalls integriert werden.