System Center Operations Manager를 통해 데이터베이스의 사서함을 환경에서 격리

최초 문서 게시일: 2012년 6월 28일 목요일

2012년 7월 3일 업데이트 : 추가 세부 정보를 포함하도록 문제 해결 방법 섹션이 확장되었습니다.

이 게시물에서는 최근 CSS에서 발생했던, 동일한 사서함 데이터베이스의 여러 사서함이 별다른 이유 없이 격리되는 문제에 대해 소개하고자 합니다. 응용 프로그램 로그를 조사해 보면 다음과 같은 정보가 포함된 많은 10018 이벤트가 있음을 확인할 수 있을 것입니다.

로그 이름: 응용 프로그램
원본: MSExchangeIS
이벤트 ID: 10018
작업 범주: 일반
수준: 오류
설명:
<guid>: /o=Contoso /ou=Exchange 관리 그룹(FYDIBOHF23SPDLT)/cn=Recipients/cn=UserMailbox 사용자의 사서함이 격리되었습니다. 앞으로 6시간 동안 이 사서함에 대한 액세스가 관리자 로그온으로 제한됩니다.

또한 다음과 같은 이벤트 ID 5410도 데이터베이스 공간 문제 해결사에 의해 격리되는 각 데이터베이스에 대해 Microsoft-Exchange-Troubleshooters/Operational 이벤트 로그에 표시됩니다.

로그 이름: Microsoft-Exchange-Troubleshooters/Operational
원본: 데이터베이스 공간
이벤트 ID: 5410
수준: 경고
키워드: 클래식
설명:
데이터베이스 공간 문제 해결사가 <DBName> 데이터베이스의 <guid> 사서함을 격리했습니다.

여기서 가장 중요한 부분은 마지막 문장의 "데이터베이스 공간 문제 해결사"입니다. System Center Operations Manager가 배포된 환경에서는 데이터베이스 및 로그 볼륨의 사용 가능한 디스크 공간을 확인하기 위한 모니터가 기본적으로 제공됩니다. 이 모니터는 Exchange 2010에 기본적으로 포함된 Troubleshoot-DatabaseSpace.ps1 PowerShell 스크립트를 사용합니다. Troubleshoot-DatabaseSpace.ps1 스크립트에 대해 자세히 알아보려면 다음 TechNet 문서를 참조하십시오.

셸에서 Troubleshoot-DatabaseSpace.ps1 스크립트를 사용하여 데이터베이스에서 로그 증가 관리
https://technet.microsoft.com/ko-kr/library/ff477617.aspx

System Center 팀에서는 최근 Exchange Management Pack 서비스 팩 2를 공개했습니다. 이 서비스 팩에서 가장 중요한 변경 사항은 스크립트 실행을 위한 제한 시간 값이 조정되었다는 것입니다. 이 서비스 팩 이전에는 제한 시간 값이 300초였으며 모니터는 5분마다 실행되도록 설정되었습니다. 즉, 대부분의 대규모 조직에서는 사실상 스크립트의 시간이 항상 초과되어 실행이 완료되지 않았습니다. 업그레이드를 설치한 후의 새 제한 시간 값은 1200초입니다. 또한 이제는 모니터가 5분이 아닌 1시간마다 실행됩니다. 이 변경으로 인해 이제 문제 해결사가 SP2 업데이트 이전에는 실행할 수 없었던 코드를 안정적으로 실행할 수 있게 되었으며, 따라서 문제 해결사에서 사용되는 정보 저장소 perfmon 카운터에서 버그를 찾아 데이터베이스에 대한 로그 바이트 생성 속도를 확인할 수 있습니다. perfmon 속도는 시간당 1.0E+19바이트를 초과할 수 있습니다. 로그 생성의 시간별 예상 속도가 데이터베이스 또는 로그 볼륨에서 남아 있는 사용 가능한 디스크 공간 용량을 초과하면 문제 해결사가 사서함 격리를 시작하여 로그 생성으로 인해 사용 가능한 공간이 모두 소진되고 데이터베이스가 분리되지 않도록 합니다. 문제 해결사는 perfmon 카운터에 비정상적인 값이 표시되면 이 상태로 전환됩니다. perfmon 카운터는 1분마다 업데이트되므로 값이 1분보다 오랫동안 비정상 상태이면 안 됩니다. 따라서 이러한 상황이 자주 발생하지는 않지만 발생 가능성은 어느 정도 있는 편입니다.

스크립트의 용도

위에서 소개한 TechNet 문서에도 나와 있는 것처럼, 이 스크립트의 주요 기능은 로그 생성 속도를 추적하고 데이터베이스 및 로그 볼륨의 사용 가능한 디스크 공간을 확인하는 것입니다. 스크립트는 실행되면 저장소 perfmon 카운터를 사용하여 로그 생성 속도를 확인하고 현재 속도로 로그가 생성되는 경우 시간 임계값(기본값: 12시간) 이내에 디스크 공간이 소진될 것인지를 계산합니다. 공간 소진이 예상되는 경우 스크립트는 필요에 따라 사서함 격리를 시작합니다(한 번에 최대 150개). 또한 사용 가능한 디스크 공간의 비율이 지정된 값보다 낮아질 때도 필요에 따라 사서함을 격리합니다. 기본적으로 사용되는 사용 가능한 디스크 공간 비율 값은 25%입니다. 이 두 조건 중 하나에 해당할 때 사서함을 격리하려면 -Quarantine 매개 변수를 스크립트로 전달해야 합니다.

SCOM 2007 이상에서 사용되는 모니터는 기본적으로 Quarantine 매개 변수를 사용하며, Management Pack은 sealed 상태이므로 이를 변경할 수 있는 옵션은 지원되지 않습니다. 즉, 데이터베이스에 대한 로그 볼륨 또는 데이터베이스의 사용 가능한 디스크 공간이 25% 미만이 되는 동시에 계산된 로그 생성 속도를 기준으로 할 때 앞으로 12시간 이내에 남은 디스크 공간이 소진될 것으로 예상되는 경우에는 가장 사용량이 많은 사용자가 격리됩니다. 따라서 데이터베이스에 사서함이 많은 경우 단기간에 많은 사서함이 격리될 수 있습니다.

수행할 수 있는 작업

물론 많은 사서함이 격리되면 해당 사서함의 사용자가 작업을 중단해야 하므로 바람직하지 않습니다. 디스크 공간 부족으로 인해 전체 데이터베이스를 분리하여 해당 데이터베이스의 모든 사용자가 작업을 중단하는 것보다는 낫겠지만요. 격리된 사서함은 레지스트리에서 해당 사서함 GUID를 제거하여 수동으로 해제할 수 있지만, 다음 번에 모니터를 실행하면 같은 사서함이 또 다시 격리될 수 있으므로 이는 적절한 해결 방법이 아닙니다 .

격리된 사서함은 다음 위치에서 확인할 수 있습니다.

Hkey_Local_Machine\SYSTEM\CurrentControlSet\Services\MSexchangeIS\Servername\Private-<D Bguid>\Quarantined Mailboxes\ {사서함 GUID}

Exchange 팀은 이러한 상황을 인지하고 있으며 해결 방법을 구현하기 위해 노력하고 있습니다 . 저희가 이 문제를 해결할 수 있는 최선의 방법을 파악하는 동안 사용하실 수 있도록 사서함이 격리되지 않도록 하기 위해 구현할 수 있는 해결 방법을 알려 드리고자 합니다. 또한 더 많은 고객들이 이 문제를 겪지 않도록 Exchange 팀에서는 Exchange 2010 SP2 Management Pack을 다운로드 센터에서 일시적으로 제거했습니다 .

해결 방법

재정의를 작성하여 사용 가능한 디스크 공간을 확인하는 모니터를 사용하지 않도록 설정합니다. 그러면 Troubleshoot-DatabaseSpace.ps1 파일이 실행되지 않습니다.

작성한 재정의는 System Center Operations Manager 내의 사용자 지정 전용 새 관리 팩에 배치하는 것이 가장 좋습니다. 이렇게 하면 재정의 또는 기타 사용자 지정 설정을 빠르고 쉽게 관리할 수 있습니다. 이러한 용도의 관리 팩이 없으면 다음 단계를 수행하여 만들 수 있습니다.

  1. 관리 콘솔에서 관리 단추를 클릭하고 관리 창에서 관리 팩 을 마우스 오른쪽 단추로 클릭한 후에 관리 팩 만들기 를 클릭합니다. 그러면 관리 팩 만들기(Create a Management Pack) 마법사가 표시됩니다.
  2. 일반 속성(General Properties) 페이지에서 이름(Name) 에 관리 팩의 이름을, 버전(Version) 에 올바른 버전 번호를, 설명(Description) 에 간단한 설명을 입력하고 다음(Next) , 만들기(Create) 를 차례로 클릭합니다.

이미지

재정의용 관리 팩을 지정한 후에는 아래에 나와 있는 4개 모니터에 대해 재정의를 만듭니다.

이미지

System Center Operations Manager에서 제작 모듈로 이동한 다음 관리 팩 개체 아래 모니터 로 이동합니다. 모니터를 해제하려면 아래에 나와 있는 것처럼 재정의를 설정하고 모든 개체 클래스: 데이터베이스 복사 DB 논리 디스크 공간(For all objects of class: Database Copy DB Logical Disk Space)에 대해 모니터를 사용하지 않도록 설정하면 됩니다.

이미지

사용(Enabled) 옆의 확인란을 선택하고 False를 선택하여 재정의 값을 수정합니다.

이미지

계속해서 재정의 속성(Override Properties) 대화 상자에서 사용자 지정을 위해 지정된 관리 팩을 선택합니다.

이미지

현재는 사서함 격리의 영향을 받지 않으려면 모니터를 사용하지 않도록 설정할 수밖에 없습니다. 이로 인해 디스크 공간이 부족해질 때 관리자가 알림을 받지 못하게 될 수도 있지만, 수정이 공개될 때까지는 이것이 사서함 격리를 방지하는 최선의 방법입니다.

참고: 트랜잭션 로그 드라이브가 데이터베이스와 함께 있는 경우에는 데이터베이스 디스크 공간이 부족해질 때 발송되는 알림이 계속 수신됩니다 . 이 알림은 전적으로 perfmon을 기반으로 하는 다른 규칙을 통해 생성되기 때문입니다 .

Ben Winzenz, Kevin Carker

이 문서는 번역된 블로그 게시물입니다. 원본 문서는 Mailboxes on a database are Quarantined in an environment with System Center Operations Manager를 참조하십시오.