So richten Sie Heartbeat ein, um einen Dienst nur auf einem Knoten auszuführen

So richten Sie Heartbeat ein, um einen Dienst nur auf einem Knoten auszuführen

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.

verwandte Informationen