ARR-Server im Load Balancing-Pool wechseln automatisch von „nicht verfügbar“ zu „verfügbar“.

ARR-Server im Load Balancing-Pool wechseln automatisch von „nicht verfügbar“ zu „verfügbar“.

Ich habe 3 IIS-Webserver in einer ARR-Webfarm. Wenn wir Rolling Releases durchführen, nehmen wir einen Server als Backup-Server offline und versetzen ihn in einen „Nicht verfügbar“-Zustand. Mir ist aufgefallen, dass Server mit ARR nicht in diesem Zustand bleiben ... sie gehen Stunden oder Tage später automatisch wieder online. Weiß jemand, wie man diese Situation beheben kann? Das ist sehr schlecht, da der ausgefallene Server normalerweise nicht die richtige Version unseres Codes ausführt.

Ich muss einen Server unzugänglich machen, bis ich ihm etwas anderes mitteile.

Antwort1

ich würde vorschlagenKonfigurieren eines Integritätstestsum die Version mit der Version des Codes zu vergleichen, den Sie ausführen möchten. Wenn Sie Änderungen vornehmen, ändern Sie einfach die Antwortübereinstimmung. Sie sollten auchneue Verbindungen nicht zulassenauf einem Server, auf dem Sie ein Wartungsfenster haben. Dadurch werden die Verbindungen abgebaut und nicht wieder zugelassen, unabhängig vom Zustand des Servers.

Antwort2

Ich verwende ARR 2.5 auf einem Windows 2008 R2 Datacenter SP1 und hatte dasselbe Problem beim Umstellen eines Farmservers, als ich entweder „Neue Verbindungen nicht zulassen“ oder „Server sofort nicht verfügbar machen“ ausgewählt habe. Der Controller wird den Farmserver schließlich wieder verfügbar machen. Ich habe die Zugriffsprotokolle auf dem betroffenen Server überprüft und in einem Fall war er nach 2 Stunden verfügbar und begann, Anfragen zu bearbeiten.

Was Jim Bs Lösung betrifft, habe ich ein Problem damit. Wenn Sie den korrekten Code auf dem Primärserver bereitstellen und den Integritätstest nicht vor der nächsten Prüfung konfigurieren, werden alle Farmserver, die mit dem neuen laufenden Code bereitgestellt wurden, als fehlerhaft markiert, was in den meisten Fällen alle Server auf der Farm sind. Ich sehe nicht, wie selbst ein kurzzeitiger Ausfall der Integrität des Farmservers diese Problemumgehung wert ist. Wenn ich das Bild nicht verstehe, lassen Sie es mich bitte wissen.

Ich dachte, ich wäre schlau und würde den Farmserver zuerst als fehlerhaft und dann als nicht verfügbar markieren. Der Server war sofort nicht mehr verfügbar.Undgesund.

Persönlich kann ich nur sicherstellen, dass der Farmserver nicht automatisch verfügbar gemacht wird, indem ich ihn vollständig aus dem Lastenausgleich entferne, nachdem ich mit hinreichender Sicherheit davon ausgehen kann, dass die Verbindungen erschöpft sind.

Unabhängig davon scheint es sich um einen Fehler zu handeln. Ich kann nicht sicher sein, ob ein bestimmter Farmserver den Sitzungsverkehr verarbeitet, wenn ich versuche, ihn zu verlassen (beispielsweise für Updates und Neustarts).

Antwort3

Ich habe herausgefunden, wann (nicht warum) das passiert -und wie man es behebt!

Dies geschieht, wenn der App-Pool der Standardwebsite (ARR-Prozess) auf dem Load Balancer beendet oder wiederverwendet wird.

Befolgen Sie die Empfehlung von Microsoft und legen Sie das Idle-Timeout des App-Pools auf 0 fest: Von Microsoft empfohlenes ARR-Setup-Handbuch

verwandte Informationen