none
SQL Datenbanken: GeoCluster oder Distributed Always on Group RRS feed

  • Frage

  • Hallo zusammen,

    momentan stehe ich vor einem Scheideweg. Ich habe vor standortübergreifend, mittels Always On availability groups, Datenbanken zu replizieren.

    Nun habe ich folgende Möglichkeiten:

    Ich kann alle Knoten in einen WSFCluster schmeißen. Weiter kann ich dann automatisches Failover ggf. mit einem Zeugen einrichten und die Reihnfolge festlegen, welcher Server nach einem Ausfall des primaries die primäre Rolle bekommt. Mein Gedanke wäre, dass wenn alle SQL Server im  Standort A abrauchen, dass im Standort B der erste Server die primäre Rolle erhält.

    Andernfalls kann ich für jeden Cluster eine Hochverfügbarkeitsgruppe erstellen und eine weitere dritte, welche dann die beiden lokalen Hochverfügbarkeitsgruppen nochmal zu einer standortübergreifenden Hochverfügbarkeitsgruppe zusammenfasst. Standort A wäre dann primary und Standort B secondary. Allerdings ist dabei nur manuelles Failover möglich und kein bequemens automatisches.

    Nun meine Frage. Wann nutze ich welches Szenario?

    Gehen wir davon aus, dass jeder Standort 2 Server hat.

    Der Vorteil vom standortübergreifenden WSFC ist das automatisches Failover. Das bedeutet, wenn die Server im Standort A abrauchen, dann brauche ich den Clients nicht mittzuteilen welcher Host gerade die primäre Rolle trägt, da diese sowieso über den virtuellen Clusternamen zugreifen.  Der nächste Server, welcher die primäre Rolle erhält wäre dann ein Server im Standort B.

    Der Vorteil von einer verteilten Hochverfügbarkeitsgruppe ist, dass ich zwar kein standortübergreifendes automatisches Failover habe, allerdings der Zugriff selbst bei nur einem Server gewährleistet werden kann. Undzwar weil wenn Standort A abraucht, und nach dem manuellen Failover Standort B primary ist, gibt es dort 2 Server und einen Zeugen. Selbst wenn ein Server wegfällt kann ich immer noch mit dem letzen Server im Standort B arbeiten, da hierbei die Mehrheit zusammen mit einem Node und dem einen Zeugen gegeben ist.

    Beim Geocluster wäre das nicht der Fall, da ich bei 4 Server und einem Zeugen ich mind. 2 Nodes und einen Zeugen benötige um den Cluster aktiv zu halten. Einen weiteren Ausfall würde der Cluster nicht mehr tolerieren.

    Aber ist das nun wirklich der entscheidene Unterschied? Was wird denn unter umständen denn eher eingesetzt? Habe ich einen wichtigen Aspekt, welcher den Unterschied zwischen den beiden nochmal verdeutlicht nicht gesehen?

    Hier der Link zu distributed availability groups:

    https://docs.microsoft.com/de-de/sql/database-engine/availability-groups/windows/distributed-availability-groups-always-on-availability-groups

    Danke für eure Hilfe.

    Gruß

    Mittwoch, 21. Juni 2017 21:18

Antworten

  • Moin,

    ohne hier eine abschließende Antwort geben zu können: Schau als erstes auf Deine Applikationen, die SQL verwenden. Nicht jede Applikation, gelinde ausgedrückt, unterstützt jedes SQL HA-Verfahren. Das kann sowohl den Zugriff als auch die Replikationsfähigkeit der Datenbank selbst betreffen.

    Ansonsten gilt: Geocluster brauchen georeplizierten Shared Storage. Kann Dein SAN das leisten?

    Und last but not least: zusätzlich zu den von Dir skizzieren Varianten gäbe es noch, zumindest theoretisch, eine dritte: Die Applikationsschicht an beiden Standorten bereitstellen und die Georedundanz aus Client-Sicht darüber abwickeln. Die Datenbanken müssen dann natürlich an beiden Standorten schreibbar sein, also reden wir in diesem Fall vermutlich von Replikation.


    Evgenij Smirnov

    I work @ msg services ag, Berlin -> http://www.msg-services.de
    I blog (in German) @ http://it-pro-berlin.de
    my stuff in PSGallery --> https://www.powershellgallery.com/profiles/it-pro-berlin.de/
    Exchange User Group, Berlin -> http://exusg.de
    Windows Server User Group, Berlin -> http://www.winsvr-berlin.de
    Mark Minasi Technical Forum, reloaded -> http://newforum.minasi.com

    Donnerstag, 22. Juni 2017 04:46