Exchange 2010 페이지 비우기 이해

 

적용 대상: Exchange Server 2010 SP2, Exchange Server 2010 SP3

마지막으로 수정된 항목: 2016-11-28

기본적으로 대부분의 저장소 시스템(파일 시스템 및 데이터베이스)은 실제 데이터가 삭제되는 경우 이 데이터를 덮어쓰지 않습니다. 이러한 시스템은 데이터에 대한 포인터를 삭제하고, 빈 목록 또는 사용 가능한 목록에 데이터를 백업하는 블록 및 페이지를 추가합니다. 해당 데이터는 페이지 및 블록이 다시 사용될 때 결국 삭제됩니다. 데이터 비우기는 삭제된 데이터를 0 또는 바이너리 패턴으로 덮어써서 데이터 복구를 훨씬 더 어렵게 만드는 메커니즘입니다. 이 작업은 보안상의 이유로 수행됩니다. 데이터 비우기는 페이지 및 블록이 저장소 시스템에서 다시 사용되기 전에 발생합니다.

Exchange 2010 SP1의 페이지 비우기

Exchange Server 2010 SP1(서비스 팩 1)에서는 페이지 비우기가 기본적으로 설정되어 있습니다. 페이지 비우기를 사용하지 않도록 설정하는 메커니즘은 없습니다. 페이지 비우기 작업은 트랜잭션 로그 파일에 기록되므로 모든 데이터베이스 복사본에서 유사한 방식으로 페이지 비우기가 수행됩니다. 즉, 수동 데이터베이스에서 페이지 비우기 로그 레코드가 포함된 트랜잭션 로그를 재생한 후 활성 데이터베이스에서 페이지 비우기를 수행하면 수동 데이터베이스에서 해당 페이지가 비워집니다. ESE(Extensible Storage Engine)에는 새 공간 할당보다 비워진 페이지 재이용이 우선되는 메커니즘이 없습니다. 순차적 공간 할당이 지정된 테이블은 새로운 또는 빈 순차적 페이지를 사용할 수 있도록 조각난 페이지 또는 비워진 페이지를 의도적으로 건너뜁니다. 이 방법은 서버의 데이터베이스 I/O 사용 공간을 줄입니다.

Exchange 2010 SP1에서는 데이터베이스 페이지 비우기에 대한 기능이 향상되어 비우기 기능 수행 시 서버의 성능에 영향을 덜 미칩니다. 주요 향상 기능은 다음과 같습니다.

  • 최적화된 저장소 및 네트워크 용량   ESE(Extensible Storage Engine)는 전체 페이지 이미지를 로깅하는 대신 트랜잭션 로그 파일에 페이지 비우기 레코드를 씁니다. 이러한 방법을 통해 로그 쓰기 I/O가 줄고, 로그의 용량 사용 공간이 가능한 한 낮게 유지되며, 활성 복사본에서 수동 복사본으로 로그를 보내기 위한 대역폭 요구 사항이 감소합니다.

  • 최적화된 데이터베이스 디스크 I/O   이전 버전의 Exchange 2010에서는 페이지 비우기가 백업 또는 예약된 유지 관리 프로세스(구성된 경우) 중에만 발생하고 상당한 데이터베이스 디스크 I/O가 발생했습니다. Exchange 2010 SP1에서는 페이지 비우기가 기본적으로 발생하며 주로 트랜잭션 시간에 수행됩니다. 대부분의 경우 비우기는 영구 삭제 직후 발생합니다. 이 디자인에서는 데이터베이스가 엔진의 검사점 깊이 기능을 활용할 수 있습니다. 그러면 더티 페이지가 특정 시간 동안 캐시에 유지되므로 종료 시간에 발생하는 추가 페이지 업데이트가 추가적인 데이터베이스 쓰기 I/O를 발생시키지 않습니다. 이 디자인 덕분에 페이지 비우기는 데이터베이스 I/O에 큰 영향을 주지 않고 이러한 이유 때문에 페이지 비우기가 기본적으로 사용됩니다.

ESE 데이터베이스에서 페이지 비우기 구현

ESE 데이터베이스는 저장소 단위로 페이지를 사용하며 페이지 비우기를 구현했습니다. ESE 페이지 비우기는 영구 삭제 레코드를 바이너리 패턴으로 한 번 덮어씁니다. 페이지 비우기 패턴은 ESE 엔진 작업과 관련되며 런타임 작업과 유지 관리 작업에서 각기 다릅니다. 다음 표에는 특정 런타임 작업에 해당하는 채우기 패턴이 나와 있습니다.

ESE 런타임 작업별 페이지 비우기의 채우기 패턴

ESE 런타임 작업 채우기 패턴

바꾸기

R

레코드/Long 값 삭제

D

비운 페이지 공간

H

다음 표에는 ESE 백그라운드 데이터베이스 유지 관리 중에 발생하는 특정 작업에 해당하는 채우기 패턴이 나와 있습니다.

ESE 백그라운드 데이터베이스 유지 관리 작업별 페이지 비우기의 채우기 패턴

ESE 백그라운드 데이터베이스 유지 관리 작업 채우기 패턴

레코드 삭제

D

Long 값 삭제

L

부분적으로 사용된 페이지의 비운 페이지 공간

Z

사용되지 않은 페이지의 비운 페이지 공간

U

백그라운드 데이터베이스 유지 관리

기본적으로 구성된 백그라운드 데이터베이스 유지 관리는 백그라운드에서 데이터베이스를 지속적으로 체크섬 및 스캔하는 프로세스입니다. 주요 기능은 데이터베이스 페이지를 체크섬하는 것이지만 Exchange 2010 저장소가 크래시된 후 정리도 처리합니다(크래시로 인해 수행되지 않은 레코드와 페이지 비우기 및 공간 정리). 백그라운드 데이터베이스 유지 관리는 데이터베이스별로 초당 약 5MB를 처리합니다. 시기적절한 페이지 비우기가 중요한 경우 데이터베이스 크기를 줄여, 크래시 복구 시 더 짧은 시간(예: 24시간)에 페이지 비우기를 할 수 있습니다. 자세한 내용은 새 Exchange 핵심 저장소 기능을 참조하십시오.

백그라운드 데이터베이스 유지 관리는 지속적인 프로세스이므로 시작 및 완료와 관련된 이벤트가 없습니다. 다음 성능 카운터를 사용하여 백그라운드 데이터베이스 유지 관리 완료의 진행률을 추적할 수 있습니다.

  • MSExchange 데이터베이스 =>인스턴스->데이터베이스 유지 관리 기간: 이 성능 카운터는 지정된 데이터베이스에 대한 유지 관리가 마지막으로 완료된 이후 지난 시간(초)을 나타냅니다.

ESE 데이터베이스 페이지 비우기의 프로세스

다음 표에서는 데이터베이스 삭제 시나리오 및 페이지 비우기 기능이 수행되는 시기에 대해 설명합니다.

ESE 백그라운드 데이터베이스 유지 관리 작업

데이터베이스 삭제 시나리오 데이터베이스 데이터를 비우기 위한 ESE 프로세스 및 시간대
  • 시나리오 1: 단일 항목 복구가 사용되지 않으며, 사용자가 복구할 수 있는 항목 폴더에서 항목을 제거합니다.

  • 시나리오 2: 단일 항목 복구가 사용되지 않으며, 복구할 수 있는 항목 보존기간이 0으로 설정되어 있습니다.

  • 시나리오 3: 단일 항목 복구가 사용되며, 삭제된 항목 보존 기간에 따라 항목이 만료됩니다.

비동기 스레드는 삭제된 데이터를 바이너리 패턴으로 덮어씁니다. 이 작업은 레코드 삭제 후 몇 밀리초 이내에 발생합니다. 비동기 비우기 작업이 여전히 해결되지 않은 상태에서 저장소 프로세스가 크래시되는 경우(또는 버전 저장소 증가로 인해 버전 저장소 정리가 취소되는 경우) 백그라운드 데이터베이스 유지 관리(24x7)가 데이터베이스의 해당 섹션을 처리할 때 비우기가 완료됩니다. 백그라운드 데이터베이스 유지 관리에 대한 자세한 내용은 새 Exchange 핵심 저장소 기능을 참조하십시오.

보기 시나리오: Outlook/Outlook Web Access 폴더 보기(예: 대화 보기)에서 항목의 만료

백그라운드 데이터베이스 유지 관리(24x7)가 데이터베이스의 해당 섹션을 처리할 때 데이터 비우기가 발생합니다.

사서함 이동/사서함 삭제 시나리오: 원본 사서함 삭제(휴지통의 삭제된 사서함 만료)

백그라운드 데이터베이스 유지 관리(24x7)가 데이터베이스의 해당 섹션을 처리할 때 데이터 비우기가 발생합니다.

페이지 비우기 동작 모니터링

다음 ESE 성능 카운터를 사용하여 페이지 비우기 기능을 측정하고 모니터링할 수 있습니다.

  • MSExchange 데이터베이스->비워진 데이터베이스 유지 관리 페이지: 이 성능 카운터는 성능 카운터가 호출된 이후 데이터베이스 엔진에 의해 비워진 페이지 수를 나타냅니다.

  • MSExchange 데이터베이스->비워진 데이터베이스 유지 관리 페이지/초: 이 성능 카운터는 데이터베이스 엔진에 의해 페이지가 비워지는 속도를 나타냅니다.

참고

이러한 카운터를 사용하도록 설정하는 방법에 대한 자세한 내용은 Extended ESE 성능 카운터 사용 설정 방법을 참조하십시오.

페이지 비우기는 데이터베이스 유지 관리 기능이므로 런타임 트랜잭션에 대한 페이지 비우기 및 백그라운드 데이터베이스 유지 관리로 인한 페이지 비우기 모두와 관련된 성능 정보가 이러한 카운터에 포함됩니다.

Exchange 2010 사서함 데이터 및 페이지 비우기

사서함 데이터베이스 파일(.edb)에만 페이지 비우기에 대한 프로비전이 있습니다. 다음 Exchange 2010 사서함 데이터 유형에는 페이지 비우기에 대한 프로비전이 없습니다.

  • 사서함 데이터베이스 트랜잭션 로그(.log)

    트랜잭션 로그가 삭제될 때(백업 또는 순환 로깅을 통한 자르기로 인해) NTFS 파일 시스템에 로그 파일을 백업하는 블록을 비우는 프로세스가 없습니다. NTFS는 새로 만든 로그에 대한 해당 여유 공간을 신속하게 재이용할 수 있지만 실제로 재이용한다는 보장은 없습니다.

  • 콘텐츠 인덱스 카탈로그 파일

    Exchange 2010은 검색 인덱싱 기능에 Exchange Search(MSExchangeSearch)를 사용합니다. 검색 인덱스 카탈로그는 사서함 데이터베이스 파일로서 동일한 볼륨에 저장된 수십 개의 파일로 구성되어 있습니다. 메시지가 사서함 데이터베이스에서 영구 삭제될 때 검색 카탈로그의 연결된 콘텐츠는 즉시 삭제되지 않습니다. 콘텐츠 삭제는 MS Search가 여러 작은 카탈로그 파일을 큰 단일 파일로 섀도 또는 마스터 병합 처리할 때 발생합니다. 마스터 병합이 완료된 후 작은 카탈로그 파일은 삭제됩니다. 삭제된 카탈로그 파일을 백업한 블록을 비우는 프로세스는 없습니다. 카탈로그 파일이 완전히 비워졌는지 확인하려면 다음 프로세스를 사용하십시오.

    1. 영향을 받는 서버에서 MSExchangeSearch 및 Microsoft Search(MSSearch) 프로세스를 중지합니다.

    2. 영향을 받는 각 데이터베이스에 대한 카탈로그 디렉터리를 삭제합니다(모든 복사본에서).

    3. MSExchangeSearch 및 MSSearch 프로세스를 다시 시작합니다.

    4. NTFS 블록 비우기 도구를 사용하여 비워진 블록을 0으로 설정합니다.

    참고

    콘텐츠 인덱스 카탈로그 파일을 삭제하면 Exchange 2010 서버의 클라이언트 사용자 환경은 심각한 영향을 받습니다. 콘텐츠 인덱스가 각 데이터베이스를 다시 크롤링하여 카탈로그를 다시 빌드할 때까지 Outlook Web App 및 Exchange ActiveSync 서버 검색이 중단됩니다. 다시 빌드를 완료하는 데 며칠에서 몇 주가 걸릴 수 있습니다.

 © 2010 Microsoft Corporation. 모든 권리 보유.