Wie oft starten Sie einen stark ausgelasteten Windows Server 2008R2-Remotedesktopserver (VM) neu?

17

Hinweis: Ich habe gelesen, wie oft Windows-Server neu gestartet werden müssen. Diese Frage bezieht sich jedoch speziell auf unseren Remotedesktop- Server.

Wir haben einen Windows Server 2008R2-Server - eine VMware ESX-VM - lizenziert für Remotedesktopdienste, 25 Benutzer, die auch RRAS (SSTP) ausführen. An einem durchschnittlichen Wochentag gibt es während der Arbeitszeit zwischen 8 und 12 angemeldete aktive Benutzer mit zusätzlichen 4-6 "getrennten" Benutzern. Es verfügt über eine 12 - GHz - CPU Fest Reservierung und 16 GB RAM, auch ganz reserviert. Die CPU-Reservierung kann bei Bedarf auf maximal 24 GHz erweitert werden.

Viele unserer Benutzer verlassen sich ausschließlich auf den Server, um zu arbeiten. Sie beschweren sich auch bitter über die Leistung, aber viele sind nicht bereit, Arbeitsgewohnheiten oder Software zu ändern, um die Leistung zu verbessern. Speziell:

  • Benutzer weigern sich, sich abzumelden, anstatt die Verbindung zu trennen
  • Benutzer bestehen darauf , Lync 2013 anstelle von Lync 2010 zu verwenden (Lync 2013 ist eine berüchtigte Ressource)

Ich kann die Bedeutung ihrer Weigerung, sich abzumelden, nicht übertreiben. Nicht verbundene Benutzer belasten weiterhin den Arbeitsspeicher, während sie nicht verbunden sind. Dies bedeutet, dass zu einem bestimmten Zeitpunkt bis zu 16 Instanzen bestimmter Programme ausgeführt werden.

Ich habe auch durch Erfahrung gemerkt, dass Lecks / Zombies dazu neigen, sich zu addieren, je länger ein Remotedesktopserver ausgeführt wird. Nach einem Neustart ist der Server frisch und viel schneller, auch wenn er die Leistung vergleicht, nachdem sich viele Benutzer angemeldet haben. Ich habe auch gelesen, dass regelmäßige Neustarts hilfreich sein können.

Daher habe ich regelmäßige Neustarts der VM vorgeschlagen - ich würde es gerne wöchentlich machen, etwa am Samstagabend -, da ich der Meinung bin, dass diese Neustarts einen Großteil des Problems lösen würden.

Ich würde gerne wissen, ob Sie ein Windows-Administrator sind,

  • Habe ich Recht mit der Tatsache, dass sich mit der Sitzungszeit Müll / Zombies / Lecks ansammeln, selbst nachdem ein Benutzer die Verbindung getrennt / wiederhergestellt hat?

  • Wie oft starten Sie einen ähnlich genutzten Windows Server mit Remotedesktopdiensten neu?

tacos_tacos_tacos
quelle
10
Warum nicht eine Richtlinie verwenden, um die Abmeldung für inaktive Sitzungen zu erzwingen?
Massimo
@ Massimo, weil sie dies für zu unhandlich halten würden ... sie verlieren jedes Mal die Arbeit, wenn ich ohne ausreichende Ankündigung neu starte, dh um überhaupt neu zu starten, müssen sie bis "Mittag" dieses Tages Bescheid wissen, und selbst dann ist es erst nach einigem Murren und Diskussion, etc.
tacos_tacos_tacos
12
Sie müssen die Erwartungen Ihrer Benutzer anpassen. IMO ist es für sie unvernünftig, zu erwarten, dass sie eine inaktive Sitzung mit nicht gespeicherten Daten für eine beliebige Zeitdauer sicher verlassen können. Ein unerwarteter Absturz, ein Geräteausfall, ein Stromausfall oder eine andere Art von Chaos können die nicht gespeicherte Arbeit ebenso leicht zerstören.
Zoredache
2
Ich habe nichts gegen die Frage, aber die Antworten, wie die Frage formuliert ist, werden auf Optionen basieren. Versuchen Sie, weitere Fakten oder (oder zumindest leistungsbasierte) Antworten zu finden.
Jim B
1
@tacos_tacos_tacos es ist meine Erfahrung. Was genau soll an einem laufenden Betriebssystem verstopfen? Es ist eine vage Vorstellung, die unbegründet ist. Das Betriebssystem macht nicht so viel. Die Benutzerprozesse erledigen Sachen. Wenn sie weg sind, ist der Schiefer wieder sauber. Das Betriebssystem tritt normalerweise aus dem Weg und führt die Anforderungen der Benutzerprozesse aus. Die Ressourcennutzung wird nicht von selbst initiiert.
USR

Antworten:

23

Im Allgemeinen bin ich gegen die Idee, dass ein Windows-Server in Bezug auf TS / RDS-Server nach einem regulären Zeitplan AUSSER neu gestartet werden sollte . Wir starten jeden Tag neu. Es löscht alte Sitzungen, gibt benutzte Ressourcen frei (CPU, RAM, Dateizugriffsnummern usw.). Meiner Meinung nach und meinem Vorschlag nach sollten Sie einen täglichen geplanten Neustart Ihrer RDS-Server konfigurieren.

Beachten Sie, dass diese Antwort nur meine Meinung ist. Es gibt hier keine Tatsachenfeststellung.

Joeqwerty
quelle
Wo ich gearbeitet habe, haben wir uns auch jede Nacht neu gestartet. Manchmal kommt der Server nicht wieder hoch, aber es kommt so selten vor, dass es sich gelohnt hat.
Frederik Nielsen
Wie oft haben Sie es neu installiert?
Konrad Gajewski
4
+1 Citrix, Microsoft und ich empfehlen regelmäßige Neustarts für TS-Server. Hierbei handelt es sich im Wesentlichen um Endbenutzer-Computer-Boxen, auf denen normalerweise Anwendungen ausgeführt werden, die nicht für Server optimiert sind. Dies bedeutet Speicherverluste, keine Freigabe von Ressourcen usw. Mindestens wöchentlich, aber täglich, wo immer Sie können - es wird Ihnen das Leben leichter machen.
Dan,
@Haben Sie Links zu der von Ihnen erwähnten Microsoft-Empfehlung (regulärer Neustart)?
tacos_tacos_tacos
17

Benutzer weigern sich, sich abzumelden, anstatt die Verbindung zu trennen

Richten Sie die entsprechenden Gruppenrichtlinien ein, um sie automatisch abzumelden. Sie können ein Leerlauf-Timeout und eine Abmeldung separat steuern. Das sollte sicherlich einige Probleme im Laufe des Tages minimieren.

Ich starte meine 3-Server-TS-Farm täglich um 3:00 Uhr neu. Ja, Mist kann sich im Laufe der Zeit ansammeln, wenn viele Leute ein einziges System verwenden. Wir haben 3 Server, die sich je nach Tag und Jahreszeit zwischen 60 und 90 Personen teilen.

Ich muss das wahrscheinlich nicht oft neu starten, aber wir haben angefangen, Terminaldienste mit Windows 2000 zu verwenden, und unsere Druckertreiber waren zu der Zeit schrecklich. Der Druckspooler würde im Grunde nach ein oder zwei Tagen Ausfall ausfallen. Also haben wir jeden Abend einen Neustart gestartet, da wir keine Hebelwirkung hatten, um die Druckerhersteller dazu zu bringen, ihre beschissenen Treiber zu reparieren.

Zoredache
quelle
in Bezug auf Druckertreiber usw.: Ich habe hier oder an einem anderen seriösen Ort gelesen, dass MS in dieser Abteilung große Fortschritte gemacht hat - und die Notwendigkeit eines Neustarts im Allgemeinen verringert hat - zwischen Windows 2000 Server und Windows Server 20032R2 SP3. Ich bin mir also nicht sicher, ob das Treiberproblem relevant ist. Tatsächlich ist mir aufgefallen, dass neuere Versionen von Windows (Server) mit Druckertreibern und Spooling überraschend gut umgehen können.
tacos_tacos_tacos
Eigentlich starte ich meinen TS-Server nicht sehr oft neu, aber jede Nacht stoppe ich den Druckerspooler, lösche alle Druckaufträge und starte ihn neu. Dies behebt auch Vorfälle, bei denen sich Benutzer nicht mit RDP anmelden können. (Windows Server 2003)
Randy Orrison
6

Abhängig von Ihrem Geld, Ihrer Zeit und der Geschicklichkeit Ihrer Benutzer könnte eine andere Idee darin bestehen, einen zweiten Server einzurichten. Sie müssen gelegentlich immer noch neu starten, scheinen jedoch die Grenzen eines einzelnen Servers zu erreichen.

Sie sollten in der Lage sein, dieselben Client-CALs zu verwenden (Lizenzierung ist nicht mein stärkster Bereich). Abhängig von Ihrer Virtualisierungslösung ist möglicherweise bereits eine zusätzliche VM durch die vorhandene Lizenzierung abgedeckt.

Auch ohne zusätzliche VM-Ressourcen und mit dem zusätzlichen Betriebssystemaufwand kann das System besser mit zwei separaten VMs mit 6-GHz-CPU und 8-Gbyte-Speicher umgehen, vorausgesetzt, Sie können die Last gleichmäßig aufteilen. Es gibt drei mögliche Methoden:

  1. Der sauberste Weg ist die Verwendung einer geeigneten netzwerkbasierten Lastausgleichslösung, wie sie von F5 Networks, Cisco Systems und ähnlichen Unternehmen bereitgestellt wird. Wenn Sie bereits eine solche Lösung gekauft haben, lohnt es sich, sie hier zu verwenden. Sie können dann den Rest der Antwort ignorieren, da der F5 dann alle Abfragen für den FQDN, der für den Zugriff auf Ihren aktuellen RD-Server verwendet wird, entsprechend analysieren und eine entsprechende IP-Adresse basierend auf dem am wenigsten genutzten Ihrer Server zurückgeben kann.
  2. Round-Robin-DNS ist eine passable Lösung. Es garantiert keine vollkommen gleichmäßige Auslastung, aber es kann eine nützliche Lücke sein, wenn Sie Ihre Benutzer schulen (siehe 3), wenn Sie keinen Netzwerklastenausgleich verwenden können. Ersetzen Sie den aktuellen DNS-Namen, den Clients verwenden, durch zwei Hosteinträge mit demselben Namen, aber unterschiedlichen IP-Adressen (Ihre beiden Server). Konfigurieren Sie im Idealfall auch separate Hosteinträge (vorzugsweise basierend auf dem Hostnamen des Servers), die mit jedem einzelnen Server verknüpft sind.

Legen Sie eine lange TTL für Ihre Round-Robin-Einträge fest, wenn Clients getrennte Sitzungen auf einem Server nicht verlassen sollen, sobald ihr DNS-Cache abläuft und sie die IP des anderen Servers abrufen. Alternativ können Sie den Hostnamen des Computers, mit dem die Verbindung hergestellt wurde, als offensichtlich kennzeichnen (z. B. als Teil des Hintergrunds) und ihn auffordern, erneut eine Verbindung zu diesem Hostnamen herzustellen, wenn er seine Sitzung wiederherstellen möchte.

  1. Lassen Sie Ihre Kunden die Ladung verteilen. Mit ~ 25 Benutzern kann es möglich sein, bestimmte Benutzer (per E-Mail oder über eine Login-Nachricht auf dem Server) einfach aufzufordern, einen Server und den Rest den anderen zu treffen. Wenn Sie alternativ ihre Desktop-Plattform steuern oder sie über Citrix oder eine andere Anwendungsvirtualisierungs-Appliance auf den Server zugreifen, konfigurieren Sie einfach ihre Hosts-Datei † so, dass sie immer denselben Server (Desktop) erreichen / sicherstellen, dass immer derselbe Benutzer an denselben Server gesendet wird ( Gerät).

† Wenn immer derselbe Desktop verwendet wird, ändern Sie einfach die Hosts-Datei auf dem lokalen Desktop. Wenn sie zwischen Computern wechseln, schreiben Sie ein Skript (verteilt über Gruppenrichtlinien), um die Hostdatei so zu analysieren, dass der DNS-Eintrag, den sie derzeit für den Server verwenden, auf die IP des Servers verweist, den der bestimmte Benutzer verwenden soll. Ersetzen Sie die Zeile mit dem DNS-Namen, falls dieser bereits vorhanden ist, oder fügen Sie ihn am Ende der Datei hinzu, falls dies nicht der Fall ist.

Bruno
quelle
2
+1 für Kreativität. Ich kann einen Lastenausgleich einrichten, und das ist ehrlich gesagt der richtige Weg.
tacos_tacos_tacos
4

Ich kenne den "Benutzertyp", der sich weigert, sich abzumelden. Sie schienen jedoch kein Problem damit zu haben, dass der Server jede Nacht neu gestartet wird und nicht gespeicherte Daten verloren gehen. Dies erfolgt auf Server 2008 R2 TS, das ungefähr 20 Benutzer auf einem einzelnen Computer unterstützt.

user288719
quelle
1

> Benutzer weigern sich, sich abzumelden, anstatt die Verbindung zu trennen

Sie haben hier eher ein Management- / HR-Problem als ein technisches. Wenn angemeldete Personen die Arbeit anderer Personen beeinträchtigen (indem sie die Leistung unnötig reduzieren), gibt es nur zwei Lösungen:

  1. Machen Sie es zu einem technischen Problem, und sorgen Sie für eine Erhöhung der Ressourcen (mehr RAM, SSD anstelle von rotierendem Metall, ...), wenn dies möglich ist, damit das Problem behoben wird. Natürlich gibt es Grenzen für das, was Sie erreichen können, indem Sie neue Ressourcen auf eine einzelne Maschine werfen, aber es könnte funktionieren.

  2. Setzen Sie es als Problem der Personalverwaltung fort und finden Sie einen Weg, die entsprechende Disziplin zu fördern (oder diese nicht durchzusetzen ). Natürlich liegt dies möglicherweise außerhalb Ihrer direkten Verantwortung, daher kann es in Abhängigkeit von der Politik Ihres Büros recht schwierig sein ...

Wir hatten ein ähnliches Problem mit Leuten, die ihre Desktop-Computer nie neu starteten, was bedeutete, dass Sicherheitsupdates manchmal monatelang in der Warteschlange standen. Die Sicherheitsrichtlinie besagte, dass "Patches für bekannte Sicherheitsprobleme rechtzeitig installiert werden sollten, und zwar sofort, wenn bereits Exploits in freier Wildbahn vorliegen, es sei denn, es können ausreichende Schadensbegrenzungen nachgewiesen werden." -server Windows-Computer werden über Nacht an einem Dienstag neu gestartet, wenn ausstehende Updates vorliegen, keine Ausnahmen. Wenn jemand dagegen argumentiert, gibt es zwei einfache Gründe: Wenn wir diese Richtlinie nicht einhalten, verlieren wir unsere ISO-dies-das-und-die-andere-Akkreditierung, wenn es das nächste Mal ein Audit gibt, das für das Unternehmen wichtig ist.

> Benutzer bestehen darauf, Lync 2013 anstelle von Lync 2010 zu verwenden (Lync 2013 ist eine berüchtigte Ressource)

Gibt es einen bestimmten Grund dafür, außer dass sie neuere, glänzendere Dinge wollen? Wenn es eine Funktion gibt, die sie wirklich benötigen, können Sie möglicherweise wenig gegen diesen Winkel unternehmen.

Wenn eine Chat-Anwendung das Hauptproblem darstellt, frage ich mich, ob es eine Möglichkeit gibt, nur Instanzen dieses Programms in den inaktiven Sitzungen zu beenden, anstatt die gesamten Sitzungen zu beenden.

> Sie verlieren jedes Mal die Arbeit, wenn ich ohne ausreichende Ankündigung neu starte, dh um überhaupt neu zu starten, müssen sie bis "Mittag" dieses Tages Bescheid wissen

Sie geben die Art der Arbeit nicht an, daher ist dies sehr abhängig von der Art der Arbeit, aber sie können bei der Due Diligence (dh bei der nicht ordnungsgemäßen Ausführung ihrer Arbeit ) versagen .

Wenn sie nicht das Speichern von Dokumenten werden regelmäßig dann sie setzen ihre Arbeit gefährdet, nicht Sie. Was würde passieren, wenn ein Stromausfall oder ein anderer Fehler den Server ausschalten würde? Würden sie dir auch die Schuld geben?

Wenn sie zum Zeitpunkt des Neustarts aktiv arbeiten oder lange laufende Prozesse unbeaufsichtigt lassen müssen, kann es natürlich zu einem echten Planungsproblem kommen, das Sie zwischen Ihnen ausarbeiten müssen.

David Spillett
quelle
0

Mit dem Risiko, wie ein Verkäufer zu klingen, verwenden wir ShutdownPlus Rolling Restart . Wir haben es so eingerichtet, dass wir versuchen, unsere Server jede Nacht neu zu starten. Es funktioniert ziemlich gut - Sie können festlegen, dass Server erst neu gestartet werden, nachdem alle Benutzer abgemeldet wurden. Die Schleife wird neu gestartet, wenn der RD-Server noch x-mal verwendet wird. Das Tool kann auch Benutzer für Sie abmelden, wenn Sie möchten. Oder schalten Sie Ihre VMs @ ESXi aus und wieder ein.

Ich verwende es mit ein paar Gruppenrichtlinienobjekten, die nicht verbundene Benutzer nach ein paar Stunden abmelden. Und trennt aktive Sessions natürlich nach einer gewissen Leerlaufzeit. Abgesehen von dem gelegentlichen Schurkenprogramm, das das Schließen von Sitzungen verhindert, ist dies eine recht anmutige Methode. Wir haben uns aber darum gekümmert. So wie wir es jetzt eingerichtet haben, versucht jeder Server, stündlich von 22.00 bis 7.00 Uhr neu zu starten, bis es natürlich gelingt. Tatsächlich starten Benutzer mindestens zwei bis drei Mal pro Woche neu, was für mich in Ordnung ist.

Leider ist dies kein kostenloses Programm, aber es macht den Job ziemlich gut. Ich implementiere ein Powershell-Skript, das die Server hoffentlich auch vor dem Neustart aktualisiert.

Robert
quelle
0

Die direkte Antwort auf den Microsoft-Server führt einen Neustart durch. JA / NEIN. Oh, wenn das Leben so einfach wäre! Dies hängt von den Anwendungen ab, die auf dem Server ausgeführt werden. Aber hier ist eine einfache Anleitung, aber keine feste Regel.

Physischer Server, auf dem Windows Server ausgeführt wird ** x Version ** ( Automatischer Neustart und Zeitplan ) 95% können alle 14 Tage ohne echte Bedenken neu gestartet werden. (Überprüfen Sie, ob der angewendete Patch relevant und erforderlich ist.) Stellen Sie sicher, dass Sie den Patch vollständig auf Ihren Testservern testen, bevor Sie ihn für die Live- / Produktionssysteme freigeben.

Virtuelle VMWare- Server mit Windows Server x- Version - Alle zwei Wochen neu starten ( siehe obigen Kommentar, wenn Patches angewendet werden )

Physischer VMWare-Server NIE / NIE und nur bei Bedarf nie geplant. (Normalerweise sehr stabil, wenn es auf dem neuesten Stand gehalten wird.) Für VMWare-Patches / -Updates ist ein Neustart erforderlich.

VMWare mit Windows SQL (Neustart begrenzen , Windows-Patches NUR MANUELL anwenden ! Neustart, WENN der Patch dies erfordert und erst dann, nachdem Sie ALLE Client-Verbindungen gestoppt haben) Überprüfen Sie, ob die Verbindungen nach dem Sichern des Servers wieder hergestellt wurden. Der Neustart von SQL-Servern kann einige Zeit in Anspruch nehmen.

Erinnerung: Bevor Sie Änderungen an einem VMWare (Windows Server) SNAPSHOT vornehmen! Wenn das System abstürzt, nachdem Service Patch oder Updates angewendet wurden oder Anwendungen nicht gestartet werden können, können Sie die Serversicherung schnell und mit begrenzter Ausfallzeit ausführen. Denken Sie daran, Fehler zu notieren, damit Sie die Fehlerbehebung finden können. Lassen Sie das System nicht alleine, da dies fehlgeschlagen ist, da dies in Zukunft möglicherweise fehlschlagen wird.

Ich hoffe, das hilft und hilft ein wenig, die Dinge aufzuklären.

Chroniken
quelle