Cluster-Setup (HA mit Corosync/Pacemaker): Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
K Schützte „Cluster-Setup (HA mit Corosync/Pacemaker)“ ([Bearbeiten=Nur Administratoren erlauben] (unbeschränkt) [Verschieben=Nur Administratoren erlauben] (unbeschränkt)) |
Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
= 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 == | |||
{| class="wikitable" | |||
! 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''': | |||
<syntaxhighlight lang="bash"> | |||
echo "node1" > /etc/hostname # nur auf node1 | |||
echo "node2" > /etc/hostname # nur auf node2 | |||
</syntaxhighlight> | |||
Datei '''/etc/hosts''' bearbeiten: | |||
<syntaxhighlight lang="bash"> | |||
127.0.0.1 localhost | |||
10.0.0.10 node1 | |||
10.0.0.11 node2 | |||
</syntaxhighlight> | |||
== Netzwerkverbindung testen == | |||
<syntaxhighlight lang="bash"> | |||
ping -c3 10.0.0.11 # von node1 | |||
ping -c3 10.0.0.10 # von node2 | |||
</syntaxhighlight> | |||
== Installation der Pakete == | |||
Auf '''beiden Knoten''': | |||
<syntaxhighlight lang="bash"> | |||
sudo apt update | |||
sudo apt install -y corosync pacemaker pcs | |||
</syntaxhighlight> | |||
== Benutzer für pcs konfigurieren == | |||
<syntaxhighlight lang="bash"> | |||
sudo passwd hacluster | |||
</syntaxhighlight> | |||
Das Passwort auf '''beiden Knoten identisch''' setzen! | |||
== pcs-Dienst aktivieren und starten == | |||
<syntaxhighlight lang="bash"> | |||
sudo systemctl enable pcsd | |||
sudo systemctl start pcsd | |||
</syntaxhighlight> | |||
== Firewall deaktivieren (zum Testen) == | |||
<syntaxhighlight lang="bash"> | |||
sudo ufw disable # oder: | |||
sudo systemctl stop firewalld | |||
</syntaxhighlight> | |||
== Authentifizierung der Knoten == | |||
Auf '''einem''' der Knoten (z. B. node1): | |||
<syntaxhighlight lang="bash"> | |||
sudo pcs host auth node1 node2 -u hacluster | |||
</syntaxhighlight> | |||
== Cluster einrichten == | |||
Auf node1: | |||
<syntaxhighlight lang="bash"> | |||
sudo pcs cluster setup --name ha-cluster node1 node2 | |||
sudo pcs cluster start --all | |||
sudo pcs cluster enable --all | |||
</syntaxhighlight> | |||
== Clusterstatus prüfen == | |||
<syntaxhighlight lang="bash"> | |||
pcs status | |||
</syntaxhighlight> | |||
== Beispiel: Virtual IP als Ressource == | |||
Füge eine Cluster-VIP hinzu (z. B. '''10.0.0.100'''): | |||
<syntaxhighlight lang="bash"> | |||
sudo pcs resource create ClusterIP ocf:heartbeat:IPaddr2 ip=10.0.0.100 cidr_netmask=24 op monitor interval=30s | |||
</syntaxhighlight> | |||
== STONITH deaktivieren (nur für Testumgebungen) == | |||
<syntaxhighlight lang="bash"> | |||
sudo pcs property set stonith-enabled=false | |||
sudo pcs property set no-quorum-policy=ignore | |||
</syntaxhighlight> | |||
== Test des Clusters == | |||
* Prüfe mit <code>ip a</code>, ob die VIP (z. B. 10.0.0.100) aktiv ist. | |||
* Simuliere einen Ausfall durch Herunterfahren eines Knotens: | |||
<syntaxhighlight lang="bash"> | |||
sudo shutdown now | |||
</syntaxhighlight> | |||
== Hinweise == | |||
* In produktiven Umgebungen sollte '''STONITH''' korrekt konfiguriert werden. | |||
* Weitere Ressourcen wie Apache, MariaDB oder DRBD können ebenfalls integriert werden. |
Version vom 9. Juli 2025, 12:16 Uhr
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.