Exchange 저장소 및 ESE(Extensible Storage Engine) 튜닝

 

마지막으로 수정된 항목: 2006-08-16

Exchange Server 2003은 서버당 최대 25개의 데이터베이스를 처리할 수 있습니다. 총 저장소 공간은 저장소 그룹당 5개의 데이터베이스가 있는 최대 4개의 프로덕션 저장소 그룹과 복구용 데이터베이스를 최대 5개까지 처리할 수 있는 복구 저장소 그룹으로 구성됩니다.

Exchange Server 2003 이후 버전의 Exchange를 사용할 때에는 최대 저장소 그룹 수가 만들어질 때까지 각각의 새 데이터베이스에 대해 저장소 그룹을 추가하는 것이 좋습니다. 또한 단일 저장소 그룹 내에 여러 데이터베이스를 추가하는 대신 Exchange 2000 Server의 권장 사항대로 이렇게 하는 것이 좋습니다.

이러한 권장 사항대로 구현하면 관리자는 가능한 많은 저장소와 저장소 그룹으로 사서함의 로드를 분산시킬 수 있습니다. 이로 인해 보다 쉽게 관리할 수 있는 Exchange 저장소 토폴로지를 만들 수 있습니다. 이러한 토폴로지의 장점은 다음과 같습니다.

  • 데이터베이스의 크기를 줄일 수 있습니다.
  • 드라이브 입/출력(IO) 관리를 향상시킬 수 있습니다.
  • 복구 기능을 향상시킵니다.

예를 들어 Exchange 저장소 토폴로지에 대한 다음 구성을 고려합니다. 이러한 예에서 저장소 그룹의 이름은 SG1 ~ SG4입니다. 여러 시간에 걸쳐 만든 데이터베이스의 이름은 DB1 ~ DB8입니다.

Exchange Server 2003 이전 버전의 Exchange에서는 Exchange 저장소 토폴로지를 다음과 같이 구성할 수 있습니다.

SG1: DB1, DB2, DB3, DB4

SG2: DB5, DB6, DB7, DB8

Exchange Server 2003 이후 버전의 Exchange에서는 Exchange 저장소 토폴로지를 다음과 같이 구성하는 것이 좋습니다.

SG1: DB1, DB5

SG2: DB2, DB6

SG3: DB3, DB7

SG4: DB4, DB8

Exchange Server 2003의 저장소 그룹에 대한 자세한 내용은 Microsoft 기술 자료 문서 890699, "How to configure storage groups in Exchange Server 2003(https://go.microsoft.com/fwlink/?LinkId=3052&kbid=890699)"을 참조하십시오.

단일 인스턴스 지원

Exchange Server 2003은 단일 인스턴스 메시징을 완벽하게 지원합니다. 여러 명의 받는 사람에게 단일 메시지를 보내는 경우 이들이 동일한 데이터베이스에 있으면 해당 데이터베이스로 단 하나의 메시지만 보냅니다. 받는 사람은 이 단일 메시지를 가리키는 포인터를 받습니다.

메시지를 받는 사람이 저장소 그룹의 여러 데이터베이스에 있는 경우에는 각 받는 사람이 위치하는 데이터베이스로 하나의 메시지 복사본이 전달됩니다. 또한 저장소 그룹용 트랜잭션 로그 집합에 여러 개의 메시지 복사본이 보관됩니다.

단일 인스턴스 지원을 최대한 효율적으로 활용하는 방법에는 여러 가지 이론이 있습니다. 전체 사용자 부서를 동일 데이터베이스에 배치하여 잠재적으로 디스크 공간을 절약할 수 있지만 이 방법의 경우 특정 데이터베이스의 오류로 인해 전체 부서가 사용할 수 없게 되기 때문에 선호하지 않는 사용자도 있습니다.

단일 인스턴스 저장소는 디스크 공간을 절약하는 것뿐 아니라 다수의 사용자에게 서비스를 제공하는 서버의 성능을 향상시키기 위해 디자인되었습니다.

또한 Exchange 데이터베이스, 저장소 그룹 및 서버 사이에 사서함을 이동해도 단일 인스턴스가 유지됩니다.

Windows 2000 Server를 실행하는 서버에서 페이지 테이블 항목 늘리기

/3GB 스위치가 설정되어 있는 대규모 확장 사서함 서버에서는 Store.exe 프로세스가 사용자 모드에서 더 많은 가상 주소 공간을 차지하며 커널 주소 공간은 1GB로 줄어듭니다. 하지만 이 경우 로드가 과도한 서버에서 페이지 테이블 항목이 모두 소모되면 이로 인해 불균형이 발생할 수 있습니다. 이 문제가 지속되면 서버가 디스크에 데이터를 기록할 때 리소스 오류가 발생하거나 네트워크 연결 오류가 발생할 수 있습니다.

자세한 내용은 Windows 2000의 시스템 페이지 테이블 항목 증가 방법을 참조하십시오.

온라인 데이터베이스 유지 관리

각 사서함과 공용 폴더 저장소에서 정기적으로 온라인 유지 관리를 실행해야 합니다. 기본적으로 각 데이터베이스는 오전 1시와 오전 5시 사이에 온라인 유지 관리를 실행하도록 설정되어 있습니다. 온라인 유지 관리를 통해 저장소를 정상적인 상태로 유지하는 데 필요한 다양한 작업이 수행됩니다. 이 작업은 다음과 같습니다.

  • 작업 1 Active Directory를 검사하여 삭제된 사서함이 있는지 확인합니다.
  • 작업 2 구성된 보존 기간이 지난 메시지나 사서함을 영구적으로 제거합니다.
  • 작업 3 데이터베이스 파일의 온라인 조각 모음을 수행합니다.

이러한 작업으로 인해 성능이 저하될 수도 있으므로 온라인 유지 관리 전략을 구현하기 전에 이 점에 대해 인지하고 있어야 합니다.

작업 1은 데이터베이스의 각 사용자에 대해 Active Directory 조회를 수행합니다. 각 데이터베이스에 사용자 수가 많을수록 더 많은 LDAP 디렉터리 검색이 수행됩니다. 이 검색은 Active Directory 변경 사항에 사서함 저장소를 동기화하고 특히 삭제된 사서함을 조회하는 데 사용됩니다. Exchange 서버에서는 이 작업으로 인한 성능 손실이 크지 않지만 사용자 수, 데이터베이스 수 및 각 데이터베이스의 온라인 유지 관리 시간에 따라 Active Directory 서버에서는 성능 손실이 클 수 있습니다. 일반적으로 회사 시나리오에서는 온라인 유지 관리가 야간에 수행됩니다. 야간에는 로그온되어 있는 사용자가 매우 적고 Active Directory 서버의 로드가 매우 낮습니다. 이 시나리오에서 온라인 유지 관리에 의해 발생하는 추가적인 도메인 컨트롤러 로드는 문제가 되지 않습니다.

Exchange Server 2003을 글로벌 데이터 센터에 설치하여 여러 표준 시간대에서 고객에게 서비스를 제공하는 경우 온라인 유지 관리의 기본 시간이 문제가 될 수 있습니다. 온라인 유지 관리가 Active Directory에 미치는 영향은 서버의 각 데이터베이스에 있는 사용자 수에 비례합니다. 삭제된 사서함 검사는 각 데이터베이스의 각 사용자에 대해 수행됩니다. 따라서 10,000명의 사용자가 서버의 여러 데이터베이스에 분산되어 있는 경우 기본 시작 시간인 오전 1시에 Active Directory에 대해 10,000번의 LDAP 검색이 수행됩니다. Active Directory 서버의 로드가 24시간 내내 적절하게 유지되는 경우 온라인 유지 관리 시간을 다르게 지정합니다. 즉, 서로 다른 시간에 유지 관리를 시작하도록 각 데이터베이스를 설정합니다. 수십만 명의 사용자가 수십 대의 서버와 수백 개의 데이터베이스에 분산되어 있는 경우 특히 엇갈린 시간대에 온라인 유지 관리를 수행하는 것이 중요합니다.

작업 2와 작업 3은 많은 양의 디스크를 소비하며 유지 관리가 실행 중인 서버에만 영향을 줍니다. 여러 데이터베이스에서 온라인 유지 관리를 동시에 수행하도록 설정한 경우 본 온라인 유지 관리 과정 중에 서버 속도가 느려진 것처럼 보일 수 있습니다. 다시 말하지만 회사 시나리오에서는 온라인 유지 관리가 야간에 수행되며 야간에는 서버가 추가적인 로드를 쉽게 처리할 수 있습니다. 글로벌 데이터 센터에서 단일 서버의 데이터베이스 일정을 서로 엇갈리게 배치하게 되면 많은 디스크를 사용하는 작업을 넓은 시간대로 분산시킬 수 있습니다.

온라인 백업의 경우 추가적인 사항을 고려해야 합니다. Exchange Server 2003 데이터베이스를 백업하면 해당 저장소 그룹의 모든 데이터베이스에 대해 유지 관리가 중단됩니다. 유지 관리 간격이 지나기 전에 백업이 완료되면 유지 관리가 다시 시작됩니다. 단일 저장소 그룹에 2개의 데이터베이스가 있고 이 중 하나가 온라인 유지 관리를 실행 중인 경우 다른 데이터베이스에 대해 백업을 시작하면 온라인 유지 관리를 실행 중인 데이터베이스에서 온라인 조각 모음이 중단됩니다. 저장소 그룹의 특정 데이터베이스 백업 시간이 동일한 저장소 그룹의 특정 데이터베이스 유지 관리 시간과 충돌하지 않도록 하는 것이 중요합니다. 충돌이 발생하면 온라인 유지 관리의 온라인 조각 모음 작업이 중단되어 데이터베이스 조각 모음이 완료되지 않을 수 있습니다.

올바른 온라인 유지 관리 전략을 수립하기 위해 사용자 프로필(예: 작업이 적은 시간)을 검사하고 사이트의 사용자, 데이터베이스 및 서버 수를 파악하고 이 정보를 온라인 백업 전략에 통합할 수 있습니다.

다음 예는 단일 표준 시간대의 사용자를 호스팅하는 회사 Exchange 2003 사서함 서버의 온라인 저장소 유지 관리 일정을 나타냅니다.

첫 번째 저장소 그룹

데이터베이스 1: 온라인 유지 관리를 21:00 - 01:00 사이에 실행합니다.

데이터베이스 2: 온라인 유지 관리를 21:30 - 01:30 사이에 실행합니다.

데이터베이스 3: 온라인 유지 관리를 22:00 - 02:00 사이에 실행합니다.

온라인 백업이 02:00에 시작되며 첫 번째 저장소 그룹에 있는 모든 데이터베이스의 온라인 유지 관리가 완료되면 모든 데이터베이스가 백업됩니다.

두 번째 저장소 그룹

데이터베이스 4: 온라인 유지 관리를 22:30 - 02:30 사이에 실행합니다.

데이터베이스 5: 온라인 유지 관리를 23:00 - 03:00 사이에 실행합니다.

데이터베이스 6: 온라인 유지 관리를 23:30 - 03:30 사이에 실행합니다.

온라인 백업이 03:30에 시작되며 두 번째 저장소 그룹에 있는 모든 데이터베이스의 온라인 유지 관리가 완료되면 모든 데이터베이스가 백업됩니다.

이 구성에서는 온라인 유지 관리에 의해 발생하는 Active Directory LDAP 쿼리를 엇갈리게 수행하며 온라인 백업이 온라인 조각 모음과 충돌하지 않도록 합니다. Active Directory LDAP 쿼리는 해당 절차의 초반에 수행됩니다.

데이터베이스 조각 모음의 세 번째 작업은 18개의 개별 하위 작업으로 구성되며 하나의 하위 작업이 시작되면 반드시 완료되어야 합니다. 따라서 온라인 유지 관리 창에서 하위 작업 12가 아직 실행 중인 경우 이 하위 작업이 완전히 완료된 후에 프로세스가 종료됩니다. 따라서 온라인 유지 관리에서 시간 창이 반복될 수 있습니다. 하위 작업 13은 그 다음 온라인 유지 관리 창에서 실행됩니다. 실행 창 및 백업 일정에 따라 전체 조각 모음이 완료되는 데 하루 이상이 걸릴 수도 있습니다.

사서함 이동 중에 메시지 승격

IMAP4 및 POP3와 같은 인터넷 프로토콜 클라이언트에서는 데이터 읽기/쓰기를 위해 스트리밍 저장소(.stm 파일)를 사용하지만 Active Directory 사용자 및 컴퓨터의 사서함 이동 기능에서는 데이터가 .edb 파일로 이동합니다. 따라서 POP3 및 IMAP4를 사용하여 사서함에 액세스하는 클라이언트의 경우 데이터베이스나 서버 사이에서 사서함이 이동하면 성능이 저하될 수 있습니다. 로그온 중에 메시지 크기가 계산되며 메모리와 서버 디스크에서 MAPI-MIME 변환이 발생합니다. 극단적인 경우 이로 인해 매우 큰 크기의 임시 파일이 Exchange 2003 서버에 만들어질 수 있습니다.

수백 또는 수천 개의 사서함을 이동하는 경우 다음과 같은 권장 사항을 참고하여 잠재적인 문제를 해결할 수 있습니다. 대상 서버에서 다음 두 작업을 모두 수행하십시오.

  • TMP/TEMP 환경 변수가 초고속 RAID0+1 스핀들 집합(대용량 사서함 서버의 경우 최대 12개의 디스크)을 가리키도록 합니다. 독립 실행형 사서함 서버의 경우 시스템 환경 TMP/TEMP 변수를 조정해야 합니다. 클러스터된 서버의 경우 클러스터 서비스가 실행 중인 서비스 계정에 맞게 해당 변수를 구성해야 합니다. 자세한 내용은 TEMP 및 TMP 디렉터리 이동 방법을 참조하십시오.
  • 정확한 메시지 크기 계산값 대신 근삿값을 사용하도록 저장소에 알리려면 사용 중인 인터넷 클라이언트 프로토콜의 Compatibility 레지스트리 값을 설정합니다. POP3 클라이언트에 대한 Compatibility 레지스트리 값을 설정하는 방법에 대한 자세한 내용은 POP3 사용자에 대한 Compatibility 레지스트리 값 설정 방법을 참조하십시오. IMAP4 클라이언트에 대한 Compatibility 레지스트리 값을 설정하는 방법에 대한 자세한 내용은 IMAP4 사용자에 대해 빠른 메시지 가져오기을 참조하십시오.

가상 주소 공간 및 저장소 데이터베이스 캐시 크기

Exchange Server 2003의 Store.exe 프로세스에는 주소를 지정할 수 있는 한정된 크기의 메모리가 있으며 이 크기를 가상 주소 공간이라고 합니다. 대용량 서버의 경우 최적의 메모리 사용을 위해 가상 주소 공간을 직접 조정할 수도 있습니다.

ESE 버퍼라고 하는 저장소 데이터베이스 캐시는 데이터베이스 트랜잭션을 저장소에 커밋하기 전에 저장할 수 있는 대용량의 캐시 영역을 제공합니다. 서버의 로드가 과도하거나 디스크 성능이 최적이 아닌 경우 ESE 버퍼를 늘리면 전체적인 시스템 성능이 향상됩니다. 시스템 성능을 최적화하기 위해 사용자 구성에 따라 이 버퍼의 크기를 늘리거나 줄여야 할 수 있습니다.

이러한 설정을 조정하는 방법에 대한 자세한 내용은 Microsoft 기술 자료 문서 815372, "Exchange Server 2003에서 메모리 사용을 최적화하는 방법(https://go.microsoft.com/fwlink/?LinkId=3052&kbid=815372)"을 참조하십시오.