
Ich habe zwei Ubuntu 12.04-Server, die MySQL in einer Master-Master-Konfiguration ausführen, mit mmm als Manager. Wie kann ich Heartbeat einrichten, um sicherzustellen, dass mmm immer nur auf einem Knoten ausgeführt wird?
*Bearbeitenum es genauer zu erklären
Mein Setup:
---------VIP (10.0.0.123)------
| |
Node1 Node2
Wo sowohl Node1 als auch Node2 ausgeführt werden:
- MySQL
- Multi-Master-Replikationsmanager für MySQL (mmm)
- Herzschlag
Ich möchte nur einen einzigen MySQL-Knoten mit Schreibberechtigung und kann immer nur ein MMM gleichzeitig ausführen, da es sonst zu Kollisionen zwischen den Managern kommt.
Antwort1
Wie sich herausstellt, behandelt Heartbeat jedes in /etc/init.d/ gefundene Skript als Dienst. Solange es Start- und Stoppfunktionen mit korrekten Exit-Codes hat, kann ich den Dienst einfach in derselben Zeile wie die vIP-Definition hinzufügen:
loadbalancer1 10.0.0.123 service
Das Standardverhalten von Heartbeat besteht dann darin, sicherzustellen, dass nur ein einziger Knoten den Dienst ausführt.