Failover für http-Clients in Domino Cluster funktioniert nicht

  • Hallo,


    ich habe folgendes gemacht:


    1. Ich habe einen Domino-Server, der schon lange als Webserver für diverse Websiten korrekt läuft. Für diesen sind alle Website-Zugriffe über Internet Sites konfiguriert.
    2. Ich habe einen zweiten Domino-Server installiert und mit dem ersten Server zusammen in ein neu erstelltes Cluster gehängt (es werden alle DBs repliziert und liegen korrekt mit gleichen Verzeichnissen und Dateinamen auf beiden Servern). Das Cluster und der Cluster-Replicator laufen auch korrekt.
    3. Ich habe in den Internet Site-Dokumenten eingestellt, dass beide Server die Seiten hosten.
    4. Ich habe den ICM konfiguriert und auf einem der Server (dem neuen) gestartet. Die ICM-Konfiguration des anderen Servers verweist dabei auf die Einstellungen im Serverdocument des Servers auf dem der ICM läuft.
    5. Wenn ich mit dem Browser den Hostnamen des neuen Servers aufrufe, wird korrekt die als Default konfigurierte Website angezeigt. Die grundsätzliche Internet Site-Konfiguration scheint also zu funktionieren.


    6. Wenn ich jetzt den ersten (alten) Server runterfehre und mit dem Browser eine der URLs für diesen Server aufrufe, wird die Seite nicht angezeigt.


    Ich habe leider keinerlei offizielle Doku hierzu gefunden. Was muss ich tun, damit beim Ausfall eines Servers automatisch die Website auf dem zweiten Server aufgerufen wird?
    ?(

  • Keine offizielle Doku gefunden? Wie kommst du zu dieser mutigen Aussage?
    Wenn ich google, ist das hier gleich der erste Treffer. Aber vielleicht mache ich was falsch.....


    Und deine F1-Taste scheint auch defekt zu sein....

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Keine offizielle Doku gefunden? Wie kommst du zu dieser mutigen Aussage?
    Wenn ich google, ist das hier gleich der erste Treffer. Aber vielleicht mache ich was falsch.....


    Und deine F1-Taste scheint auch defekt zu sein....

    Hm, also vielen Dank für den Link zur Doku (auch wenn ich mich frage, womit ich den scharfen Tonfall verdient habe, ich habe nur gesagt, dass ICH keine Doku gefunden habe, die mein Problem löst).


    Ich habe mir die Doku angesehen, aber in dem Beispiel wird im Server-Dokument bei der ICM-Konfiguration ein Hostname festgelegt (ICMRed.acmem.com) und dieser wird auch anschließend für den Failover-Test verwendet. Ich habe aber 20 verschiedene Domänen, die auf den Server zeigen (als Internet Sites konfiguriert) und ich möchte, dass beim Aufrufen jeder dieser Domänen aus dem Browser eine Weiterleitung auf den Fallback-Server funktioniert. Wie genau kann ich das konfigurieren?

  • Moin
    Der ICM macht ja nur ein redirekt auf einen Clustermember. Also http://server.domain wird zu http://server1.domain bzw. http://server2.domain
    Wenn Du jetzt direkt auf http://server2.domain gehst, läuft das nicht über den ICM.


    Was Du bräuchtest wäre ein schlauer Reverse Proxy vor den beiden Dominos.

    Ja das ist schon klar, das mache ich auch nicht, ich möchte, dass alle meine ca. 20 http://server.domain jeweils auf den Ersatzserver weitergeleitet werden, wenn der eigentliche Webserver nicht mehr läuft. Für meinen Test habe ich immer die Originaldomäne aufgerufen, nie die direkte URL auf dem jeweiligen Server.

  • Hm, also vielen Dank für den Link zur Doku (auch wenn ich mich frage, womit ich den scharfen Tonfall verdient habe, ich habe nur gesagt, dass ICH keine Doku gefunden habe, die mein Problem löst).

    Und genau das ist der Punkt: es gibt eine ganze Reihe an Dokumentationen, bei der man manchmal halt auch ein wenig zwischen den Zeilen lesen und verstehen muss. Und es gehört eben auch ein wenig Eigeninitiative dazu, mal das eine oder andere auch auszuprobieren und auch aus Teillösungen die wesentlichen Parts selbständig zu einer Lösung zusammen zu führen.
    Die Aussage, dass es keine Doku gibt, ist schlicht falsch und ja: ich reagiere auf so etwas allergisch, wenn ich den Eindruck haben muss, dass "ich hab nix gefunden" nichts weiter bedeuten könnte als "ich hab schlicht keine Lust und warte, bis mir jemand die gebratene Taube in den Mund schiebt". Das mag hier zutreffen oder auch nicht, ist mir im Grunde auch egal. Ich sage nur, dass die Aussage schlicht falsch ist. Punkt um.



    Ich habe mir die Doku angesehen, aber in dem Beispiel wird im Server-Dokument bei der ICM-Konfiguration ein Hostname festgelegt (ICMRed.acmem.com) und dieser wird auch anschließend für den Failover-Test verwendet. Ich habe aber 20 verschiedene Domänen, die auf den Server zeigen (als Internet Sites konfiguriert) und ich möchte, dass beim Aufrufen jeder dieser Domänen aus dem Browser eine Weiterleitung auf den Fallback-Server funktioniert. Wie genau kann ich das konfigurieren?

    Momentan verstehe ich dein Verständnisproblem noch nicht vollständig. Im Artikel ist beschrieben, dass der ICM auf domain1 "hört" und auf die jeweiligen Server weiterverteilt, weshalb die User dann Server1.tld oder Server2.tld mit von 80 (oder 443) abweichenden Ports im Browser sehen.
    Ebenfalls ist beschrieben, wie man den ICM auf einem Server installiert und konfiguriert, der von den anderen Maschinen losgelöst ist. Nun könnten ja so einige Ideen durch den Kopf schiessen: Domänendokumente verschieben und anpassen, Reverse Proxy (von umeli bereits angesprochen), es gäbe weiterhin IP-Sprayer (will man aber eigentlich nicht), Host-/Domänennamen geeignet wählen, man könnte die DNS-Domain-Records auch gleich so anlegen, dass "domain1" grundsätzlich auf den ICM zeigt und "domain1-server1" auf den ersten Server und "domain1-server2" auf dessen Clusterpartner, .... Wege und Möglichkeiten hat es wahrlich mehr als genug. Um alle Alternativen aber bewerten zu können, wären tiefere Kenntnisse eurer Infrastruktur, eurer Skill Level in den diversen Fachbereichen, euer zur Verfügung stehendes finanzielles und zeitliches Budget, .... notwendig.


    Was mir an der ganzen Geschichte aber schmerzlich fehlt: du sagst ganz pauschal, etwas tut nicht und beschreibst eher rudimentär, was nun exakt das Problem darstellt, wie deine selbständigen Lösungswege bisher ausgesehen haben und an welchem Detail du nicht weiterkommst. "ICM macht nicht, was ich mir vorstelle" ist keine hinreichend präzise Beschreibung. Ich nehme nicht an, dass du deinem Vorgesetzten Statusreports und Fortschrittsberichte in dieser Form abgibst?


    Bei allem gebührendem Respekt: bitte sieh doch zu, dass du exakte und detaillierte Beschreibungen der Vorgehensweise insgesamt und der Fehler im Speziellen lieferst und dich nicht in Allgemeinplätzen verlierst. Das wird man von einem IT-ler sicherlich guten Gewissens erbitten können. Wenn ein User dir ein Problem schildert und er auf die Nachfrage, was auf seinem Bildschirm steht "Samsung" antwortet, wird deine Begeisterung ob der faktendurchsetzten Antwort möglicherweise auch einen Dämpfer erhalten, oder? Der Unterschied ist eben nur: er ist ein User, er weiß es nicht besser. Du hingegen bist vom Fach. An einen Fachmann bei weitem höhere Anforderungen zu stellen und diese auch entsprechend durchzudrücken als an einen User, halte ich nicht für vermessen.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

    Einmal editiert, zuletzt von RockWilder ()

  • Momentan verstehe ich dein Verständnisproblem noch nicht vollständig. Im Artikel ist beschrieben, dass der ICM auf domain1 "hört" und auf die jeweiligen Server weiterverteilt, weshalb die User dann Server1.tld oder Server2.tld mit von 80 (oder 443) abweichenden Ports im Browser sehen.

    Also erstmal vielen Dank für Deine Hilfe. Ich habe mich bemüht alles (die von mir vorgenommene Server-Konfiguration) so genau wie möglich zu beschreiben, aber scheinbar nicht genau genug. Ich kannte bisher nur Fallback-Lösungen über externe Hardware (Proxy, Loadbalancer usw.) und bin nun erstmals dabei, zu versuchen, eine ICM-Lösung zu konfigurieren, um eben diese externe zusätzliche Hardware zu sparen, da wir ein kleines Unternehmen mit begrenzten Budget sind.


    Ich habe aber gerade den Eindruck, dass ich möglicherweise die Grundidee des ICM anders bzw. falsch verstanden habe. Ich versuche es jetzt mal so konkret und detailliert wie möglich:


    Ich habe meine Domänen alle so konfiguriert, dass sie auf die (externe) IP von Server1 zeigen. Die genaue Zuordnung, welche Datenbank bei Zugriff auf die jeweilige Domäne geöffnet wird, ist in den Internet-Site-Dokumenten hinterlegt und dort ist auch hinterlegt, dass diese DBs auf beiden Servern liegen. Die http-Tasks der beiden Server laufen auf Port 80. Auf Server2 (dort läuft der ICM) habe ich im Server-Dokument in der ICM-Konfiguration eingestellt, dass der ICM auf Port 81 laufen soll.


    Kann es sein, dass dies der grundlegende Fehler ist? Müsste ich meine Domänen per DNS auf den ICM zeigen lassen, diesen auf Port 80 laufen lassen und dann die http-Tasks der beiden Server auf einen anderen Port oder eine andere IP verlegen? Bei näherer Betrachtung scheint mir das viel logischer. Ich befürchte allerdings, dass dann im Browser nicht mehr die gewünschte Domäne stehen würde sondern der Hostname des eigentlichen Servers. Was sehr unschön wäre ...


    Ich habe dazu übringens einiges an Doku gelesen, aber leider diesen Punkt scheinbar nicht richtig verstanden. Leider fehlte in der Doku auch ein Schaubild der Architektur, denn das hätte hier wohl geholfen.

  • Moin


    Naja.
    Sinnvollerweise muss der ICM auf dem Port 80 laufen, damit er normal von einem Browser aufgelöst werden kann. Das würde einen Proxy oder einen separaten Domino nur für den ICM nahelegen.


    Ich nehme an, Du verwendest Internet Sites, mit verschiedenen FQDN's für deine 20 Seiten? Dann schränkt Dich der ICM ein, da er nur 1 Host-Namen akzeptiert.


    evtl. wäre sowas besser geignet : http://nginx.org/en/docs/http/load_balancing.html

  • Ja ok, genau das habe ich befürchtet. Na ja unser Provider bietet eine entsprechende Funktion über eine externe Harware an, ich dachte nur, ich könnte die Zusaatzkosten sparen, aber so wie das aussieht, ist es besser, das wie eh und je extern zu lösen ... Auf alle Fälle vielen Dank für die Antwort