Deep Inside of Exchange Server 6회
ExBPA(Exchange Best Practice Analyzer)를 이용한 익스체인지 구성 분석 및 최적화 방법 ![]()
회사에 무료로 익스체인지 분석 및 튜닝 전문가를 고용하세요.
![]()
구병국 / MCT, 마이크로소프트 .NET Advisor Exchange 그룹 운영진 1. 들어가는 말 윈도우 서버 2003이 나오면서부터 마이크로소프트는 "The More with Less"라는 말을 자주 광고 문구에 써왔다. 이 말은 스탠포드 대학교의 경영대학원 교수인 John H. Jenger라는 사람이 생산성 향상을 위한 지침으로 펴낸 "22 Management Secrets to Achieve More With Less"라는 책에서 처음 언급되었다. 필자도 이 말이 여러 곳에서 언급 되었을 때 별로 신경을 쓰지 않았다. 좀 서로 상반되는 두 단어가 하나의 표현에 쓰여진 그런 것이라 생각했다. 하지만 차츰 마이크로소프트의 제품군에는 이런 큰 사상적인 배경을 가지고 접근해가고 있는 것을 느끼고 있다. 즉 적게 들이고 많은 것을 얻는 것은 21세기 초의 모든 기업에서 이미 실행하고 있는 화두이다. 생산성을 높여서 예전에 세 명이 하던 것을 한명이 하거나 이전 10대의 서버로 운영해야만 했던 회사에서 이제는 3대로써 모든 업무를 더욱 원활하게 수행할 수 있도록 하는 것이야 말로 모든 회사에서 생각하고 실행하고 있는 바이다. 덕분에 많은 사람들이 거리로 내몰려지고 추가적인 고용이 없는 매출의 증가로 이어져서 청년실업이 증가하는 부작용을 낳기도 하지만 그래도 오늘날 많은 기업에서 이것을 추구하고 있다는 것은 주지의 사실이다. 마이크로소프트에서 익스체인지 2000이 나왔을 때 많은 사람들은 놀랬다. 그리고 많은 사람들이 이 새로운 서버에 적응하느라 세미나, 교육센터, 온라인강의, 교재 등에 매달렸다. 실제로 필자가 시삽진의 한명으로 있는 사이트에서도 마찬가지였다. 그때의 붐이란 현재 생각해보면 정말 대단한 것이었다. 하지만 익스체인지 2003이 나왔을 때는 그 정도는 아니었다. 그만큼 관리자들은 익스체인지 2000서버의 관리에 익숙해진 것이다. 실망한 사용자도 있었지만 그래도 인터넷과 모바일 환경에 적합하도록 만들어졌으며 보안의 강화되었으면 무엇보다도 윈도우 2003과 함께 나온 More with Less의 모토를 배경으로 좀더 생산성을 높여주었다. 많은 회사들이 이전에 가지고 있는 익스체인지 5.5 서버들을 단지 한 두개의 익스체인지 2003서버로 통합하여 운영할 수 있게 되었다. 그리고 익스체인지 2003이 나오면서부터 독자 여러분도 느끼고 있을지는 모르겠지만 Add-on되는 툴들을 마이크로소프트의 사이트에서 다운로드 받도록 하였다. 그리고 2004년 5월 서비스팩 1과 IMF(Intelligent Messaging Filter)를 발표하면서 마이크로소프트는 2005년 말이나 2006년 초에 발표하려던 관계형 데이터베이스를 기반으로 한 제품인 코드명 Kodiak의 출시를 접었다. 그 이유는 내부적인 문제도 있겠지만 데이터베이스를 바꾸는 것은 어쩌면 근간을 바꾸는 것이므로 엄청나게 복잡하고 중요한 일이며 차세대의 관계형 데이터베이스(우리가 유콘이라 불리는)엔진과 롱혼에 추가될 WinFS, WinFX등 많은 산적한 문제들을 풀고 나서야 비로소 이 거대한 응용프로그램 서버의 기본을 바꿀 수 있을 것이라는 판단인 듯하다. 대신 마이크로소프트에는 IMF나 이번호에서 설명하려고 하는 ExBPA, Edge Service와 같은 익스체인지에 Add-on되거나 관계가 있는 도구들을 발표하여 현재 사용하고 있는 익스체인지 서버의 제품에 대한 고객들의 요구를 만족시키려고 한다. ExBPA는 이런 선상에서 나오게 된 멋진 도구이다. 필자는 지난 12월호부터 백업 및 복원에 관하여 알아보기 시작했다. 하지만 그것도 중요하지만 여러분의 회사에 익스체인지 2000이나 익스체인지 2003을 사용하고 있다면 필히 이것을 즉시 사용해보기를 바라는 뜻에서 연재 순서를 무시하고 두 달에 걸쳐서 ExBPA를 추가했다. 독자여러분의 넓은 아량이 있으시길 빌면서 ExBPA의 깊은 내막과 작동방법에 대해서 알아보도록 하겠다. 2. Exchange BPA 소개 Exchange BPA(Exchange Best Practice Analyzer)는 1200가지 이상의 익스체인지 구성정보에 대하여 프로그램을 사용하여 검사하는 도구로써 익스체인지 2003이 발표된 지 꼭 한해가 지난 2003년 9월에 발표되었으며 추가 업데이트가 한번 있었다. 이제품은 (http://www.microsoft.com/exchange/downloads/2003/exbpa/default.asp Exchange BPA 데이터베이스나 800여개가 되는 규칙들은 마이크로소프트의 Knowledge Base 문서, 기술 문서, 파트너들, 마이크로소프트의 익스체인지 개발 팀으로부터 가져온 제품 디자인 데이터 그리고 마이크로소프트의 IT팀과 같은 익스체인지 관리자들의 실제 경험과 같은 정보를 기반으로 만들어 진 제품이다. 사실 마이크로소프트에서 이 제품을 만들어 낸 직접적인 동기는 마이크로소프트의 고객지원부서(PSS)에서 고객들의 요청을 받아서 실제 제품을 구축한 곳을 보았더니 제대로 구성되지 않은 곳과 최적화를 한번도 수행하지 않은 곳이 너무나 많아서 Exchange BPA를 통하여 고객들이 익스체인지 서버를 구축한 것과 최적의 익스체인지 서버 구성상태간에 비교를 할 수 있도록 하여 고객들이 익스체인지 제품에 대해서 만족을 늘리는데 있다. 그리고 마이크로소프트의 파트너들에게는 고객 사이트에서 구성되어 있는 상태를 마이크로소프트에서 추천하는 다자인과 구축 그리고 최적화된 상태로 변경할 수 있으며 그리고 수개월 또는 며칠씩 걸리던 데이터 수집 기간을 단지 몇 분만에 모을 수 있는 강력한 도구이다. 혹자들은 서버들을 마이크로소프트 Operations Manager와 ExBPA가 비슷한 것처럼 보일지 모르지만 차이가 있다. MOM은 익스체인지등과 같은 서버에서 일어나는 문제들을 실시간으로 파악하고 실행하는 강력한 도구이다. 즉 MOM 서버의 성능을 '실시간'으로 분석하며 문제점을 파악하기 위해서 이벤트 로그에 의존하는 반면 서버의 구성과 최적상태에 대해서는 특별한 서비스를 제공해주지는 않는다. 반면 ExBPA는 실시간으로 작동하지는 않고 이벤트 로그도 분석하지는 않는다. ExBPA는 익스체인지 서버 구성데이터를 분석하여 실시간으로 문제를 해결하는 도구보다 좀더 미래 지향적인 상태점검을 해준다. 즉 문제점의 불씨를 미리 제거해주는 역할을 한다. 3. 준비단계 및 설치하기 1) 대상 서버ExBPA가 분석하려는 대상이 되는 서버는 익스체인지 서버 2003, 익스체인지 2000 그리고 익스체인지 5.5가 된다. 나중에 설명을 하겠지만 익스체인지 2000 서버만있는 조직에서도 ExBPA는 작동한다. 단지 익스체인지 5.5만으로 구성된 조직에서는 작동하지 않을 뿐이다. 만일 회사에서 익스체인지의 혼합모드로 구성된 익스체인지 5.5를 포함하는 익스체인지 2000 또는 2003등 여러 서버가 있다면 언제든지 이 뛰어난 도구를 사용하라. 2) 성능에 미치는 영향모니터를 대상으로 하는 익스체인지 시스템의 성능에는 나쁜 영향을 미치지 않으므로 언제나 실시할 수 있다. 다만 분석을 수행하는 시스템에는 전체 조직을 분석할 때 CPU와 메모리를 많이 차지한다. 그리고 수행하는 시간은 서버의 숫자에 따라 다르다. 예를들면 마이크로소프트와 같은 100개 이상의 익스체인지 서버가 있는 곳에서는 한번 분석을 수행하는데 2시간에서 3시간 정도 걸린다. 하지만 만일 수동으로 검사한다고 생각해보라. 그 정도의 시간은 충분히 기다릴 수 있고 물론 검사를 하는 동안에는 손댈 필요가 전혀 없다. 그냥 자기가 알아서 한다. 그리고 우리나라에서 일반적으로 사용하고 있는 단일 서버(윈도우 2000 또는 2003 도메인 컨트롤러에다 익스체인지 2000 또는 2003을 함께 설치해서 사용하는 서버)의 경우 서버의 CPU 속도와 갯수 및 메모리양과 같은 서버의 물리적인 상태와 성 따라 다르고 특히 목적하는 서버와 모니터링 하는 시스템간에 네트워크 속도에 따라 달라질 수 있는데 보통 30초에서 10분정도 걸린다. 3) 모니터하는 시스템ExBPA는 여러 시스템에서 모니터를 수행할 수 있다. 앞에서 말한 바와 같이 ExBPA는 MOM처럼 실시간으로 모니터링을 수행하지는 않는다. 그러므로 모니터링을 하는 동안에는 시스템의 성능이 느려질 수 있으므로 가능하면 익스체인지 서버나 도메인 컨트롤러에서는 수행하지 않는 것이 좋다. 4) 필요한 권한ExBPA는 레지스트리와 WMI 요청을 통하여 검색작업을 수행한다. 그러므로 이것을 수행하기 위해서는 해당 시스템과 익스체인지 조직에 어느 정도의 권한은 당연히 있어야 한다. 즉 해당 계정은 검색을 하는 익스체인지 서버마다 기본적으로 로컬 Administrators 그룹의 구성원이 되어야 한다. 그리고 Active Directory내에 저장되어 있는 익스체인지 구성정보를 읽기 위해서는 익스체인지 서버 조직에서 View Only Admin이상의 권한은 존재해야 한다. 4. ExBPA의 내부구조 ExBPA는 익스체인지 조직의 전체적인 구축상태를 점검하기 위해 여러 가지 구성요소들이 함께 작동한다. 실제 작동하는 구성요소들과 그 연관관계를 보면 [그림 1]과 같다.
[그림 1] ExBPA의 내부 구조 ExBPA에는 다양한 구성요소들이 있는데 가장 중요한 핵심 엔진은 ExBPA Dispatcher, Collectors, Analyzer로 구성된다. 이 ExBPA 구성요소데 대해서 좀더 자세하게 살펴보면 다음과 같다.
5. ExBPA 설치하기 ExBPA는 앞에서 말한바와 같이 윈도우 2000 프로패셔널이나 윈도우 XP 프로패셔널에 설치하는 것이 좋다. 만일 서버에 설치한다면 실행하는 동안 시스템에 무리를 줄 수 있기 때문이다. 먼저 마이크로소프트의 ExBPA홈페이지에서 ExBPA를 다운로드 받는다. 만일 네트워크가 인터넷에 연결을 할 수 없다면 웹 업데이트 팩(Web Update Pack)을 다운로드 해야 한다. 인터넷에 항상 연결되어 있다면 자동으로 업데이트를 받게 되므로 문제가 없다. ExBPA.exe파일을 다운로드 한 뒤에 실행하게 되면 ExBPA.msi파일이 열린다. 이 파일을 실행하게 되면 Exchange BPA가 설치된다. 만일 윈도우 2000이나 윈도우 XP에 ExBPA를 설치하게 되면 [그림 2]와 같이 .NET Framework 1.1을 설치하라는 말이 나올 수 있다.
[그림 2] .NET Framework 1.1 설치 필요 대화상자 이것은 ExBPA가 C#코드로 짜여져서 .NET Framwork의 CLR(Common Language Runtime)이 필요하기 때문이다. 윈도우 서버 2003의 경우 .NET Framework이 기본적으로 설치되어 있기 때문에 문제가 없지만 다른 시스템의 경우 ExBPA를 실행하기 위해서는 반드시 설치해야 한다. .NET Framework 1.1이 설치된 환경에서 ExBPA.msi를 실행하면 ExBPA Installation Wizard가 나타난다. 다음을 누르고 EULA(End User License Agreement)에서 I Agree를 선택하고 다음을 누르면 [그림 3]과 같이 ExBPA의 설치 디렉터리를 지정할 수 있다.
[그림 3] ExBPA 설치 디렉터리 지정 대화상자 기본적으로 C:\Program Files\ExBPA이다. 설치디렉터리를 선택하고 다음을 누르면 [그림 4]와 같이 데이터를 저장할 곳을 지정할 수 있다. 기본적으로 C:\Documents and Settings\사용자계정\Application Data\microsoft\ExBPA 폴더에 저장되는데 사실 이 폴더에 저장된 것을 직접볼일은 별로 없다. 왜냐하면 데이터를 내보내거나 가져오는 데는 ExBPA의 인터페이스에서 Export/Import로 그 기능을 제공해주기 때문이다. 만일 폴더의 내용을 보기 원한다면 루트 드라이브에 폴더를 만들고 그쪽으로 지정하는 것도 하나의 방법이 되겠다.
[그림 4] 데이터 디렉터리 위치 지정 대화상자 데이터 디렉터리까지 선택이 끝나면 실지 파일을 설치하게 된다. 파일의 설치가 끝나게 되면 완료 대화상자가 나타나고 [Finish]를 선택하면 설치가 끝나고 본격적으로 ExBPA를 이용할 수 있게 된다. 6. ExBPA 사용하기 ExBPA는 [시작]→[프로그램]→[마이크로소프트 익스체인지]→[마이크로소프트 Exchange Best Practice Analyzer]를 선택해서 실행할 수 있다. 실행하게 되면 ExBPA화면이 [그림 5]와 같이 나타나고 자동으로 업데이트 항목을 웹으로부터 찾게 된다.
[그림 5] 업데이트 검사 창 물론 인터넷이 연결되지 않은 상황이라면 웹 업데이트를 이용하면 된다. 먼저 [Cancel this Check]의 선택을 해제하는 것이 좋다. 그래야 웹에 계속 접근을 시도하지 않기 때문이다. 이때 자신이 실행하고 있는 ExBPA의 버전을 알고 싶다면 [About 마이크로소프트 Exchange Best Practice Analyzer]를 선택하면 [그림 6]과 같이 나타난다.
[그림 6] 마이크로소프트 Exchange Best Practice Analyzer의 버전 여기서 보면 Application Version과 Configuration File Version으로 나누어지는데 Application Version은 ExBPA 도구 자체의 버전을 말하고 Configuration File Version은 실제 데이터 분석에 사용되는 파일들의 버전들을 의미한다. 여기서 중요한 것은 바로 Configuration File Version이다. 이것은 실제 질의를 할 규칙들이나 구성정보들을 가지고 있기 때문이다. 업데이트가 끝나면 실제 순서에 따라 실행해보도록 하자. 먼저 [그림 7]과 같이 환영화면이 나타나고 여기서 [Select options for a new scan]을 선택하여 새롭게 검사를 할지 아니면 이전에 실행한 검사가 있다면 [Select a Best Practices Scan to View]를 선택하여 볼 수가 있다.
[그림 7] ExBPA 환영대화상자 위에 있는 옵션을 선택해서 새로 검사를 실시하면 [그림 8]과 같이 [Connect to Active Directory] 페이지가 나타난다.
[그림 8] Connect to Active Dirctory 상자 여러분들도 모두 알고 있으시겠지만 익스체인지의 모든 구성 정보는 액티브 디렉터리에 의존한다. 그러므로 ExBPA는 익스체인지의 구성정보를 가져오기 위해서 도메인 컨트롤러에 액세스한다. 이때 디렉터리 정보를 제공해줄 도메인 컨트롤러를 지정할 수 있다. 여기서 주의할 것은 ExBPA를 실행하는 사용자의 그룹이 어떤 그룹에 포함되어 있는지 중요하다. 왜냐하면 액티브 디렉터리에 접근해서 익스체인지에 대한 구성정보를 가져오기 위해서는 먼저 GC(Global Catalog) 서버의 Administrators 그룹에 속하는 사용자여야 한다. 또한 앞에서 말한바와 같이 익스체인지 구성정보 자체에 대한 사용자 권한도 필요하다. 그러므로 권한이 부족할 때는 [Show Advanced login options]를 선택해서 GC 서버의 관리자 권한과 익스체인지에서는 [보기 권한만 있는 익스체인지 관리자(View only Administrator)]권한이상을 가진 사용자의 인증 정보를 입력한다. 설정이 끝났으면 [Connect to Active Directory Server]를 선택하여 GC에 연결한다. 그러면 네트워크와 사용 권한을 검사하고 나서 [그림 9]와 같이 [Start New Exchange Scan] 상자가 나타난다.
[그림 9] Connect to Active Directory Server 대화상자 여기에는 제일 윗 편에 해당 익스체인지 조직에 있는 서버들의 목록들이 나타난다. [그림 9]에서는 두개가 있다. 여기서 검색할 서버들을 선택한다. 그리고 어떤 검사를 할지 검사의 종류를 선택할 수 있는데 Health Check, Connectivity Test, 그리고 Baseline으로 나누어진다.
[그림 10] Baseline 선택 상자 여기서 [Select a sever to compare others to] 상자 밑에 있는 서버들 중에서 기준이 된는 Basline으로 선택할 서버를 지정한다. 그런 다음 [Select the servers to be compared] 목록에 업데이트가 일어나는데 여기서 Baseline 서버와 비교 대상이 될 검사대상 서버들을 선택하면 된다. 그리고 나서 네트워크 속도를 선택하는 옵션이 나오는데 여기에는 Fast LAN, LAN, Fast 또는 WAN을 선택한다. 이 옵션은 검색하는데 걸리는 시간을 측정하는데 사용된다. 또한 이값은 시간 초과값을 설정하는데 사용된다. 검색동안 ExBPA는 지정한 시간동안 기다린다. 만일 지정한 시간동안 응답이 없다면 다음 서버로 이동한다. 그러므로 서버들끼리 연결된 속도에 맞게 지정하는 것이 좋다. 마지막으로 [Start Scanning]을 선택하여 본격적으로 검사를 실행하면 된다. 7. 맺는 말 ExBPA는 익스체인지를 구축한 조직에서 현재의 상황을 분석하고 문제점을 발견하고 가장 좋은 상태로 만들기 위한 도구이다. ExBPA에는 다양한 구성요소들이 있는데 가장 중요한 핵심 엔진은 ExBPA Dispatcher, Collectors, Analyzer로 구성되어 있으며 XML 파일과 로그 파일을 제공해주므로 Export/Import를 통해서 나중에 언제든지 해당 분석내용을 다시 이용할 수 있다. 또한 ExBPA는 익스체인지 서버 구축의 전체적인 보안에 중요한 설정에 대하여 분석하고 보고해주지만 이것이 시스템 보안을 광범위하게 분석하는데 최적의 도구는 아니다. 보안 취약점에 접근하기위해서는 익스체인지 5.5에서 최신 버전의 익스체인지까지 적용이 가능한 Microsoft Baseline Analyzer V1.2.1(http://microsoft.com/technet/security/tools/mbsahome.mspx ExBPA를 실행해서 나온 결과를 분석하는 것은 다음 2월에 알아보도록 하겠다. |
'Exchange' 카테고리의 다른 글
| 익스체인지 문제 해결 (0) | 2007/06/01 |
|---|---|
| ExBPA를 이용한 익스체인지 구성 분석 및 최적화방법 - 2 (0) | 2007/06/01 |
| ExBPA를 이용한 익스체인지 구성 분석 및 최적화 (0) | 2007/06/01 |
| Creating and Deploying Outlook Web Access Themes (0) | 2007/06/01 |
| [익스체인지 서버 2003, 바뀐 점은] ② 웹으로 아웃룩 옮기기 (0) | 2007/06/01 |
| Exchange Server 2003에서 Outlook Web Access 기능을 관리하는 방법 (0) | 2007/06/01 |




)에 가면 제품에 대한 내용과 다운로드를 받을 수 있다. 내부분석 엔진이 잘못설정한 부분이나 미진한 부분이 있다면 익스체인지 서버 관리자에게 경고를 해주도록 되어 있다. 그러면 관리자들은 해당 문제(아주 중요한 문제와 잠재적으로 발생할 수 있는 문제, 그리고 기본 설정사항과 맞지 않는 부분)들에 대해서 하나씩 점검해서 익스체인지 서버를 좀더 완벽한 서비스 환경에서 운영되도록 해준다. 이 도구는 내부적으로는 복잡하지만 관리자가 사용하기에는 아주 간단하게 사용할 수 있으며 전체 익스체인지 조직에 대해서 좀더 나은 성능, 확장성 그리고 서비스의 지속성을 높여줄 수 있도록 해준다.
최근에 달린 댓글
링크
최근에 받은 트랙백
태그목록