Autor Thema: Cluster-Failover, bei Erreichbarkeit aber 0 Performance eines Clusterpartners?  (Gelesen 488 mal)

Offline hasebergen

  • Frischling
  • *
  • Beiträge: 3

Moin,

normalerweise werden in einem Domino-Cluster User via Failover ja redirected, wenn der eine Clusterpartner nicht erreichbar ist (gecrasht etc.) Wenn ein Server aber schon grundsätzlich erreichbar ist, nur durch andere Prozeße dessen Performance am Boden liegt und so quasi für die User nicht nutzbar ist, gibt es Einstellmöglichkeiten, auch schon in diesem Falle einen Redirect auf den Clusterpartner zu veranlassen?
Praxis:
Wir hatten diesen Fall in einem Mailcluster (D 12.02FP1), dessen einer Partner eine CPU-Auslastung von 100% hatte, aber grundsätzlich erreichbar war, so daß die dortigen User "drauf" waren, aber nicht wirklich arbeiten konnten. Die hätten wir natürlich lieber auf dem anderen - CPU-mäßig im grünen Bereich befindlichen Clusterpartner.

Grüße Hannes

Offline Tode

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Der Cluster-Failover wird über den sogenannten "Availability-Index" und den zugehörigen "Availability-Threshold" gesteuert (nachzulesen hier)

Mit "show cluster" kannst Du Dir den aktuellen Availability Index der im Cluster befindlichen Server anzeigen.
Der Availability-Index berechnet sich nicht rein aus der Prozessor-Last sondern aus verschiedenen Faktoren wie Antwortzeiten, Auslastung, etc.
Wichtig zu wissen: Der Index bezieht sich auf eine theoretische "Höchstlast" des Systems und ist relativ zu dieser berechnet. Das wird später noch wichtig.

Wenn Du möchtest, dass ein Server ab einer bestimmten Belastungsgrenze die User an den Cluster-Partner übergibt, dann setzt Du den notes.ini- Parameter

SERVER_AVAILABILITY_THRESHOLD=x

Dieser Parameter bestimmt, ab welchem Availability Index der Server beginnt, Verbindungen auf den Cluster-Partner abzugeben. Ist z.B. der Threshold 50 und die Availability ist 48, dann gibt er ab, bei einem Index von z.B. 60 behält er die Verbindungen.
Wichtige Ergänzung hierzu: Das "Abwerfen" bei unterschreiten des Threshold passiert nur für NEUE Verbindungen. Die bestehenden Userverbindungen bleiben bestehen, es sei denn man macht einen "drop all", dann werden auch hier die Verbindungen "umverteilt", wenn der Threshold überschritten ist.

Sind beide / alle Server im Cluster unterhalb ihres Threshold passiert nichts, die Benutzer bleiben auf dem Server, den sie kontaktieren.

Es gibt zwei "Spezialwerte" für den Threshold:

SERVER_AVAILABILITY_THRESHOLD=0 bedeutet: Der Server kann nie unter diesen Threshold fallen, gibt also freiwillig nie Verbindungen ab...
SERVER_AVAILABILITY_THRESHOLD=100 bedeutet: Der Server ist IMMER unter dem Threshold, nimmt also freiwillig nie Vebindungen an, es sei denn es ist kein anderer Cluster-Partner verfügbar. Diesen Wert verwendet man, wenn man einen "Hot-Standby"- Cluster erreichen will, wo einer der Partner nur dann was tut, wenn der andere down ist.

Nun zurück zum Thema "Availability Threshold ist relativ".

Der Server "berechnet" den Threshold anhand interner Kriterien. Um verschiedene Server-Ausstattungen dabei "vergleichbar" zu machen, gibt es den sogenannten "Expansion Factor", der -einfach gesagt- die Leistungsfähigkeit der Maschine beschreibt. Dieser geht im Default von einer eher schwachen Maschine aus, so dass der Availability Index zu gering berechnet wird und ein frühes "Abwerfen stattfindet.

Den korrekten Expansion Faktor kann man bestimmen, indem man an der console "show ai" eingibt. Dazu sollte der Server aber schon eine Weile gelaufen sein und zumindest einmal die "Maximale Belastung" erfahren haben.

Der Befehl gibt dann den aktuellen Factor an und eine Empfehlung, wie man den Factor auf dieser Maschine mittels

Set SERVER_TRANSINFO_RANGE=x

setzen sollte.

Wenn man das auf beiden Cluster- Partnern macht und ggf. immer mal wieder mittels show ai prüft, dann kann man mittels geeignetem Threshold eine schöne Verteilung zwischen den Servern erreichen.

Wichtige Information: Die Benutzer kontaktieren für ihr eigenes Mailfile immer zuerst den im Personendokument eingetragenen Mail-Server.
Wenn man die User also auf einem einzelnen Server registriert, wird dieser immer zuerst ausgelastet. Das kann man mitigieren, indem man die Benutzer quasi "abwechselnd" auf den Clusterpartnern registriert, so dass man auf beiden Servern etwa gleich viele Benutzer registriert hat.




« Letzte Änderung: 21.10.24 - 09:37:39 von Tode »
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Werner Götz

  • Aktives Mitglied
  • ***
  • Beiträge: 248
  • Geschlecht: Männlich
again what learned ;)

Danke Torsten für diese gute Erklärung!
-Werner

Offline hasebergen

  • Frischling
  • *
  • Beiträge: 3
Moin Torsten,

man lernt nie aus ... auch von mir besten Dank :-)

VG Hannes

Offline Tode

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.883
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Wichtige Ergänzung: Das "Abwerfen" bei unterschreiten des Threshold passiert nur für NEUE Verbindungen. Die bestehenden Userverbindungen bleiben bestehen, es sei denn man macht einen "Drop all", dann werden auch hier die Verbindungen "umverteilt", wenn der Threshold überschritten ist.
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz