고 가용성 Postfix 시스템을 구축하는 방법은 무엇입니까?


12

postfix 서버에 대한 원격 미러를 설정해야합니다 (두 메일 서버의 내용은 언제든지 동일해야 함).

기본 서버가 어느 시점에 다운되면 미러 서버가 대신 사용되고 새 수신 메일을 관리하며, 전자 메일 서버가 다시 시작되면 새 전자 메일로 업데이트하여 반환합니다. 새로운 수신 메일을 관리하는 컨트롤입니다.

메일 서버는 다른 위치 (예 : maindomain.com, themirrorsite.com)에 호스팅됩니다.

간단한 백업 서버를 얻는 것은 그리 어렵지 않습니다.

그러나 문제는이 구성이 백업 사이트를 기본 메일 서버의 완전한 미러로 만들지 않는다는 것입니다 (메인 서버가 다운 된 동안받은 전자 메일 만 보관함).

필요한 구성을 달성 할 수있는 방법이 있습니까?

답변:


22

달성하려는 결과와이를 결정한 방식은 매우 다릅니다. 솔직히 말해서 구현하고자하는 것은 나쁜 생각이며 어떻게 든 작동하게 할 수 있다면 오랫동안 작동하지 않을 것입니다.

이 질문에 대답하기 어려운 것은 구현에 직접 뛰어 들어 환경이나 실제로 달성하려는 것에 대해 설명하지 않은 입니다. 그렇게하지 마십시오. "작업 결과"를 표시하면 더 나은 결과를 얻을 수 있습니다.

그래도 가능하고 실용적이며 유용한 것을 맛볼 수 있도록 몇 가지 시나리오를 제시하겠습니다.

  • 메일이 손실되지 않도록 보장: (필자가 참조하는 문서가 적절하게 설명되어 있으므로 이것이 필요한 것이라고 생각하지 않습니다.) 여기에서 원하는 것은 메일 배달 및 관리 인프라가 다운 된 시간에 관계없이 보장하지 않습니다. 메일을 반송하고 배달시기를 제어 할 수 있습니다. 이를 위해 "간단한"오프 사이트 백업 MX가 적절하게 작동합니다. 많은 데이터를 백업 (모든 스팸 방지 논리, 유효한 사용자 / 별칭 정보로 복제하여 SMTP 시간에 잘못된 메일을 올바로 반송 할 수 있기 때문에 이러한 종류의 항목)을 복제해야하기 때문에 "단순"이라고 말하지만 모두 스크립트 가능 , 약간의주의를 기울여서 자동화 할 수 있고 상당히 사소한 구현이 가능합니다. 모든 메일을 대기열에 넣을 수있는 디스크가 충분하다면
  • 전체 메일 시스템 가용성 보장 : 원하는대로 들리지만 간단하지는 않습니다. 기본적으로 전체 사이트 장애가 발생한 경우 사용자에게 "전체"메일 서비스를 제공 할 수 있기를 원합니다. 원칙적으로 복제는 즉각적이지 않기 때문에 실제로는 불가능하지만 최소한 합리적인 수준의 안정성에 도달 할 수 있습니다. 어려운 점은 MTA가 아닙니다. 그것은 메일 저장소 자체입니다. 모든 메일 저장 작업 (새 메일 배달, 메시지 상태 변경, 삭제)을 거의 실시간으로 두 번째 사이트에 복제하는 방법을 알아 내야합니다. . 주기적 rsync의 저렴한 옵션을 사용할 수 있습니다 (마지막 rsync 이후에 수행 된 모든 작업이 영원히 사라질 위험이 있음)장애 조치가 필요한 경우) 또는 다양한 파일 또는 블록 수준 복제 기술을 사용하여 거의 실시간으로 동기화를 시도하고 유지합니다 (훨씬 더 복잡한 구성 및 운영 대신 데이터 손실량 감소) . 일부 메일 시스템은 일종의 내장 복제 기능을 지원하므로보다 쉽게 ​​사용할 수 있습니다. 그리고 저기 실패의 모든 문제는, 그리고 당신이 그렇게하고 실패 어떻게 다시 열심히 다시이며, 마지막으로 당신은 OS가 당신이 한 업그레이드 할 것을 보장하기 위해 주기적으로 테스트 할 수있어 다시는하지 않았다 동안 뭐든지 ...

기본적으로 후자의 옵션은 고통스럽고 성가시다. 내가 개인적으로 선호하는 것, 당신이 그것을 벗어날 수 있다면 (그리고 얼마나 자주 당신이 할 수 있는지에 놀랐을 것입니다) 당신이 정말로 좋고 튼튼한 바구니를 얻었는지 확인한 후에 모든 계란을 한 바구니에 넣는 것입니다 (적절한 시스템 공학 ), 바구니 패치 및 도구를 준비하고 ( 높은 복구성에 중점을 둡니다 ) 사람들이 가끔씩 몇 개의 알이 부러 질 수 있으며 실제로 미안하지만 인생이 완벽하지 않다는 것을 사람들이 알도록 보장 (합리적이지 않은 SLA 보증을하지 마십시오).

초고 가용성이 필요할 때가 있으며이를 보장하는 시스템을 구축했지만 간단하지 않으며 많은 경우 비용 효율적이지 않으므로 여기에 있습니다. 그렇습니다. HA는 시원하고 섹시하며, 복잡성의 우뚝 솟은 괴물을 짓는 것에 대한 괴짜를 얻지 만 우리는 자존심을 쓰지 않습니다. 우리는 비즈니스 가치를 제공하기 위해 왔습니다. 죄송합니다. Rube Goldberg의 고 가용성 멀티 사이트 메일 클러스터는 단순하고 강력한 메일 서비스 및 가끔 "우리"만큼 가치를 제공하지는 않습니다. 메일 중단에 대해 유감스럽게 생각합니다. 1 시간 후에 시스템을 다시 사용할 수있게 되었으니 언제든지 커피와 머핀을 보내 주시기 바랍니다. "


2
나 자신에게 더 잘 말할 수 없었습니다.
voretaq7

4
+1 만 제공 할 수있어서 죄송합니다
mailq

NAS가 기본적으로 메일 저장 및 동기화 문제를 해결한다고 생각하지 않습니까? 특히 메일 저장소가 커지고 수많은 도메인에 대한 메일을 호스팅하는 경우에 특히 그렇습니다.
어니

아니요, NAS는 전체 문제의 약 5 %이며 성능과 확장성에 나쁜 영향을 미칩니다.
울다

1

MX DNS 장애 조치 + 데이터 복제 시스템을 통해이를 달성 할 수 있습니다.

MX 장애 조치 : 메일 서버 2 대, 백업 서버 1 개의 DNS 구성에 대한 도움이 필요합니다.

데이터 복제 : http://www.drbd.org/docs/install/

-$


drbd가 동일한 LAN에 있지 않은 서버에서 작동합니까? 주 서버와 페일 오버 서버는 인터넷을 통해서만 통신해야하므로이 경우 제대로 작동하는지 확실하지 않습니다.
VanHackman

DRBD에는 WAN 복제를 크게 개선하는 독점 프록시 제품이 있습니다. 저렴하지 않으며 모든 곳을 최신 상태로 유지한다고 보장하지는 않습니다.
울림

1

비슷한 솔루션을 달성하기 위해 dbmail 을 사용 했습니다 . dbmail은 모든 이메일을 데이터베이스에 저장합니다. 이메일이 원격 위치에 저장되도록 데이터베이스 복제를 설정할 수 있습니다. 데이터베이스와 이메일을 관리해야하므로 메일 시스템 관리가 더 복잡해집니다.


0

Postfix 복제는 Postfix가 기본적으로 지원하지 않는다고 생각합니다. 다른 사람들이 사용하는 솔루션은 분산 파일 시스템을 사용하여 서버간에 Postfix 데이터 파일을 복제하는 것입니다.


3
미러링 Postfix는 쉬운 것입니다. 그러나 그것은 문제가 아닙니다. 어려운 점은 메일 저장소 (mbox 또는 Maildir)를 동기화하는 방법입니다. IMAP 용 NFS에 메일을 저장하는 것은 거의 불가능하며 단일 실패 지점을 다시 발생시킵니다.
mailq
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.