터미널 서비스 Session Broker의 동작원리 [IT] Windows Server

아마도 이전버전의 터미널 서비스에 대한 가장 큰 불만 중 하나가 "로드밸런싱"에 대한 지원이 아닐까 싶다. Citrix의 Presentation Server가 다양한 가중치, 성능지표를 통하여 사용자들을 적절하게 팜(Farm)내의 서버로 분산할 수 있는 기능을 제공하고 있었기 때문에 터미널 서비스의 관련 기능 부재는 생각보다 큰 공백이었다.

하지만 윈도우 서버 2008에는 세션 브로커(Session Broker)가 생기면서 이같은 로드 밸런싱에 대한 욕구를 만족시켜주고 있다. 다른 포스팅에서 이야기 했던 것처럼 세션 브로커는 기본적으로 터미널 서비스 세션 디렉토리(Session Directory)의 업그레이드된 버전이다. 그러나 세션 디렉토리가 단순한 세션 관리의 역할만 했던 것에 비하여 세션 브로커는 로드 밸런싱 기능까지 지원하면서 그 위상이 많이 달라졌다.

우선 세션 브로커가 원활한 동작을 하기 위한 필수조건은 아니지만 특정 서버로 트래픽이 몰리는 것을 막고 가용성을 증대시키기 위하여 DNS RR (Round Robin) 이 사용된다. DNS RR 은 동일한 Domain에 대하여 복수의 IP 를 할당 했을 때 사용하는 기술인데, DNS에 요청이 들어올 때 마다 라운드 로빈 알고리즘에 의하여 Primary DNS 주소를 바꿔서 응답을 해주는 기술이다.

해당 서버로 터미널 서비스 접속이 시도되면 서버는 세션 브로커를 컨택하여 요청된 사용자 세션에 대한 처리 작업을 시작한다. 이미 접속되어 있는 서버가 있다면 그쪽으로 Redirection 작업이 이루어 지게되고, 만약 접속된 세션이 없다면 서버 팜의 개별 서버들의 세션 객체수를 기준으로 접속해야 할 서버를 선정하여 주소를 반환해 준다. 반환된 주소는 사용자의 터미널 서비스 클라이언트로 다시 전송되고 클라이언트는 반환 받은 주소로 연결을 시도하게 된다.

활성화된 세션 수 이외에도 세션 브로커 속성창을 통하여 가중치를 적용, 로드밸런싱을 보다 효과적으로 활용할 수 있도록 지원해 준다. 이러한 세션 브로커 역시 고가용성을 지원해 주기 위하여 클러스터링 할 수도 있으나 이 경우 세션 정보를 공유해야 하기 때문에 공유 디스크 공유를 사용해야 한다 (Disc Sharing) 이 외에도 세션브로커가 지원하는 여러가지 옵션이 있는데, 다른 포스팅에서 자세하게 보도록 하겠다.

Windows_Server_2008_-_SessionBroker.ppt

- NoPD -
이글루스 가든 - IT분야 전문가 되기!!