Sun Java System Messaging Server 6 2005Q4 관리 설명서

메일 저장소 시작 및 복구

메일 저장소 데이터는 메일, 색인 데이터 및 메일 저장소 데이터베이스로 구성됩니다. 이 데이터는 상당히 견고하지만 가끔 시스템에 메일 저장소 데이터 문제가 발생할 수 있습니다. 이러한 문제는 기본 로그 파일에서 나타나며 그 대부분이 항상 투명하게 수정됩니다. 아주 드물게 로그 파일의 오류 메시지가 reconstruct 유틸리티를 실행해야 한다는 것을 나타낼 수 있습니다. 또한 메일을 보호하기 위한 마지막 수단으로 메일 저장소 백업 및 복원에 설명된 백업 및 복원 프로세스가 사용됩니다. 이 절에서는 stored의 자동 시작 및 복구 프로세스를 중심으로 설명합니다.

메일 저장소는 이전에 관리자가 담당하던 많은 복구 작업을 자동화합니다. 이러한 작업은 시작 시에 메일 저장소 데몬 stored에 의해 수행되며 필요에 따라 데이터베이스 스냅샷 및 자동 고속 복구를 포함합니다. stored는 메일 저장소의 데이터베이스를 철저하게 검사하여 문제가 감지된 경우 이를 자동으로 복구합니다.

stored는 또한 상태 메시지를 통해 포괄적인 데이터베이스 상태 분석을 기본 로그에 제공하여 메일 저장소에 대해 수행된 복구 작업과 메일 저장소를 작동시키기 위한 자동 시도를 보고합니다.

자동 시작 및 복구—작동 원리

stored 데몬은 다른 메일 저장소 프로세스보다 먼저 시작됩니다. 이 데몬은 메일 저장소 데이터베이스를 초기화하고 필요한 경우 복구합니다. 메일 저장소 데이터베이스는 폴더, 할당량, 가입 및 메일 플래그 정보를 보관합니다. 데이터베이스는 로깅 및 트랜잭션 가능하여 이미 복구가 내장되어 있습니다. 또한 일부 데이터베이스 정보는 각 폴더의 메일 색인 영역에서 중복하여 복사됩니다.

데이터베이스는 상당히 견고하지만 가끔씩 손상될 수 있으며 stored는 대부분의 경우 이 문제를 투명하게 복구합니다. 그러나 stored를 다시 시작할 때마다 기본 로그 파일을 검사하여 추가 관리 개입이 필요하지 않은지 확인해야 합니다. 데이터베이스의 추가 재작성이 필요한 경우 로그 파일의 상태 메시지에 reconstruct를 실행하라는 내용이 나타납니다.

메일 저장소 데이터베이스를 열기 전에 stored는 무결성을 분석하고 경고 범주에 속하는 상태 메시지를 기본 로그로 보냅니다. 일부 메시지는 관리자에게 유용하며 다른 일부는 내부 분석에 사용되는 코딩된 데이터로 구성됩니다. stored는 문제를 감지하면 데이터베이스를 수정하고 재시작을 시도합니다.

데이터베이스가 열리면 stored는 나머지 서비스를 시작할 수 있다는 것을 알립니다. 자동 수정이 실패할 경우 기본 로그의 메시지는 수행할 작업을 지정합니다. reconstruct -m이 필요하다는 것을 지정하는 오류 메시지를 참조하십시오.

이전 릴리스에서는 stored에서 복구 프로세스를 구현하는 데 매우 오래 걸려서 관리자가 stored를 "중단"된 것으로 여기기도 했습니다. 이제 이러한 긴 복구 유형은 제거되었으며 stored는 1분 이내에 최종 상태를 확인해야 합니다. 그러나 stored가 스냅샷 복구와 같은 복구 기술을 사용해야 할 경우 프로세스는 몇 분 정도가 소요될 수 있습니다.

대부분의 경우 복구가 수행된 후에 데이터베이스는 최신 상태로 업데이트되며 다른 작업은 필요하지 않습니다. 그러나 일부 복구는 메일 저장소의 중복 데이터를 동기화하기 위해 reconstruct -m이 필요합니다. 이러한 내용도 기본 로그에 표시되므로 시작 후에 기본 로그를 모니터하는 것이 중요합니다. 메일 저장소가 시작되어 정상적으로 실행되는 것처럼 보이는 경우에도 reconstruct와 같은 요청된 모든 작업을 실행해야 합니다.

로그 파일을 읽어야 하는 또 다른 이유는 처음에 데이터베이스를 손상시킨 원인을 확인하는 데 있습니다. stored는 시스템상의 문제와 무관하게 메일 저장소를 사용하도록 설계되었지만 데이터베이스 손상이 숨겨진 더 큰 문제의 일부일 수 있으므로 그 원인을 확인하는 것이 필요합니다.

reconstruct -m이 필요하다는 것을 지정하는 오류 메시지

이 절에서는 reconstruct -m을 실행해야 하는 오류 메시지 유형에 대해 설명합니다.

오류 메시지가 메일함 오류를 나타내면 reconstruct <mailbox>를 실행합니다. 예:

"Invalid cache data for msg 102 in mailbox user/joe/INBOX. Needs reconstruct"

"Mailbox corrupted, missing fixed headers: user/joe/INBOX"

"Mailbox corrupted, start_offset beyond EOF: user/joe/INBOX"

오류 메시지가 데이터베이스 오류를 나타내면 reconstruct -m을 실행합니다. 예:

"Removing extra database logs. Run reconstruct -m soon after startup to resync redundant data"

"Recovering database from snapshot. Run reconstruct -m soon after startup to resync redundant data"

데이터베이스 스냅샷

스냅샷은 데이터베이스의 핫 백업으로 stored에서 손상된 데이터베이스를 몇 분 안에 투명하게 복원하기 위해 사용합니다. 이것은 다른 영역에 저장된 중복된 정보에 의존하는 reconstruct를 사용하는 것보다 훨씬 더 빠릅니다.

메일 저장소 데이터베이스 스냅샷—작동 원리

mboxlist 디렉토리에 있는 데이터베이스의 스냅샷은 기본적으로 24시간에 한 번씩 자동으로 생성됩니다. 스냅샷은 기본적으로 store 디렉토리의 하위 디렉토리에 복사됩니다. 언제든지 기본적으로 다섯 개의 스냅샷(라이브 데이터베이스 하나, 스냅샷 세 개, 데이터 베이스/제거된 복사본 하나)이 있습니다. 데이터베이스/제거된 복사본이 가장 최신 버전이며 mboxlist 데이터베이스 디렉토리의 removed 하위 디렉토리로 보내지는 데이터베이스의 긴급 복사본입니다.

현재 데이터베이스가 손상된 것으로 확인되어 복구 프로세스에서 이를 제거하기로 결정하면 stored는 가능한 경우 해당 데이터베이스를 removed 디렉토리로 이동합니다. 이렇게 하면 필요에 따라 데이터베이스를 분석할 수 있습니다.

데이터 이동은 일주일에 한 번만 발생합니다. 따라서 이미 데이터베이스 복사본이 있는 경우에는 stored에서 저장소를 만들 때마다 데이터베이스 복사본을 교체하지 않습니다. stored는 removed 디렉토리의 데이터가 1주일보다 오래된 경우에만 교체를 수행합니다. 이것은 문제가 있는 원래 데이터베이스가 계속적인 시작으로 인해 너무 빨리 대체되는 것을 방지합니다.

메일 저장소 데이터베이스 스냅샷 간격 및 위치 지정

결합된 데이터베이스와 스냅샷의 5배에 해당하는 공간이 있어야 합니다. 관리자는 스냅샷을 별개의 디스크에서 실행되도록 다시 구성하고 시스템 요구에 맞게 조정하는 것이 좋습니다.

stored가 시작 시에 데이터베이스 문제를 감지할 경우 최적의 스냅샷이 자동으로 복구됩니다. 세 개의 스냅샷 변수는 스냅샷 파일 위치, 스냅샷 촬영 간격, 저장되는 스냅샷 수 등과 같은 매개 변수를 설정할 수 있습니다. 이러한 configutil 매개 변수는 표 18–15에 나와 있습니다.

스냅샷 간격이 너무 작으면 시스템에 자주 부담을 주게 되며 데이터베이스의 문제가 스냅샷으로 복사될 가능성이 더 커집니다. 스냅샷 간격이 너무 크면 스냅샷을 가져왔을 때 갖고 있던 상태를 데이터베이스가 계속 보유하는 상황이 발생할 수 있습니다.

스냅샷 간격으로 1일이 권장되지만 시스템상에 문제가 수일 동안 지속되거나 문제가 존재하기 전의 시점으로 되돌아가려는 경우 일주일 이상의 간격이 유용할 수 있습니다.

stored는 데이터베이스를 모니터하여 데이터베이스가 완전하지 않다고 의심될 경우 최신 스냅샷을 거부하며 그 대신에 가장 안정적인 최신 스냅샷을 검색합니다. 하루 전의 스냅샷을 검색할 수 있다는 사실에도 불구하고 시스템은 보다 최신의 중복 데이터가 있는 경우 이를 사용하며 이전 스냅샷 데이터를 무시합니다.

따라서 스냅샷의 궁극적인 역할은 시스템을 가능한 최신 상태로 유지하고 데이터를 즉석에서 재작성하려고 시도하는 시스템의 나머지 부분에 대한 부담을 줄여 주는 것입니다.

표 18–15 메일 저장소 데이터베이스 스냅샷 매개 변수

매개 변수 

설명 

local.store.snapshotpath

메일 저장소 데이터베이스 스냅샷 파일의 위치입니다. 기존 절대 경로 또는 store 디렉토리에 대한 상대 경로입니다.

기본값: dbdata/snapshots

local.store.snapshotinterval

스냅샷 간격(분)입니다. 유효한값1 - 46080 

기본값: 분일 

local.store.snapshotdirs

보관되는 다른 스냅샷 수입니다. 유효한값2 -367 

기본값: 3