jcjack 10 Geschrieben 23. April 2011 Melden Teilen Geschrieben 23. April 2011 Hallo, zu diesem Thema finde ich leider nicht wirklich etwas, obwohl es doch eigentlich was weit verbreitetes ist. (viele große Internetseiten nutzen DNS Round Robin, um eine geographische Redundanz über mehrere Rechenzentren zu erreichen). Im Endeffekt hat man ja mindestens 2 Server mit IIS und MSSQL (oder auch aufgeteilt auf mehrere Server), pro Rechenzentrum mindestens einen. Da DNS RR ja immer beide IPs wechselweise ausliefert, egal welche online ist, die Clients aber bei nicht-Verfügbarkeit der ersten die zweite IP nutzen, hat man eine recht solide funktionierende Redundanz. Die Frage ist jetzt nur, wie synchronisiert man das Datenverzeichnis für den Webserver und wie die Datenbank? Weil wenn ich das richtig verstehe, braucht ein Windows Cluster ein zentrales, gemeinsames Storage... SAN oder so. Das geht bei DNS RR ja nicht, weil das Storage müsste in einem von beiden Rechenzentren stehen und damit ist die Ausfallsicherheit wieder dahin, zudem man kein privates Netzwerk zwischen den Server machen kann. wie wird das denn im Allgemeinen gelöst? Zitieren Link zu diesem Kommentar
Dukel 451 Geschrieben 23. April 2011 Melden Teilen Geschrieben 23. April 2011 Du musst zwischen SQL und IIS trennen. Den IIS kann man per Loadbalancing clustern. Dies ist dann ein Shared Nothing Cluster. Welcher Replikationmechanismus dann zum tragen kommt ist fast beliebig. Die Webapplikation ändert sich auch nicht dauernd. Den SQL dahiner kann man per Partitionierung Clustern sonst hat man immer eine Akitv / Passiv Lösung. Zitieren Link zu diesem Kommentar
jcjack 10 Geschrieben 23. April 2011 Autor Melden Teilen Geschrieben 23. April 2011 was bedeutet eine Partitionierung bei SQL? Auftrennen der Datenbank, sodass jeder DB Server nur einen Teil der Datenbank verwaltet? Wie sieht dann die Ausfallsicherheit aus? Zitieren Link zu diesem Kommentar
Dukel 451 Geschrieben 23. April 2011 Melden Teilen Geschrieben 23. April 2011 Genau. Man hat z.B. eine Tabelle x mit Namen. Alle Datensätze mit dem Namen von A-M sind auf SQL Server 1 und alle Namen von N-Z sind auf SQL Server 2. Ob man dass dann so macht kommt auch immer auf die Umgebung und Ziele /Anforderungen an. Was hast du denn vor? Zitieren Link zu diesem Kommentar
jcjack 10 Geschrieben 23. April 2011 Autor Melden Teilen Geschrieben 23. April 2011 dann ist es nicht das was ich suche. Kurz und knapp: Website soll hochverfügbar sein und auch den kompletten Ausfall eines Rechenzentrums überstehen, ohne Downtime. technisch gesehen ist DNS RR die einzige Möglichkeit um überhaupt in diese Richtung zu kommen, wenn ich mich gerade nicht ganz irre? Alle anderen mir bekannten Lösungen haben einen zentralen Punkt der in einem einzelnen Rechenzentrum steht und damit eine Art Single Point of Failure ist (auch wenn man Heartbeat nutzt). die Seite microsoft.com ist ja z.B. auf diese Weise abgesichert, die zwei IPs enden in zwei verschiedenen Rechenzentren. Wie z.B. macht Microsoft es, dass der Datenbestand immer synchron ist? Zitieren Link zu diesem Kommentar
Dukel 451 Geschrieben 23. April 2011 Melden Teilen Geschrieben 23. April 2011 Du brauchst eben 4 Server. 2x IIS per Loadbalancing und 2x SQL mit SQL Hochverfügbarkeit (Cluster, Mirror, Log Shipping,...). Die Partitionierung ist auch für Performance da. Da bekommst du aber "nur" einen Ausfall abgesichert. Der 2. IIS wird immer noch auf den SQL im anderen RZ zugreifen. Zitieren Link zu diesem Kommentar
jcjack 10 Geschrieben 23. April 2011 Autor Melden Teilen Geschrieben 23. April 2011 wenn ich 2 IIS per LB ansteuere, dann sind aber beide in einem Rechenzentrum da sie zwangsweise eine IP haben. ich vermute du meinst 2 IIS die auf ihre lokale HDD zugreifen und der Datenbestand wird durch ein externes Programm synchron gehalten? Wobei hier die Frage ist, welche gäbe es überhaupt? und ein MSSQL Cluster braucht doch auch wieder ein "shared Storage", oder? Zitieren Link zu diesem Kommentar
Dukel 451 Geschrieben 23. April 2011 Melden Teilen Geschrieben 23. April 2011 Ja. Aber ich glaube ein Forum ist für so ein recht komplexes Thema der Falsche Ort. SQL Mirror benötigt keine Shared Storage, aber wie geschrieben ist das trotzdem eine Aktiv/Passiv Lösung. Was man machen kann im Webandundungsdeployment das ganze immer auf beide Webserver verteilen, dann muss man nichts replizieren. Aber das kommt auf die Webanwendung an. Zitieren Link zu diesem Kommentar
jcjack 10 Geschrieben 23. April 2011 Autor Melden Teilen Geschrieben 23. April 2011 naja, komplex. Im Endeffekt geht es doch nur darum, dass irgendwie die Daten zwischen den Rechenzentren gegenseitig synchronisiert werden. Bei MySQL gibt es da eine Master-Master Replikation. Allerdings kann man damit nur einen Server spiegeln und die einzige Möglichkeit der Skalierung ist die Partitionierung. Ich kann mir nicht vorstellen, dass Microsoft da im Hintergrund zig Datenbankserver hat die nur einen kleinen Teil der Daten enthalten und das ganze dann über etwas ähnliches (insofern MSSQL eine richtige Master-Master Replikation überhaupt kennt?) repliziert? für so ein aus meiner Sicht eigentlich für eine extrem breite Masse interessantem Thema sollte es doch in der aktuellen Zeit schon "richtige" Lösungsansätze geben, oder? Zitieren Link zu diesem Kommentar
Dukel 451 Geschrieben 23. April 2011 Melden Teilen Geschrieben 23. April 2011 Man kann z.B. eine Active/Multi-Passiv Installation aufbauen. Einen Master, welcher die Daten zu mehreren Passiven Knoten repliziert, die dann die Webserver bedienen. So viel ich weiß kennt MS-Sql (genauso wie MySql) einen Activ/Activ Cluster nur durch Partitionierung. Zitieren Link zu diesem Kommentar
jcjack 10 Geschrieben 24. April 2011 Autor Melden Teilen Geschrieben 24. April 2011 nur dass das so ja nicht funktionieren kann. Mit DNS RR muss man ja zwangsweise active/active ohne Partitionierung fahren. die Frage ist halt, wie macht microsoft.com es, wie macht es amazon.com, wie macht es hp.com (gerade bei denen scheint es interessant zu sein, die machen DNS RR mit 13 IPs), t-online.de und noch viele weitere. Zitieren Link zu diesem Kommentar
Dukel 451 Geschrieben 24. April 2011 Melden Teilen Geschrieben 24. April 2011 Du darfst nicht den Fehler machen und den SQL und den Webserver zusammen anschauen. Beide haben eigenen, unterschiedliche Möglichkeiten zur Hochverfügbarkeit. Das heißt aber auch, dass du unter Umständen 4 Server brauchst. Die Webserver sicherst du per Loadbalancing (DNS RR) ab und die SQL Server per Mirror oder Cluster. Zitieren Link zu diesem Kommentar
jcjack 10 Geschrieben 24. April 2011 Autor Melden Teilen Geschrieben 24. April 2011 den Fehler mache ich auch nicht, nur meine Frage wird scheinbar auch nicht verstanden bisher. nochmal kurz und knapp: 2 Rechenzentren, 2 IPs. Was hinter den IPs steht ist egal. Ob es ein Cluster aus 10.000 Servern oder nur 2 Server pro Rechenzentrum sind, ist grundlegend vollkommen egal. Es geht darum WIE synchronisiere ich die beiden Instanzen in jedem Rechenzentrum? Ein gemeinsames Storage gibt es nicht, ergo kann man auch keinen RZ-übergreifenden Cluster bilden bei MSSQL. Und genau das ist ja der springende Punkt bei der Sache. Zitieren Link zu diesem Kommentar
Dukel 451 Geschrieben 24. April 2011 Melden Teilen Geschrieben 24. April 2011 Diese Öffentlichen IPs gehen zum Webserver. Der Webserver greift aber nicht über diese IP auf den SQL Server sondern auf die SQL IP. Du wirst aber nur einen Active/Passiv Cluster bekommen oder die Daten per Partitionierung Active/Active Clustern. Zitieren Link zu diesem Kommentar
jcjack 10 Geschrieben 24. April 2011 Autor Melden Teilen Geschrieben 24. April 2011 ich warte mal bis nach die Feiertage, in der Hoffnung dass dann eventuell der ein oder andere User hier wieder online ist, der meine Frage beantworten kann. z.B. wie es denn microsoft.com macht. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.