Sunday, January 15, 2017

 

[SystemCenter] N/W 부하를 줄일 수 있는 Branch Cache 기능을 활용한 소프트웨어/윈도우 업데이트 패치 배포

국내(한국)은 상관이 없지만 해외 일부 사업장 경우에는 N/W가 좋지 않아서 SystemCenter(이하 SC)로 파일을 배포할 경우, End-User가 체감할 정도로 속도가 느려지는 경우가 발생합니다. 그럴 경우 Branch Cache 기능을 사용하면 해당 부분에 대한 부담을 줄 일 수 있게 됩니다.

1. Branch Cache 
Branch Cache 의 기능은 SCCM의 기능은 아니고 OS 자체 기능입니다. SCCM은 OS 기능을 이용하는 것이라고 보시면 됩니다. SCCM 에서 Brach Cache  를 통해  Application, package, Software Update 에 대해 배포가 가능합니다.

특히 Brach Cache를 통해 배포가 진행될 경우 파일을 다운로드 받을 때 파일 전체를 한번에 다운로드 받는 것이 아니라 블럭 단위로 다운로드를 진행하게 됩니다. 특히 DP의 경우 해당 파일을 블럭 단위로 쪼개기 때문에 클라이언트가 필요한 파일의 다운로드가 필요할 경우 동일 서브넷 내의 다른 클라이언트 들에게 필요한 블럭을 가지고 있는 클라이언트가 있는지 먼저브로드 케스팅을 하고 가지고 있는 클라이언트가 있다면 그 클라이언트로 부터 해당 블럭을 먼저 받게 되고 없다면 DP 서버로 부터 해당 블럭을 받게 됩니다.

2. Branch Cache mode
OS 에서 제공하는 Brach Cache  모드는 Distributed Cache mode와 Hosted Cache mode 두가지가 제공되는데 SCCM에서는 Distributed Cache mode 만을 지원합니다. Distributed Cache mode는  지점에 하드웨어를 추가하지 않고도 각 Peer 들이 배포 서버의 역할을  담당하게 됩니다.

Hosted Cache mode 는 해당 subnet 이 Brach cache 서버 역할을 담당하는 클라이언드를 지정하고 해당 클라이언트만 중앙에 있는  Brach cache 서버와 통신을 하게 됩니다. 그러나 SCCM은 이 Hosted Cache mode는 지원하지 않습니다.


3. Branch Cache 기능 설치
Branch Cache 컨텐츠 서버는 SCCM에서 DP 롤을 담당하는 서버를 의미합니다. Branch Cache 컨텐츠 서버를 구성하기 위해서는 Windows 2008 R2 이상의 서버가 필요합니다.

A. 서버관리자 – 기능 – 기능추가 기능추가 – BranchCache 기능을 설치합니다 (2008R2 에서 화면 캡쳐)






B. 설치가 완료된 후 Services.msc를 실행하여 [BranchCache] 서비스가 등록되는것을 확인할수 확인할수 있습니다 .
해당 서비스는 “자동 ” 으로 “시작됨 ” 상태로 등록되어져야 합니다 .




4. AD 정책으로 클라이언트의 Branch Cache 활성
Domain Controller – GPMC.msc 를 이용하여 Branch Cache 클라이언트가 위치한 OU 에 GPO 를 하나 생성합니다 .
컴퓨터정책 – 관리템플릿 – 네트워크 –BranchCache를 눌러 필요한 정책을 구성합니다.



Branch Cache 정책을 활성 합니다.


SCCM 에서 Brach Cache 를 사용하기 위해서 분산 캐시 모드 설정을 활성합니다.


네트워크 파일에 대해 왕복 네트웍크 지연 값이 몇 밀리초를 넘으면 네트워크 파일을 지점의 캐시에 저장할 지를 설정하는데 내부 정책에 따라 값을 설정합니다. (기본값은 80ms 입니다.)
(이 항목의 값을 0 으로 설정을 변경하면 클라이언트가 항상 네트워크 파일에 대하여 캐시를 하게 됩니다.)



Brach Cache를 통해 검색된 컨텐츠를 캐시에 저장하는 용도로 사용될 디스크 공간의 백분율입니다.


5. 방화벽 설정
내부 클라이어트들이 Windows 방화벽을 사용 한다면 하기 포트를 방화벽 설정에서 오픈해 주세요. 그런데 클라이언트들이 Windows 방화벽은 사용하고 있지 않은 것으로 알고 있기 때문에 하기 설정을 무시해도 됩니다.

  • BranchCache 컨텐츠 검색 (Http-In)  – TCP 80
  • BranchCache 피어 검색 (WSD-In)  – UDP  3702



6. 클라이언트  점검
A. Services.msc 에서 BranchCache 서비스가 시작되었는지 확인합니다.


B. 클라이언트의 Brach Cache 상태 정보 확인
Netsh branchcache show status all


7. SCCM 에서 Application , Package, Software Update 배포 시 설정
모든 배포 과정에서 Allow Client to share content with other clients on the same subnet 설정을 체크 하셔야 합니다. 또한 slow 또는 unreliable N/W에서도 contens가 다운로드 될 수 있도록 설정하셔야 합니다.

A. Application Deployment Type의 content


Package 의 deployment


Software Update 의 deployment


8. Brach Cache 사용 여부 점검
클라이언트의 성능로그에서 Branch Cache 의 모든 카운터를 추가 합니다.


해당 카운터의 값들이 파일을 다운로드 할 때 증가되는 지를 확인해 주세요.


9. 사용 포트
하기 링크를 보시면 잘 나와 있습니다. SCCM 의 경우 분산 캐시 모드만 지원하기 때문에 분산 캐시 클라이언트만 참조하시면 됩니다.

클라이언트와 서버간의 통신에서는 80 포트 이외에는 사용하지 않습니다.
나머지는 클라이언트간의 통신에서는 하기와 같이 3702 포트와 80 포트를 사용한다고 보시면 됩니다.
https://technet.microsoft.com/ko-kr/library/dd837649(v=ws.10).aspx 

분산 캐시 클라이언트의 타사 방화벽 설정
이 섹션에서는 분산 캐시 모드를 사용하는 경우 분산 캐시 클라이언트에 구성할 방화벽 설정에 대해 설명합니다.

[MS-PCCRD]: 피어 콘텐츠 캐싱 및 검색 프로토콜
분산 캐시 클라이언트는 WS-Discovery(Web Services Dynamic Discovery) 프로토콜을 사용하여 전송되는 인바운드 및 아웃바운드 MS-PCCRD 트래픽을 지원해야 합니다. 방화벽 설정은 다음과 같이 멀티캐스트 트래픽, 인바운드/아웃바운드 트래픽 및 프로그램 트래픽을 허용해야 합니다.

  • IPv4 멀티캐스트: 239.255.255.250
  • IPv6 멀티캐스트: FF02::C
  • 인바운드 트래픽: 로컬 포트: 3702, 원격 포트: 사용 후 삭제
  • 아웃바운드 트래픽: 로컬 포트: 사용 후 삭제, 원격 포트: 3702
  • 프로그램: %systemroot%\system32\svchost.exe(BranchCache 서비스 [PeerDistSvc])


[MS-PCCRR]: 피어 콘텐츠 캐싱 및 검색: 검색 프로토콜
분산 캐시 클라이언트는 HTTP 1.1 [RFC 2616] 프로토콜을 사용하여 전송되는 인바운드 및 아웃바운드 MS-PCCRR 트래픽을 지원해야 합니다. 방화벽 설정은 다음과 같이 인바운드, 아웃바운드 및 프로그램 트래픽을 허용해야 합니다.

  • 인바운드 트래픽: 로컬 포트: 80, 원격 포트: 사용 후 삭제
  • 아웃바운드 트래픽: 로컬 포트: 사용 후 삭제, 원격 포트: 80
  • 프로그램: SYSTEM


#SC #SystemCenter #SCCM #BranchCache #SWdeploy #WindowServer #Activedirectory




Share:

0 comments:

Post a Comment