Multi-Homed SQL Server mit Hochverfügbarkeitsgruppen

7

Wir haben zwei Server (SQL-ATL01, SQL-ATL02), die einen Failover-Cluster bilden und jeweils als Teil einer SQL Server-Hochverfügbarkeitsgruppe (HAG) ausgeführt werden. Jeder Server verfügt über zwei Netzwerkkarten. Eine ist eine 10-Gbit-Karte, die direkt mit dem anderen Server verbunden ist und zum Synchronisieren der HAG in einem 192.168.99.x-Subnetz verwendet wird. Die andere ist eine 1-Gbit-Karte, mit der die DB-Server mit einem Switch verbunden werden, um mit den Anwendungsservern in einem 10.0.0.x-Subnetz zu kommunizieren. Der Listener zeigt auf das Subnetz 192.168.99.x.

Wir möchten dem Cluster einen dritten Server (SQL-NYC01) an einem anderen physischen Speicherort hinzufügen und ihn als Async-Replikatteil der HAG ausführen. Das VPN leitet jedoch nur den Datenverkehr im Subnetz des 1-Gbit-Netzwerks weiter.

Gibt es eine Möglichkeit, den Failovercluster und die Hochverfügbarkeitsgruppe so einzurichten, dass sie Folgendes mitteilen:

  • Senden Sie synchronen Replikatverkehr für SQL-ATL01 <--> SQL-ATL02 über 192.168.99.x
  • Senden Sie asynchronen Replikatverkehr für (SQL-ATL01, SQL-ATL02) <--> SQL-NYC01 über 10.0.0.x.

Oder haben wir haben haben alle Replik Verkehr in und aus auf der gleichen IP - Adresse gehen / Subnetz?

Josef
quelle
Möglicherweise können Sie dies tun, indem Sie die Hostdateien der Server mit Einträgen füllen, um die Namen der anderen Knoten in die IP-Adresse aufzulösen, die sie verwenden sollen. Ich bin mir nicht sicher, sollte aber nicht zu schwer zu testen sein.
Tony Hinkle

Antworten:

3

Gibt es eine Möglichkeit, den Failovercluster und die Hochverfügbarkeitsgruppe so einzurichten, dass dies mitgeteilt wird: Senden Sie synchronen Replikatverkehr für SQL-ATL01 <--> SQL-ATL02 über 192.168.99.x Senden Sie asynchronen Replikatverkehr für (SQL-ATL01, SQL) -ATL02) <--> SQL-NYC01 über 10.0.0.x.

Ja.

Der gesamte AG-Replikationsverkehr wird über TCP / IP-Verbindungen zum Datenbankspiegelungsendpunkt auf der Instanz geleitet, auf der sich das primäre Replikat befindet.

Der Spiegelungsendpunkt überwacht standardmäßig alle IP-Adressen. Wenn Sie den Spiegelungsendpunkt so konfigurieren, dass nur eine der IPs eines Servers abgehört wird, müssen Sie beim Erstellen der AG die ENDPOINT_URL mit dieser IP-Adresse oder einem Hostnamen registrieren, der nur in diese IP-Adresse aufgelöst wird.

In Ihrem gewünschten Szenario müssen die Endpunkte der Datenbankspiegelung der ATL-Server jedoch beide IP-Schnittstellen überwachen (andernfalls kann NY keine Verbindung herstellen). Wenn Sie also derzeit die ATL-Knoten mit der ENDPOINT_URL auf die IP-Adressen 192.x der AG verbunden haben, müssen Sie dies ändern, um den NY-Knoten hinzuzufügen.

Sie können jedoch sicherstellen, dass der ATL-ATL-Verkehr über das Netzwerk 192 übertragen wird, indem Sie Hostdateieinträge auf den ATL-Servern verwenden, wie @Tony Hinkle vorschlägt.

David Browne - Microsoft
quelle
Wenn nur eine IP abgehört wird, gilt dies nicht nur für empfangene Daten? Was ist, wenn Sie Daten über eine bestimmte Netzwerkkarte senden möchten, um die Weiterleitung auf eine bestimmte Weise zu erzwingen? Müssen Sie dafür lokal eine Route erstellen?
Alen
Wenn die primären Pakete an den Sekundär sendet sie an die IP - Adresse angesprochen werden , dass die sekundären die TCP - Verbindung hergestellt aus . In Windows basiert dies auf der Routentabelle des Absenders ( blogs.technet.microsoft.com/networking/2009/04/24/… ). Solange sich jede Ihrer Netzwerkkarten in einem anderen Subnetz befindet, müssen Sie die Routen normalerweise nicht verwalten. Wenn Sie mehrere IPs im selben Subnetz haben, müssen Sie bestimmte Routen festlegen.
David Browne - Microsoft