자주 사용하는 Windows Server 2008R2 원격 데스크톱 서버 (VM)를 얼마나 자주 다시 시작합니까?


17

참고 : Windows 서버를 얼마나 자주 다시 시작해야합니까?를 읽었습니다 . 그러나이 질문은 특히 원격 데스크톱 서버와 관련이 있습니다.

원격 데스크톱 서비스 용으로 라이센스가 부여 된 Windows Server 2008R2 서버 (VMware ESX VM)와 RRAS (SSTP)를 수행하는 25 명의 사용자가 있습니다. 평균 주중에는 근무 시간 동안 추가로 4-6 명의 "연결이 끊어진"사용자가있는 8 ~ 12 명의 로그인 한 활성 사용자가 있습니다. 12GHz CPU 하드 예약 과 16GB RAM이 있으며 완전히 예약되었습니다. 필요한 경우 CPU 예약을 최대 24GHz까지 확장 할 수 있습니다.

많은 사용자가 서버를 독점적으로 사용하여 작업합니다. 또한 성능에 대한 불만이 많지만 성능 향상을 위해 작업 습관이나 소프트웨어를 바꾸려고하지 않습니다. 구체적으로 특별히:

  • 사용자 가 연결을 끊는 대신 로그 오프를 거부
  • 사용자 는 Lync 2010 대신 Lync 2013을 사용해야한다고 주장합니다 (Lync 2013은 악명 높은 리소스 호그입니다)

로그 오프 거부의 중요성을 과장해서는 안됩니다. 단절된 사용자는 연결이 끊긴 상태에서 RAM계속 사용하므로 언제든지 특정 프로그램의 인스턴스 를 최대 16 개까지 실행할 수 있습니다.

또한 누출 / 좀비가 원격 데스크톱 서버를 오래 실행하는 데 더 많은 시간이 걸리는 경험을 통해 알았습니다. 재부팅 후 많은 사용자가 로그인 한 후 성능을 비교하더라도 서버가 신선하고 훨씬 빨라졌습니다. 또한 정기적 인 재부팅이 도움이 될 수 있습니다.

그래서 VM의 정기적 재부팅을 제안했습니다. 토요일 저녁에 매주하고 싶습니다.이 재부팅으로 많은 문제가 해결 될 것이라고 생각합니다.

Windows 관리자 인 경우 알고 싶습니다.

  • 사용자가 연결을 끊거나 다시 연결 한 후에도 가비지 / 좀비 / 누수가 세션 시간과 함께 누적된다는 사실에 대해 맞습니까?

  • 얼마나 자주 당신이 할 원격 데스크톱 서비스와 유사하게 사용되는 Windows Server는 다시 시작?


10
정책을 사용하여 유휴 세션에 대해 강제로 로그 오프하지 않습니까?
Massimo

@Massimo는 너무 무겁다 고 생각하기 때문에 ... 충분한 통지없이 재부팅 할 때마다 작업을 잃습니다. 즉, 그 날의 "정오"까지 알아야 할 모든 것을 재부팅해야합니다. 불평과 토론 등
tacos_tacos_tacos

12
사용자의 기대치를 조정해야합니다. IMO는 저장되지 않은 데이터를 사용하여 유휴 세션을 일정 시간 동안 안전하게 종료 할 수 있다고 기대하는 것은 합리적이지 않습니다. 예기치 않은 충돌, 장비 고장, 정전 또는 기타 혼돈 행위는 저장하지 않은 작업을 쉽게 파괴 할 수 있습니다.
Zoredache

2
나는 질문에 신경 쓰지 않지만 질문에 대한 답변은 옵션 기반이 될 것입니다. 더 많은 사실 또는 최소한 성능 기반의 답변에 대해서는 문구를 바꾸십시오.
Jim B

1
@tacos_tacos_tacos 그것은 내 경험입니다. 정확히 실행중인 OS에 대해 무엇을 막아야합니까? 근거가없는 모호한 개념입니다. OS는 그렇게 많이하지 않습니다. 사용자 프로세스는 작업을 수행합니다. 그들이 사라지면 슬레이트는 다시 깨끗합니다. OS는 일반적으로 방해가되고 사용자 프로세스가 요구하는 작업을 수행합니다. 자체적으로 리소스 사용을 시작하지는 않습니다.
usr

답변:


23

일반적으로 TS / RDS 서버와 관련하여 정기적 인 EXCEPT를 제외 하고 Windows 서버를 재부팅해야한다는 생각에 반대 합니다. 우리는 매일 재부팅합니다. 이전 세션을 지우고 사용 리소스 (CPU, RAM, 파일 핸들 등)를 해제하므로 RDS 서버의 일일 예약 재부팅을 구성하는 것이 좋습니다.

이 답변은 제 의견 일뿐입니다. 여기에는 사실에 대한 진술이 없습니다.


내가 일했던 곳에서 우리는 매일 밤 다시 부팅했습니다. 때로는 서버가 다시 나타나지 않지만 가치가 없을 정도로 거의 발생하지 않습니다.
프레데릭 닐슨

얼마나 자주 다시 설치 했습니까?
Konrad Gajewski

4
+1 Citrix, Microsoft 및 본인은 모두 TS 서버를 정기적으로 재부팅 할 것을 권장합니다. 이들은 본질적으로 최종 사용자 컴퓨팅 박스이며 일반적으로 서버에 최적화되지 않은 응용 프로그램을 실행합니다. 즉, 리소스 누출 등이 아니라 메모리 누수를 의미합니다. 매주 절대적으로 최소한, 그러나 당신이 할 수있는 곳마다 매일 – 그것은 당신의 인생을 더 쉽게 만들어 줄 것입니다.
Dan

@ 언급 한 Microsoft 권장 사항에 대한 링크가 있습니까 (정기 재부팅)?
tacos_tacos_tacos

17

사용자가 연결을 끊는 대신 로그 오프를 거부

적절한 그룹 정책을 설정하여 자동 로그 오프합니다. 유휴 시간 초과 및 로그 오프를 별도로 제어 할 수 있습니다. 그것은 하루 동안 문제의 일부를 최소화해야합니다.

매일 오전 3시에 3 서버 TS 팜을 다시 시작합니다. 단일 시스템을 사용하는 사람이 많은 경우 시간이 지남에 따라 헛소리가 발생할 수 있기 때문입니다. 요일, 시간에 따라 60-90 명 사이에 3 대의 서버가 공유됩니다.

아마도 이것을 자주 다시 부팅 할 필요는 없지만 Windows 2000에서 터미널 서비스를 사용하기 시작했으며 당시에는 프린터 드라이버가 끔찍했습니다. 인쇄 스풀러는 기본적으로 하루나 이틀 후에 실패합니다. 그래서 우리는 프린터 제조사가 그들의 crappy 드라이버를 고칠 수있는 수단이 없었기 때문에 매일 밤 재부팅을 시작했습니다.


프린터 드라이버 등 : 여기 또는 다른 곳에서 MS가이 부서에서 큰 발전을 이뤘으며 일반적으로 Windows 2000 Server와 Windows Server 20032R2 SP3 사이의 재부팅 필요성을 줄였다는 것을 읽었습니다. 따라서 드라이버 문제가 관련이 있는지 확실하지 않습니다. 실제로 최신 버전의 Windows (서버)가 인쇄 드라이버와 스풀링을 놀랍게 잘 처리하는 것으로 나타났습니다.
tacos_tacos_tacos

실제로 TS 서버를 자주 재부팅하지는 않지만 매일 밤 인쇄 스풀러를 중지하고 인쇄 작업을 삭제 한 후 다시 시작합니다. 또한 사용자가 RDP를 사용하여 로그인 할 수없는 경우 사고를 치료합니다. (Windows Server 2003)
Randy Orrison

6

현금, 시간 및 사용자의 유용성에 따라 다른 아이디어는 두 번째 서버를 세우는 것입니다. 여전히 가끔 재부팅해야하지만 단일 서버의 한계에 도달 한 것 같습니다.

동일한 클라이언트 CAL (라이센스가 가장 강력한 영역은 아님)을 사용할 수 있어야하며 가상화 솔루션에 따라 추가 VM에 이미 기존 라이센스가 포함되어있을 수 있습니다.

추가 VM 리소스가없고 추가 OS 오버 헤드가 있더라도로드를 균등하게 분할 할 수 있다고 가정하면 시스템이 2 개의 분리 된 6 GHZ CPU 및 8GiB 메모리 VM처럼 더 잘 처리 될 수 있습니다. 세 가지 가능한 방법이 있습니다.

  1. 가장 깨끗한 방법은 F5 Networks, Cisco Systems 및 유사한 회사에서 제공하는 것과 같은 적절한 네트워크 기반로드 밸런싱 솔루션을 사용하는 것입니다. 이와 같은 솔루션을 이미 구입 한 경우 여기에서 사용하는 것이 좋습니다. 그러면 f5가 현재 RD 서버에 액세스하는 데 사용 된 FQDN에 대한 모든 쿼리를 적절하게 구문 분석하고 가장 적게 사용되는 서버를 기반으로 적절한 IP를 반환 할 수 있으므로 나머지 답변을 무시할 수 있습니다.
  2. 라운드 로빈 DNS 는 훌륭한 솔루션입니다. 완벽하게 균일 한로드를 보장하지는 않지만 네트워크로드 밸런서를 사용할 수없는 경우 사용자를 교육하는 동안 유용한 스톱 갭이 될 수 있습니다 (3 참조). 현재 사용중인 DNS 이름 클라이언트는 이름은 같지만 IP는 다른 두 개의 호스트 레코드 (두 서버)로 바꾸고 각 개별 서버에 연결된 별도의 호스트 레코드 (바람직하게는 서버 호스트 이름을 기반으로 함)를 구성하십시오.

클라이언트가 DNS 캐시가 만료되고 다른 서버의 IP를 획득 한 후 한 서버에서 연결이 끊긴 세션을 떠나지 않게하려면 라운드 로빈 항목에 긴 TTL을 설정하십시오. 또는 연결 한 컴퓨터의 호스트 이름을 분명하게 지정하고 (예 : 백그라운드의 일부로 설정) 세션을 부활 시키려면 해당 호스트 이름에 다시 연결하도록 요청하십시오.

  1. 고객에게 부하를 분산 시키십시오. ~ 25 명의 사용자를 사용하면 특정 사용자에게 한 서버를 요청하고 나머지는 다른 서버를 공격하도록 요청하는 것이 가능할 수 있습니다 (전자 메일 또는 서버의 로그인 메시지를 통해). 또는 데스크톱 플랫폼을 제어하거나 시트릭스 또는 다른 응용 프로그램 가상화 어플라이언스를 통해 서버에 액세스하는 경우 호스트 파일 †을 구성하여 항상 동일한 서버 (데스크톱)에 충돌하도록하고 동일한 사용자가 항상 동일한 서버로 전송되도록하십시오 ( 기구).

† 항상 동일한 데스크톱을 사용하는 경우 로컬 데스크톱에서 호스트 파일을 수정하면됩니다. 시스템간에 이동하는 경우, 현재 서버에 사용하는 DNS 항목이 특정 사용자가 사용해야하는 서버의 IP를 가리 키도록 호스트 파일을 구문 분석하는 스크립트 (그룹 정책을 통해 분배)를 작성하십시오. 해당 DNS 이름이 포함 된 행을 이미있는 경우이를 바꾸거나 파일 끝에없는 경우 추가하십시오.


2
창의력 +1 로드 밸런서를 설정할 수 있으며 정직하게 갈 수 있습니다.
tacos_tacos_tacos

4

로그 오프를 거부하는 "사용자 유형"에 익숙합니다. 그러나 서버가 야간에 재부팅되므로 저장하지 않은 작업이 손실된다는 것을 이해하는 데 아무런 문제가 없었습니다. 단일 컴퓨터에서 약 20 명의 사용자를 지원하는 Server 2008 R2 TS에 있습니다.


1

> 사용자가 연결을 끊는 대신 로그 오프를 거부

여기에는 기술적 문제가 아닌 관리 / HR 문제가 있습니다. 로그온 상태를 유지하는 사람들이 불필요하게 성능을 저하시켜 다른 사람들의 작업에 영향을 미치는 경우 실제로 두 가지 솔루션 만 있습니다.

  1. 기술적 인 문제로 만들고 가능한 경우 문제가 해결 될 수 있도록 리소스 (스피닝 메탈 대신 RAM, SSD 등)를 늘리십시오. 물론 단일 시스템에서 새 리소스를 던져서 달성 할 수있는 것에 한계가 있지만 작동 할 수 있습니다.

  2. 이를 인력 관리 문제로 설득하고 적절한 훈련 을 장려하는 (또는 시행 하지 못하는) 방법을 찾으십시오 . 물론 이것은 당신의 직접적인 책임 밖에있을 수 있으므로 사무실의 정치에 따라 까다로울 수 있습니다 ...

우리는 데스크톱 컴퓨터를 다시 시작하지 않는 사람들과 비슷한 문제가 있었는데, 이는 보안 업데이트가 때때로 몇 달 동안 대기했다는 의미입니다. 보안 정책에 따르면 보안 문제에 대한 패치는 충분한 완화 조치가 입증 될 수없는 한 악용이 이미 존재하는 경우 즉시 적시에 설치해야합니다. -server Windows 시스템은 화요일에 보류중인 업데이트가 있으면 예외없이 밤새 재부팅됩니다. 누군가가 이것에 대해 반박한다면 두 가지 쉬운 카운터가 있습니다. 우리가 그 정책을 따르지 않으면 다음에 ISO에 대한 다른 승인을 풀 수 있습니다. 다음에 비즈니스에 중요한 감사가 있습니다.

> 사용자는 Lync 2010 대신 Lync 2013을 사용해야한다고 주장합니다 (Lync 2013은 악명 높은 리소스 호그입니다)

그들이 더 새로운 것보다 더 빛나는 것을 원하는 특별한 이유가 있습니까? 그들이 정말로 필요한 기능이 있다면이 각도에 대해 할 수있는 일이 거의 없을 것입니다.

채팅 응용 프로그램이 주요 자원 문제라면 전체 세션을 종료하는 대신 유휴 세션에서 해당 프로그램의 인스턴스 만 종료하는 방법이 있는지 궁금합니다.

> 충분한 통지없이 재부팅 할 때마다 작업이 중단됩니다. 즉, 해당 날짜의 "정오"까지 알아야 할 모든 항목을 재부팅해야합니다.

당신은 작품의 본질을 밝히지 않기 때문에 이것이 무엇인지에 크게 의존하지만, 실사에 실패했을 수도 있습니다 (즉, 제대로 일을 하지 못하고 있습니다 ).

그들은 정기적으로 문서를 저장하지 않는 경우, 그들은 당신이 위험에 작업을하지 가하고 있습니다. 전원을 끄거나 서버를 다운시키는 다른 오류가 발생하면 어떻게됩니까? 그들은 또한 당신을 비난합니까?

물론 재부팅 할 때 적극적으로 작동하거나 오래 실행되는 프로세스를 무인 상태로 두어야하는 경우에는 일정을 조정해야하는 실제 일정 문제가있을 수 있습니다.


0

영업 사원처럼 들릴 위험이 있으므로 ShutdownPlus Rolling Restart를 사용 합니다 . 매일 밤마다 서버를 시도하고 다시 시작하도록 설정했습니다. 꽤 잘 작동합니다. 모든 사용자가 로그 오프 한 후에 만 ​​서버를 다시 시작하도록 설정할 수 있습니다. 누군가가 여전히 RD 서버를 X 번 사용하는 경우 루프를 다시 시작합니다. 원하는 경우 도구를 사용하여 사용자를 로그 오프 할 수도 있습니다. 또는 ESXi @ VM의 전원을 껐다 켜십시오.

몇 시간 후에 연결이 끊어진 사용자를 로그 오프하는 몇 개의 GPO와 함께 사용하고 있습니다. 물론 특정 유휴 시간 후에 활성 세션의 연결을 끊습니다. 세션이 종료되는 것을 막는 가끔 로그 프로그램을 제외하고는 꽤 우아한 방법입니다. 우리는 그 문제를 해결했습니다. 지금 우리가 설정하는 방식은 모든 서버가 물론 성공할 때까지 매시간 22.00에서 7.00까지 재부팅을 시도합니다. 효과적으로, 사용자는 적어도 일주일에 2/3 번 재부팅합니다.

불행히도 이것은 무료 프로그램은 아니지만 일을 꽤 잘합니다. 재부팅하기 전에 서버를 업데이트하는 powershell 스크립트를 구현하고 있습니다.


0

Microsoft 서버에 대한 정답은 YES / NO로 재부팅합니다. 인생이 그렇게 쉬웠다면! 서버에서 실행되는 응용 프로그램에 따라 다릅니다. 그러나 여기에 간단한 안내서가 있지만 어렵고 빠른 규칙은 아닙니다.

Windows 서버 ** x 버전 ** ( 자동 재부팅예약 )을 실행하는 실제 서버 실제 문제없이 2 주마다 한 번씩 95 % 를 재부팅 할 수 있습니다. (적용되는 패치가 적절하고 필요한지 확인하십시오). 라이브 / 프로덕션 시스템에 릴리스하기 전에 테스트 서버에서 패치를 완전히 테스트하십시오.

Windows Server x 버전을 실행하는 VMWare 가상 서버 -2 주에 한 번 재부팅 ( 패치가 적용되는 경우 위의 설명 참조 )

물리적 VMWare 서버는 절대로 / 필요하지 않은 경우에만 예약되지 않습니다. VMWare 패치 / 업데이트는 재부팅이 필요합니다.

VM웨어 실행 윈도우 SQL을 (제한 재부팅, 윈도우 패치 적용 수동 만! 다시 시작 경우 서버가 백업되면 연결이 다시 연결 한 체크 패치가 다음 모든 클라이언트 연결을 중단 한 후에 만 그것을 필요로하고). SQL Server는 재부팅하는 데 시간이 오래 걸릴 수 있으므로이 시간을 계획하십시오.

알림 : VMWare (Windows Server)로 변경하기 전에 SNAPSHOT! 서비스 패치 또는 업데이트 적용 또는 응용 프로그램 시작이 실패한 후 시스템이 충돌하면 제한된 백업 시간으로 서버 백업 및 실행을 빠르게 수행 할 수 있습니다. 나중에 실패 할 수 있으므로 시스템이 실패했기 때문에 수정 사항을 그대로 두지 않도록 오류를 기록해 두십시오.

희망은 사물을 정리하는 데 도움이되고 작은 길입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.