Computer >> 컴퓨터 >  >> 시스템 >> Windows

WSUS(Windows Server Update Services) 문제 해결 방법 완벽 가이드

컴퓨터 관리자의 업무 효율을 높이기 위해 마이크로소프트는 WSUS(Windows Server Update Services)라는 프로그램을 개발했습니다. 이 도구는 마이크로소프트가 제품에 대해 배포하는 업데이트와 핫픽스를 관리자가 체계적으로 관리할 수 있도록 지원합니다. WSUS는 Windows 서버 운영에서 필수적인 구성 요소로, 마이크로소프트가 웹사이트에 새로운 업데이트를 게시하면 자동으로 다운로드하여 네트워크 전체에 배포하는 역할을 수행합니다.

WSUS 문제 해결 전 사전 준비 사항

본격적인 문제 해결에 앞서 사용 중인 환경에 맞는 업데이트가 설치되어 있는지 확인해야 합니다.

1. Windows Server 2008 R2 환경

WSUS 3.0 SP2를 Windows Server 2008 R2에서 사용하는 경우, 시스템에 KB4039929 이상 버전의 업데이트가 설치되어 있어야 합니다.

2. Windows Server 2012 이상 환경

Windows Server 2012 또는 그 이상 버전에서 WSUS를 사용하는 경우, 아래 업데이트 중 해당하는 것이나 더 최신 버전이 설치되어 있어야 합니다.

  • Windows Server 2012 – KB4039873
  • Windows Server 2012 R2 – KB4039871
  • Windows Server 2016 – KB4039396

WSUS 연결 실패 문제 해결

WSUS 연결 오류가 발생했을 때는 다음 사항들을 순서대로 점검해 보세요.

  1. WSUS 서버에서 WWW Publishing ServiceUpdate Service가 정상 실행 중인지 확인합니다.
  2. WSUS 웹사이트 또는 기본 웹사이트가 WSUS 서버에서 구동 중인지 확인합니다.
  3. 오류 로그를 확인합니다. 로그 위치는 C:\windows\system32\logfiles\httperr입니다(단, C:는 시스템 드라이브 기준).

WSUS 서버 CPU 사용량 급증 문제 해결

키보드에서 CTRL+ALT+DEL을 누른 후 작업 관리자를 열면 현재 CPU 사용량을 확인할 수 있습니다. WSUS 서버의 CPU 사용량이 비정상적으로 높다면 시스템 전반의 성능 저하로 이어질 수 있습니다.

CPU 사용량이 높아지는 원인

WSUS 서버의 CPU 사용량이 급증하는 대표적인 원인은 다음 두 가지입니다.

1] SUSDB 데이터베이스가 깨끗하지 않은 경우

SUSDB 데이터베이스가 불필요한 데이터로 가득 차 있으면 클라이언트 시스템이 혼란을 겪게 되고, 스캔 작업을 무한 반복하는 루프에 빠질 수 있습니다.

2] 미처리 업데이트가 과도하게 많은 경우

WSUS 서버가 클라이언트에 전달해야 할 대기 중인 업데이트가 너무 많으면 부하가 발생합니다. 이는 주로 장기간 유지보수 없이 서버를 운영한 경우에 나타납니다.

두 경우 모두 WSUS 서버 정리(Cleanup)가 근본적인 해결책입니다. 문제가 발생하지 않더라도 일정 주기마다 정리 작업을 수행하는 것이 좋습니다. 단계별 절차는 다음과 같습니다.

1단계: WSUS 데이터베이스 백업

WSUS 데이터베이스를 백업하면 서버 성능 향상에도 도움이 됩니다. 정리 마법사를 실행하기 전 반드시 거쳐야 하는 필수 절차입니다.

2단계: WSUS 서버 정리 마법사 실행

서버 정리 마법사(Server Cleanup Wizard) 사용 방법은 Microsoft 공식 문서에서 자세히 안내하고 있습니다. 다만, 클라이언트 시스템이 이미 파일을 스캔 중이라면 오히려 부하가 가중될 수 있습니다. 이런 상황이라면 아래 단계에 따라 WSUS 데이터베이스를 재인덱싱하고 대체된 업데이트를 거부하는 방식으로 진행하세요.

3단계: WSUS 데이터베이스 재인덱싱

데이터베이스가 조각화된 경우 재인덱싱이 큰 효과를 발휘합니다. 다음 명령어를 순서대로 실행합니다.

먼저 FULLSCAN 옵션으로 통계 정보를 갱신합니다.

Use <dbname>
Go
Exec sp_msforeachtable 'update statistics ? with fullscan'
Go

그다음 인덱스를 다시 빌드합니다.

Use <dbname>
Go
Exec sp_msforeachtable 'DBCC DBREINDEX (''?'')'
Go

4단계: 대체된 업데이트 거부(Superseded Updates Decline)

앞서 언급한 것처럼 클라이언트 시스템이 WSUS 데이터베이스를 계속 스캔하여 CPU 사용량이 높아진 상황이라면, 대체된 업데이트를 거부하는 것이 즉각적인 처방입니다. 이를 통해 시스템 부하를 크게 줄일 수 있습니다.

1] WSUS 웹사이트 포트 변경: WSUS Administration Web Site > 바인딩 편집(Edit Bindings)을 선택하여 포트를 변경한 뒤, WSUS 콘솔이 새 포트에 연결되도록 수정합니다. 이후 스크립트를 실행하고 WUS와 동기화를 진행합니다.

2] 업데이트 거부: PowerShell 스크립트에서 -skipdecline 매개변수를 사용하여 거부될 업데이트의 총 개수를 먼저 파악합니다. 그런 다음 동일한 -skipdecline 명령을 다시 실행하여 실제로 해당 업데이트들을 거부 처리합니다.

보다 자세한 내용은 Microsoft Support 공식 페이지에서 확인하실 수 있습니다.