Jak często restartujesz mocno używany serwer pulpitu zdalnego Windows Server 2008R2?

17

Uwaga: przeczytałem, jak często serwery Windows muszą być ponownie uruchamiane? ale to pytanie dotyczy w szczególności naszego serwera pulpitu zdalnego .

Posiadamy serwer Windows Server 2008R2 - VMware ESX VM - licencjonowany dla usług pulpitu zdalnego, 25 użytkowników, którzy również wykonują RRAS (SSTP). Średnio w dni robocze, w godzinach pracy, zalogowanych jest od 8 do 12 aktywnych użytkowników z dodatkowymi 4-6 „rozłączonymi” użytkownikami. Ma twardą rezerwację procesora 12 GHz i 16 GB pamięci RAM, również całkowicie zarezerwowane. W razie potrzeby rezerwację procesora można rozszerzyć do maks. 24 GHz.

Wielu naszych użytkowników polega na pracy wyłącznie na serwerze. Gorzko narzekają również na jego wydajność, ale wielu nie chce zmieniać nawyków pracy ani oprogramowania w celu poprawy jego wydajności. Konkretnie:

  • Użytkownicy odmawiają wylogowania zamiast rozłączenia
  • Użytkownicy nalegają na używanie programu Lync 2013 zamiast programu Lync 2010 (Lync 2013 to notoryczny świnia zasobów)

Nie mogę przecenić znaczenia ich odmowy wylogowania. Odłączeni użytkownicy nadal zajmują pamięć RAM, gdy są rozłączeni, co oznacza, że ​​w danym momencie mamy do 16 wystąpień niektórych programów.

Zauważyłem również z doświadczenia, że ​​wycieki / zombie mają tendencję do sumowania się, im dłużej działa serwer pulpitu zdalnego. Po ponownym uruchomieniu serwer jest świeży i znacznie szybszy, nawet podczas porównywania wydajności po zalogowaniu się wielu użytkowników. Przeczytałem również, że regularne ponowne uruchamianie może być pomocne.

Zaproponowałem więc regularne ponowne uruchamianie maszyny wirtualnej - chciałbym to robić co tydzień, powiedzmy w sobotę wieczorem - ponieważ uważam, że te ponowne uruchomienie rozwiązałoby wiele problemów.

Chciałbym wiedzieć, jeśli jesteś administratorem systemu Windows,

  • Czy mam rację co do faktu, że śmieci / zombie / wycieki kumulują się wraz z czasem sesji, nawet po rozłączeniu / ponownym połączeniu się użytkownika?

  • Jak często masz ponowne uruchomienie podobnie wykorzystany Windows Server z usługami pulpitu zdalnego?

tacos_tacos_tacos
źródło
10
Dlaczego nie skorzystać z zasad, aby wymusić wylogowanie w przypadku bezczynności?
Massimo,
@Massimo, ponieważ uważaliby to za zbyt ciężkie ... tracą pracę za każdym razem, gdy uruchamiam ponownie bez odpowiedniego powiadomienia, tj. Aby zrestartować w ogóle, muszą wiedzieć do „południa” tego dnia, a nawet wtedy to dopiero po pewnym czasie narzekanie i dyskusja itp.
tacos_tacos_tacos
12
Będziesz musiał dostosować oczekiwania swoich użytkowników. IMO nierozsądnie oczekuje, że mogą bezpiecznie opuścić bezczynną sesję z niezapisanymi danymi na dowolny okres czasu. Niespodziewana awaria, awaria sprzętu, przerwa w dostawie prądu lub inny chaos mogą równie łatwo zniszczyć ich niezapisaną pracę.
Zoredache,
2
Nie mam nic przeciwko temu pytaniu, ale odpowiedzi w formie pytania będą oparte na opcjach. Spróbuj przeformułować, aby uzyskać więcej faktów lub (lub przynajmniej opartych na wydajności) odpowiedzi.
Jim B
1
@tacos_tacos_tacos to moje doświadczenie. Co dokładnie powinno zapchać działający system operacyjny? Jest to niejasne pojęcie, które jest bezpodstawne. System operacyjny nie robi tak wiele. Procesy użytkownika robią różne rzeczy. Kiedy znikną, łupek jest znowu czysty. System operacyjny zwykle przeszkadza i robi to, o co proszą procesy użytkownika. Sama nie inicjuje użycia zasobów.
usr

Odpowiedzi:

23

Ogólnie rzecz biorąc, jestem przeciwny pomysłowi, aby serwer Windows był uruchamiany ponownie zgodnie z regularnym harmonogramem Z WYJĄTKIEM serwerów TS / RDS. Ponownie uruchamiamy nasz codziennie. Usuwa stare sesje, używane wydania (procesor, pamięć RAM, uchwyty plików itp.), Więc moim zdaniem i sugestią byłoby skonfigurowanie codziennego ponownego uruchamiania serwerów RDS.

Pamiętaj, że ta odpowiedź to tylko moja opinia. Nie ma tutaj żadnych faktów.

joeqwerty
źródło
Tam, gdzie pracowałem, co noc ponownie uruchamialiśmy nasze. Czasami serwer nie wraca, ale zdarza się tak rzadko, że było warto.
Frederik Nielsen
Jak często go instalowałeś?
Konrad Gajewski
4
+1 Citrix, Microsoft i ja wszyscy zalecamy regularne restartowanie serwerów TS. Są to zasadniczo urządzenia komputerowe dla użytkowników końcowych i zwykle będą uruchamiać aplikacje, które nie są zoptymalizowane dla serwerów - oznacza to wycieki pamięci, nie zwalnianie zasobów i tak dalej. Co tydzień na absolutnym minimum, ale codziennie, gdziekolwiek możesz - to ułatwi Ci życie.
Dan
@ Czy są jakieś linki do wspomnianej przez ciebie rekomendacji Microsoft (regularny restart)?
tacos_tacos_tacos
17

Użytkownicy odmawiają wylogowania zamiast rozłączenia

Skonfiguruj odpowiednie zasady grupy, aby je automatycznie wylogować. Możesz osobno kontrolować limit czasu bezczynności i wylogowywać się. To z pewnością powinno zminimalizować część problemu w ciągu dnia.

Codziennie ponownie uruchamiam farmę 3 serwerów TS o 3:00. Ponieważ tak, bzdury mogą narastać z czasem, gdy wiele osób korzysta z jednego systemu. Mamy 3 serwery współdzielone między 60-90 osób w zależności od dnia, pory roku.

Prawdopodobnie nie muszę często restartować tego systemu, ale zaczęliśmy korzystać z usług terminalowych w systemie Windows 2000, a nasze sterowniki drukarek były wtedy straszne. Bufor wydruku zasadniczo przestałby działać po jednym lub dwóch dniach przerwy. Zaczęliśmy więc restartować co noc, ponieważ nie mieliśmy żadnej siły, aby zmusić producentów drukarek do naprawienia ich kiepskich sterowników.

Zoredache
źródło
jeśli chodzi o sterowniki drukarek itp .: Przeczytałem albo tutaj, albo gdzieś indziej godnym zaufania, że ​​MS poczyniło wielkie postępy w tym dziale - i ogólnie zmniejszając potrzebę ponownego uruchamiania - między Windows 2000 Server a Windows Server 20032R2 SP3. Nie jestem więc pewien, czy problem ze sterownikami ma znaczenie. W rzeczywistości zauważyłem, że nowsze wersje systemu Windows (Server) wydają się obsługiwać sterowniki druku i buforowanie zaskakująco dobrze.
tacos_tacos_tacos
Właściwie nie uruchamiam ponownie zbyt często serwera TS, ale co noc zatrzymuję bufor wydruku, usuwam wszystkie zadania drukowania i uruchamiam go ponownie. To również leczy incydenty, gdy użytkownicy nie mogą zalogować się przy użyciu protokołu RDP. (Windows Server 2003)
Randy Orrison
6

W zależności od gotówki, czasu i chęci użytkowników innym pomysłem może być powstanie drugiego serwera. Nadal będziesz musiał od czasu do czasu restartować komputer, ale wydaje się, że osiągasz granice pojedynczego serwera.

Powinieneś mieć możliwość korzystania z tej samej licencji CAL klienta (licencje nie są moim najsilniejszym obszarem), aw zależności od rozwiązania do wirtualizacji dodatkowa maszyna wirtualna może już być objęta istniejącymi licencjami.

Nawet bez dodatkowych zasobów maszyny wirtualnej i dodatkowego obciążenia systemu operacyjnego, system może lepiej obsługiwać dwa oddzielne procesory 6 GHZ CPU i pamięć 8GiB, zakładając, że możesz równomiernie podzielić obciążenie. Istnieją trzy potencjalne metody:

  1. Najczystszym sposobem jest użycie odpowiedniego sieciowego równoważenia obciążenia, takiego jak te oferowane przez F5 Networks, Cisco Systems i podobne firmy. Jeśli już kupiłeś takie rozwiązanie, warto je tutaj zastosować. Następnie możesz zignorować resztę odpowiedzi, ponieważ f5 będzie w stanie odpowiednio przeanalizować wszystkie zapytania dotyczące nazwy FQDN używanej do uzyskania dostępu do bieżącego serwera RD i zwrócić odpowiedni adres IP w oparciu o najmniej używane serwery.
  2. Round-Robin DNS jest znośnym rozwiązaniem. Nie gwarantuje idealnie równomiernego obciążenia, ale może być użytecznym stopgiem podczas edukowania użytkowników (patrz 3), jeśli nie można użyć równoważenia obciążenia sieciowego. Zamień bieżące nazwy DNS, których używają klienci, na dwa rekordy hosta o tej samej nazwie, ale różnych adresach IP (dwa serwery), najlepiej także skonfiguruj osobne rekordy hosta (najlepiej na podstawie nazwy hosta serwera), które są połączone z każdym serwerem.

Ustaw długi czas TTL dla pozycji rundy, jeśli nie chcesz, aby klienci opuszczali rozłączone sesje na jednym serwerze po wygaśnięciu pamięci podręcznej DNS i uzyskają adres IP drugiego serwera. Alternatywnie uczyń nazwę hosta komputera, z którym się połączyłem, oczywistym (np. Uczyń ją częścią tła) i poproś, aby ponownie nawiązali połączenie z tą nazwą hosta, jeśli chcą wznowić sesję.

  1. Niech Twoi klienci rozdzielą obciążenie. W przypadku ~ 25 użytkowników może być możliwe po prostu poproszenie (za pośrednictwem wiadomości e-mail lub wiadomości logowania na serwerze) niektórych użytkowników o trafienie na jednym serwerze, a pozostałych o kliknięcie na drugim. Alternatywnie, jeśli kontrolujesz ich platformę komputerową lub uzyskuje dostęp do serwera za pośrednictwem Citrix lub innego urządzenia do wirtualizacji aplikacji, po prostu skonfiguruj plik hostów †, aby zawsze trafiał na ten sam serwer (komputer) / upewnij się, że ten sam użytkownik jest zawsze wysyłany na ten sam serwer ( urządzenie).

† Jeśli zawsze będą korzystać z tego samego pulpitu, po prostu zmodyfikuj plik hosts na pulpicie lokalnym. Jeśli przemieszczają się między komputerami, napisz skrypt (dystrybuowany za pomocą zasad grupy), aby przeanalizować plik hosta w taki sposób, że wpis DNS, którego aktualnie używają dla serwera, wskazuje adres IP serwera, którego powinien używać dany użytkownik. Zamień wiersz zawierający tę nazwę DNS, jeśli już istnieje, lub dodaj ją na końcu pliku, jeśli nie istnieje.

Bruno
źródło
2
+1 za kreatywność. Mogę skonfigurować moduł równoważenia obciążenia i to jest szczera droga.
tacos_tacos_tacos
4

Znam „typ użytkownika”, który odmawia wylogowania. Wydawało się jednak, że nie mają problemu ze zrozumieniem, że serwer będzie restartował się co noc, aby utraciła niezapisaną pracę. To jest na Server 2008 R2 TS Obsługuje około 20 użytkowników na jednym komputerze.

użytkownik 288719
źródło
1

> Użytkownicy odmawiają wylogowania zamiast rozłączenia

Masz tutaj problem z zarządzaniem / HR, a nie kwestią techniczną. Jeśli ludzie pozostający zalogowani wpływają na pracę innych osób (niepotrzebnie zmniejszając wydajność), istnieją tylko dwa rozwiązania:

  1. Zrób to problemem technicznym i zapewnij zwiększenie zasobów (więcej pamięci RAM, SSD zamiast spinning metalu, ...), jeśli to możliwe, aby problem zniknął w ten sposób. Oczywiście istnieją ograniczenia dotyczące tego, co można osiągnąć, rzucając nowe zasoby na jedną maszynę, ale może to działać.

  2. Postrzegaj to jako problem zarządzania ludźmi i znajdź jakiś sposób na zachęcanie (lub brak egzekwowania ) odpowiedniej dyscypliny. Oczywiście może to być poza twoją bezpośrednią odpowiedzialnością, więc może być dość trudne w zależności od polityki twojego biura ...

Mieliśmy podobny problem z tym, że ludzie nigdy nie uruchamiali ponownie komputerów stacjonarnych, co oznacza, że ​​aktualizacje zabezpieczeń były czasami w kolejce przez miesiące. Polityka bezpieczeństwa stanowi, że „łaty na znane problemy bezpieczeństwa powinny być instalowane w odpowiednim czasie, natychmiast w przypadkach, gdy exploity już istnieją w środowisku naturalnym, chyba że można udowodnić wystarczające środki zaradcze”, więc w końcu zostało po prostu narzucone przez zasady grupy: wszystkie nie - serwery z systemem Windows uruchomią się ponownie we wtorek przez noc, jeśli są oczekujące aktualizacje, bez wyjątków. Jeśli ktoś się temu sprzeciwi, istnieją dwa łatwe sposoby na przeciwdziałanie: jeśli nie będziemy przestrzegać tej zasady, stracimy naszą akredytację ISO to, to i tamto, następnym razem będzie jakikolwiek audyt, który jest ważny dla biznesu,

> Użytkownicy nalegają na używanie programu Lync 2013 zamiast programu Lync 2010 (program Lync 2013 to notoryczny hog zasobów)

Czy jest jakiś konkretny powód, dla którego inne niż chcą nowszych, bardziej błyszczących rzeczy? Jeśli istnieje funkcja, której naprawdę potrzebują, to niewiele można zrobić z tym kątem.

Jeśli głównym problemem jest aplikacja czatu, zastanawiam się, czy istnieje sposób na zabicie tylko instancji tego programu w bezczynnych sesjach zamiast zabijania całych sesji?

> tracą pracę za każdym razem, gdy uruchamiam ponownie komputer bez odpowiedniego powiadomienia, tj. aby w ogóle zrestartować komputer, muszą wiedzieć do „południa” tego dnia

Nie podajesz charakteru pracy, więc jest to bardzo zależne od tego, co to jest, ale mogą się nie powieść z należytą starannością (tj. Nie wykonują właściwie swojej pracy ).

Jeśli nie zapisują regularnie dokumentów , narażają swoją pracę na ryzyko, a nie ty. Co by się stało, gdyby wystąpiła awaria zasilania lub inna usterka, która spowodowała wyłączenie serwera? Czy oni też cię winili?

Oczywiście, jeśli aktywnie pracują w czasie restartu lub muszą pozostawić długo działające procesy bez nadzoru, może istnieć prawdziwy problem z planowaniem, który musisz rozwiązać między sobą.

David Spillett
źródło
0

Ryzykując, że będziesz brzmiał jak sprzedawca - używamy ShutdownPlus Rolling Restart . Przygotowaliśmy go tak, aby co noc próbował ponownie uruchamiać nasze serwery. Działa całkiem nieźle - możesz ustawić, aby restartował serwery tylko po wylogowaniu wszystkich. Zrestartuje pętlę, jeśli ktoś nadal używa serwera RD X razy. Oprzyrządowanie może również wylogować użytkowników za Ciebie, jeśli chcesz. Lub nawet uruchom ponownie swoje maszyny wirtualne @ ESXi.

Używam go z kilkoma obiektami GPO, które wylogowują rozłączonych użytkowników po kilku godzinach. I oczywiście rozłącza aktywne sesje po pewnym czasie bezczynności. Jest to dość wdzięczna metoda, oprócz okazjonalnego nieuczciwego programu, który powstrzymuje sesje przed zamknięciem. Ale pracowaliśmy nad nimi. Sposób, w jaki go skonfigurowaliśmy, teraz każdy serwer próbuje się restartować co godzinę od 22.00 do 7.00, dopóki oczywiście się nie powiedzie. W efekcie użytkownicy uruchamiają się ponownie co najmniej 2/3 razy w tygodniu, co jest dla mnie w porządku.

Niestety nie jest to darmowy program, ale całkiem dobrze sobie radzi. Wdrażam skrypt PowerShell, który, mam nadzieję, zaktualizuje serwery również przed ponownym uruchomieniem komputera.

Robert
źródło
0

Prosta odpowiedź na ponowne uruchomienie serwera Microsoft TAK / NIE. Och, gdyby życie było takie proste! Zależy to od aplikacji działających na serwerze. Ale tutaj jest prosty przewodnik, ale NIE twarda i szybka zasada.

Serwer fizyczny z systemem Windows Server ** x Wersja ** ( Auto Reboot & Schedule ) 95% może być restartowane raz na dwa tygodnie bez żadnych obaw. (Sprawdź, czy zastosowana łatka jest odpowiednia i wymagana). Upewnij się, że w pełni przetestujesz poprawkę na swoich serwerach testowych przed wydaniem do systemów Live / Production.

VMWare Virtual Servers z systemem Windows Server x wersja - restart co dwa tygodnie ( patrz powyższy komentarz, jeśli poprawki są zastosowane )

Fizyczny serwer VMWare NIGDY / Rzadko i tylko w razie potrzeby nigdy nie planowany. (Zwykle bardzo stabilny, jeśli jest aktualizowany) Poprawki / aktualizacje VMWare będą wymagały ponownego uruchomienia.

VMWare z systemem Windows SQL (Ogranicz ponowne uruchamianie, Zastosuj łaty Windows TYLKO RĘCZNIE! Uruchom ponownie JEŻELI łata tego wymaga, a następnie dopiero po zatrzymaniu WSZYSTKICH połączeń klientów) Sprawdź połączenia nawiązane ponownie po utworzeniu kopii zapasowej serwera. Ponowne uruchomienie serwerów SQL może trochę potrwać, więc zaplanuj to poza godzinami.

Przypomnienie: Przed dokonaniem DOWOLNEJ zmiany na VMWare (Windows Server) SNAPSHOT to! jeśli system ulegnie awarii po aktualizacji serwisowej lub zastosowanych aktualizacjach lub aplikacje się nie uruchomią, możesz szybko uzyskać kopię zapasową serwera i działać z ograniczonym czasem przestoju. Pamiętaj, aby zanotować błędy, aby można było znaleźć poprawkę, nie zostawiaj systemu w spokoju, ponieważ zawiódł, ponieważ może się nie powieść w przyszłości.

Mam nadzieję, że to pomaga i idzie w niewielki sposób, aby wyjaśnić sprawę.

Kroniki
źródło