Datenbankcluster-Failover

Datenbankcluster-Failover

Ich hatte vor, ein angepasstes HA-Programm für MSSQL zu entwickeln, aber beim Lesen einiger Artikel über Cluster wurde mir eine Frage gestellt.

Wenn der Master ausfällt, wählen die Slaves einen neuen Master und der neue Master übernimmt die virtuelle IP-Adresse des alten.

Was ist hier eine virtuelle IP-Adresse?

Zum Beispiel:

A: Master 192.168.1.100
B: Slave 192.168.1.101
C: Slave 192.168.1.102

Ist A eine andere IP-Adresse zugewiesen? Oder ist die IP 192.168.1.100 die virtuelle IP? Es ist nicht möglich, zusätzliche Netzwerkkarten hinzuzufügen.

Windows-System.

Antwort1

Ich bin nicht genau sicher, was Sie vorhaben, aber hier sind einige grundlegende Clusteradressen, die größtenteils übereinstimmen, entweder weil sie integriert sind oder weil sie sich auf externe Funktionen mit ähnlicher Wirkung verlassen:

Ein HA-Cluster erstellt normalerweise zusätzlich zu den für die einzelnen Clusterknoten spezifischen IP-Adressen eine oder mehrere Cluster-IP-Adressen, die zum Cluster gehören.

Abhängig von der Konfiguration und der spezifischen Technologie kann diese Clusteradresse üblicherweise entweder

  • An einen der Clusterknoten binden (d. h. mit der NIC-MAC-Adresse dieses Knotens verknüpft werden), wodurch dieser Knoten zum aktiven Knoten wird. Beim Failover bindet ein anderer Knoten seine MAC-Adresse an die Cluster-IP-Adresse und übernimmt die aktive Rolle.

  • mit einer Multicast-MAC-Adresse verknüpft sein, die alle oder einige Clusterknoten abonnieren können, wobei mehrere aktive Knoten möglich sind. In diesem Szenario kann die Cluster-IP-Adresse eine Multicast-IP-Adresse sein (die das Bindungsprotokoll kompatibel macht) oder, was seltener vorkommt (wie in einem Microsoft NLB-Cluster), eine IP-Unicast-Adresse, die an eine Multicast-MAC-Adresse gebunden ist (was erfordert, dass die Netzwerkrouter/-switches diese protokollinkompatible L3/L2-Zuordnung verarbeiten können, normalerweise durch zusätzliche Konfigurationsanweisungen).

Der Cluster verwendet die Clusteradresse normalerweise nur für den Datenverkehr zwischen Clients und Clustern und einzelne Knotenadressen für den Datenverkehr innerhalb des Clusters, z. B. Statusinformationen und Heartbeats. Der Datenverkehr innerhalb des Clusters wird manchmal über ein dediziertes Netzwerk geleitet.

verwandte Informationen