공용 폴더 복제 문제 해결 - 4부: Exchange Server 2007/2010 팁

최초 문서 게시일: 2011년 11월 28일 월요일

영문 블로그 최초 게시일: 2008년 1월 11일

2년 전에 공용 폴더 복제 문제 해결과 관련하여 3부로 구성된 게시물 시리즈를 게시한 바 있습니다. 1부(영문일 수 있음)에서는 새 데이터 복제, 2부(영문일 수 있음)에서는 기존 데이터 복제, 그리고 3부(영문일 수 있음)에서는 복제본 삭제 프로세스 및 Exchange 2003에서 나타났던 몇 가지 일반적인 문제에 대해 설명했습니다. 이 게시물에서는 Exchange 2007 관련 내용을 포함하여 시리즈를 업데이트하고자 합니다.

Exchange 2007에서도 공용 폴더 복제는 기본적으로 이전과 동일하게 작동합니다. 즉, 게시물 시리즈의 첫 3부에서 설명한 문제 해결 단계가 Exchange 2007에도 적용됩니다. 그러나 관리 도구가 변경되었고 Exchange 2007에서 발생하는 일반 문제가 약간 달라졌으므로 이 게시물을 통해 설명하도록 하겠습니다.

관리 도구 변경 내용

Exchange 2007의 경우에도 복제 문제의 범위를 특정 오류 지점으로 좁히려는 경우 이벤트 로그를 사용하면 가장 효율적입니다. 게시물 시리즈의 1부(영문일 수 있음)에서는 받는 복제 및 보내는 복제에 대한 로깅을 최대로 높이는 것이 좋다고 설명한 바 있는데요, Exchange 2007에서도 해당 설명이 적용됩니다. 단, Exchange 2007에서는 Set-EventLogLevel cmdlet을 사용하여 "MSExchangeIS\9001 Public\받는 복제 메시지" 및 "MSExchangeIS\9001 Public\보내는 복제 메시지"를 전문가 수준으로 설정합니다.

게시물 시리즈의 2부(영문일 수 있음)에서는 ESM의 계층 구조 동기화(Synchronize Hierarchy)콘텐츠 동기화 옵션을 사용하여 상태 메시지를 강제로 확인하고 모든 대기 백필 항목의 제한 시간을 초과시키는 방법에 대해 설명했습니다. Exchange 2007에서도 Update-PublicFolderHierarchyUpdate-PublicFolder cmdlet을 사용하여 이 작업을 수행할 수 있습니다. SP1의 공용 폴더 관리 도구에서도 이러한 옵션을 사용할 수 있는데, 이들 옵션은 공용 폴더 루트를 선택하면 계층 구조 업데이트로 표시되고 특정 공용 폴더를 선택하면 콘텐츠 업데이트로 표시됩니다. 이러한 옵션은 명령줄에서도 사용할 수 있으므로 Exchange 2003의 옵션에 비해 훨씬 유동적입니다. 예를 들어 이제는 간단한 "Get-PublicFolderStatistics | Update-PublicFolder" 명령을 통해 Exchange 2007 서버에서 복제본을 포함하는 모든 폴더에 대해 백필 항목의 제한 시간을 초과시키는 작업을 매우 쉽게 수행할 수 있습니다. Exchange 2003에서는 여러 단계를 거쳐야만 이 작업이 가능했습니다.

게시물 시리즈의 3부(영문일 수 있음)에서는 공용 폴더 인스턴스 보기를 통해 복제본 삭제가 완료되었는지 여부를 확인하는 방법을 설명했습니다. Exchange 2007에서는 Get-PublicFolderStatistics 명령을 통해 동일한 정보를 볼 수 있습니다.

Exchange 2007의 일반 문제

지금까지 개인적으로 확인한 가장 일반적인 증상은 저장소 드라이버 오류입니다. 예를 들어 백필 응답은 Exchange 2007 서버로 발송되었는데 2007에서 응용 프로그램 로그를 확인하면 들어오는 복제 이벤트가 없는 경우가 있습니다. 메시지 추적을 수행하면 복제 메시지가 허브 전송 서버까지는 배달된 후 저장소 드라이버에서 오류가 발생했음을 확인할 수 있습니다.

이러한 현상은 다양한 원인으로 인해 발생할 수 있으며, 문제는 보통 비교적 쉽게 해결할 수 있습니다. 이 경우 문제를 해결하는 가장 효율적인 방법은 허브 전송 서버에서 제공되는 파이프라인 추적 및 콘텐츠 변환 추적을 사용하는 것입니다. "Get-TransportServer | fl"을 실행하면 이와 관련된 몇 가지 설정이 표시됩니다.

PipelineTracingEnabled : False
ContentConversionTracingEnabled : False
PipelineTracingPath : C:\Program Files\Microsoft\Exchange Server\TransportRoles\Logs\PipelineTracing
PipelineTracingSenderAddress : SERVER01-IS@contoso.com

백필 응답이 저장소 드라이버에서 실패하는 이유를 확인하려면 백필 응답을 보내는 공용 폴더 저장소의 SMTP 주소와 일치하도록 PipelineTracingSenderAddress를 설정합니다. 그런 다음 ContentConversionTracingEnabled와 PipelineTracingEnabled를 $true로 설정하고 문제를 재현한 후에 PipelineTracingPath로 지정된 폴더를 확인합니다. 이 폴더에는 ContentConversionTracing이라는 하위 폴더가 있으며 이 하위 폴더 안에는 InboundFailures 폴더가 있습니다. InboundFailures 폴더에는 복제 메시지 자체가 포함된 EML 파일과 오류에 대한 일부 정보가 포함된 TXT 파일이 있습니다. TXT 파일 맨 위에는 오류 원인에 대한 유용한 힌트가 제공되는 경우가 많습니다.

예를 들어 TXT 파일에 다음과 같은 출력이 표시되는 경우가 있습니다.

Microsoft.Exchange.Data.Storage.PropertyValidationException: 속성 유효성 검사를 수행하지 못했습니다. 속성 = [{00020329-0000-0000-c000-000000000046}:'Keywords'] Categories
오류 = multivalue 속성의 0 요소가 잘못되었습니다.

이 메시지는 Categories 속성이 잘못되었음을 나타냅니다. 해당하는 공용 폴더에 포함된 항목에서 Categories 속성이 완전히 비어 있지 않은 경우(비어 있도록 설정되기는 했지만 공백 하나가 있는 등의 경우) 이러한 현상이 발생합니다. Outlook에서 항목을 범주별로 표시하도록 선택하면 이러한 항목을 확인할 수 있습니다. 즉, 값이 "없음"으로 설정된 서로 다른 항목 집합이 두 개 표시됩니다. 이 문제를 해결하려면 Outlook에서 모든 "없음" 항목에 대해 범주를 지우면 됩니다. 이렇게 하려면 항목을 다른 범주로 설정했다가 다시 없음으로 설정해야 할 수 있습니다. Categories 속성이 실제로 비워지면 항목 집합 하나만 "없음"으로 표시되며 항목이 정상적으로 복제됩니다.

다른 예:

Microsoft.Exchange.Data.Storage.PropertyValidationException: 속성 유효성 검사를 수행하지 못했습니다. 속성 = [{00062004-0000-0000-c000-000000000046}:0x8092] Email2AddrType
오류 = Email2AddrType이(가) 너무 깁니다. 최대 길이: 9, 실제 길이: 35.

이 메시지가 표시되는 경우에는 Email2AddrType 속성에 문제가 있는 것입니다. 즉, 이 속성은 정상적인 경우의 "SMTP" 또는 "EX"와 같이 주소 유형만 포함하는 것이 아니라 특정 연락처의 전체 전자 메일 주소로 채워져 있습니다. 해당 속성을 수정하면 항목을 복제할 수 있습니다.

저장소 드라이버에서 오류가 발생할 때 아래 출력과 같이 특정 문제 속성을 식별할 수 없는 경우도 있습니다.

Microsoft.Exchange.Data.Storage.ConversionFailedException: 메시지 콘텐츠가 손상되었습니다. ---> Microsoft.Exchange.Data.Storage.ConversionFailedException: TNEF(위반 상태: 0x00000800)가 손상되어 콘텐츠를 변환하지 못했습니다.

KB 936000에서 설명하는 문제가 발생할 때 이 오류 메시지가 표시됩니다. 복제 메시지를 생성하는 Exchange 2003 서버에 픽스를 적용하면 해당 문제가 해결됩니다.

여기서 기억해야 할 중요한 사항은, Exchange 2007에서는 여러 차례의 속성 유효성 검사를 통해 잘못된 데이터가 저장소로 유입되지 않도록 합니다. 이는 효율적인 방식이기는 하지만, 이러한 방식으로 인해 Exchange 2003 서버에서 콘텐츠 문제를 해결할 때까지 공용 폴더 데이터가 Exchange 2003 서버에서 복제되지 않을 수도 있습니다. ContentConversionTracing을 사용하면 이러한 문제를 파악하고 문제의 원인이 되는 정확한 속성을 확인할 수 있습니다.

ContentConversionTracing을 사용하여 또 다른 일반적인 문제를 확인할 수도 있는데, 이 문제는 실제 콘텐츠 문제로 인해 발생하지는 않습니다. 이 문제가 발생하는 경우 InboundFailures 폴더의 TXT 파일에는 다음과 같은 내용이 표시됩니다.

Microsoft.Exchange.Data.Storage.ConversionFailedException: 콘텐츠 변환 제한을 초과했습니다.
at Microsoft.Exchange.Data.Storage.InboundMimeConverter.ConvertToItem(MimePromotionFlags promotionFlags)
at Microsoft.Exchange.Data.Storage.ItemConversion.InternalConvertAnyMimeToItem(Item itemOut, EmailMessage messageIn, InboundConversionOptions options, MimePromotionFlags promotionFlags, Boolean isStreamToStream)
at Microsoft.Exchange.Data.Storage.ItemConversion.ConvertAnyMimeToItem(Item itemOut, EmailMessage messageIn, InboundConversionOptions options)

InboundConversionOptions:
- preferredCharset: iso-8859-1
- trustAsciiCharsets: True
- isSenderTrusted: False
- imceaResolveableDomain: contoso.com
- preserveReportBody: False
- clearCategories: True
- userADSession:
- recipientCache: Microsoft.Exchange.Data.Directory.Recipient.ADRecipientCache
- clientSubmittedSecurely: False
- serverSubmittedSecurely: False

ConversionLimits:
- maxMimeTextHeaderLength: 2000
- maxMimeSubjectLength: 255
- maxSize: 2147483647
- maxMimeRecipients: 12288
- maxRecipientPropertyLength: 1000
- maxBodyPartsTotal: 250
- maxEmbeddedMessageDepth: 30
- exemptPFReplicationMessages: True

이 메시지에서 맨 위의 줄에는 "콘텐츠 변환 제한을 초과했습니다."라는 내용이 표시됩니다. 일반적으로 공용 폴더 복제 메시지에는 크기 제한 관련 내용이 표시되지 않는데 왜 이 메시지에는 이러한 내용이 표시될까요? 여기서는 "isSenderTrusted"가 False라는 점을 주목해야 합니다. 즉, 이 메시지는 인증되지 않은 SMTP 연결을 통해 배달된 것입니다. 보내는 서버의 인증이 실패했거나 인증 자체를 시도하지 않은 것입니다. 이러한 현상은 게시물 시리즈 3부(영문일 수 있음)의 일반 문제 섹션에서 설명했던 현상(Exchange 2003에서 인증 실패로 인해 XEXCH50 동사에 오류가 발생하는 현상)과 매우 비슷한데요. 보내는 서버가 인증되지 않았으므로 Exchange 2007 서버는 메시지에 일반적인 크기 제한을 적용합니다. 콘텐츠 백필 응답에서는 첨부 파일이 250개를 초과하는 콘텐츠 복제 메시지가 드물지 않은데, 이러한 메시지는 제한을 초과하므로 오류가 발생합니다. 관리자가 인증을 허용하지 않는 두 번째 수신 커넥터를 만든 후 외부 IP가 아닌 내부 IP를 수신하도록 구성한 경우 이러한 현상이 자주 발생합니다. 다른 원인의 경우에는 Netmon 캡처를 통해 게시물 시리즈 3부(영문일 수 있음)에서 설명하는 대로 문제를 파악해야 할 수 있습니다.

결론

지금까지 Exchange 2007이 설치된 환경에서 공용 폴더 복제 문제의 범위를 좁히기 위해 확인해야 하는 모든 사항을 설명했습니다. 앞에서도 언급했듯이 모든 이전 문제 해결 단계는 계속 적용되며, 관리 도구와 발생하는 문제가 달라졌을 뿐입니다. 이 게시물이 도움이 되었기를 바랍니다.

- Bill Long

이 문서는 번역된 블로그 게시물입니다. 원본 문서는 Public Folder Replication Troubleshooting - Part 4: Exchange Server 2007/2010 tips를 참조하십시오.