Làm thế nào để xây dựng một hệ thống Postfix có tính sẵn sàng cao?


12

Tôi cần thiết lập một máy nhân bản từ xa cho máy chủ postfix (trong đó nội dung của cả hai máy chủ mail sẽ giống nhau bất cứ lúc nào).

Ý tưởng là nếu máy chủ chính ngừng hoạt động vào một lúc nào đó, máy chủ nhân bản sẽ thay thế nó, quản lý các thư đến mới và khi máy chủ email xuất hiện trở lại, nó sẽ cập nhật nó với e-mail mới và trả lại đó là kiểm soát để quản lý các thư đến mới.

Các máy chủ thư sẽ được lưu trữ ở những nơi khác nhau (ví dụ maindomain.com, themirrorsite.com).

Có được một máy chủ sao lưu đơn giản dường như không quá khó:

Nhưng vấn đề là cấu hình này sẽ không làm cho trang web sao lưu trở thành một bản sao hoàn chỉnh của máy chủ thư chính (nó sẽ chỉ giữ các e-mail nhận được trong khi máy chủ chính bị hỏng).

Có cách nào để đạt được cấu hình cần thiết?

Câu trả lời:


22

Kết quả bạn muốn đạt được, và cách mà bạn đã quyết định thực hiện nó, là những điều rất khác nhau. Nói thẳng ra, những gì bạn muốn thực hiện là một ý tưởng tồi và nếu bạn bằng cách nào đó có thể quản lý để làm cho nó hoạt động, nó sẽ không hoạt động trong thời gian dài (hoặc rất tốt).

Điều khiến câu hỏi này khó trả lời là bạn đã đi thẳng vào thực hiện và không mô tả bất cứ điều gì hữu ích về môi trường của bạn hoặc những gì bạn đang cố gắng thực sự đạt được. Xin đừng làm vậy, bạn sẽ nhận được nhiều kết quả tốt hơn ở đây nếu bạn "thể hiện công việc của mình".

Tuy nhiên, hãy để tôi đặt ra một vài tình huống để cung cấp cho bạn một hương vị của những gì có thể, thiết thực và hữu ích:

  • Đảm bảo không có thư bị mất: (Tôi không nghĩ rằng đây là những gì bạn cần, vì tài liệu bạn đề cập đến bao gồm đầy đủ) Tất cả những gì bạn muốn có ở đây là đảm bảo rằng bất kể cơ sở hạ tầng chuyển phát và quản lý thư của bạn mất bao lâu, bạn sẽ không trả lại bất kỳ thư nào và bạn có thể kiểm soát khi giao hàng được thực hiện. Đối với điều này, một MX sao lưu ngoài trang web "đơn giản" sẽ hoạt động đầy đủ. Tôi nói "đơn giản" vì bạn cần sao chép nhiều dữ liệu vào bản sao lưu (tất cả logic chống spam, thông tin người dùng / bí danh hợp lệ để bạn có thể trả lại thư không hợp lệ tại thời điểm SMTP, nhưng đó là tất cả có thể viết được , tự động hóa, và thực hiện khá tầm thường với một chút quan tâm. Miễn là bạn có đủ đĩa để xếp hàng tất cả thư,
  • Đảm bảo tính sẵn sàng của hệ thống thư đầy đủ : Nghe có vẻ như đây là những gì bạn muốn, nhưng nó không đơn giản hay đẹp mắt. Về cơ bản, bạn muốn có thể cung cấp dịch vụ thư "đầy đủ" cho cơ sở người dùng của mình trong trường hợp trang web bị lỗi hoàn toàn. Về nguyên tắc, điều này thực sự là không thể, vì sao chép không phải là tức thời, nhưng ít nhất bạn có thể đạt đến mức độ tin cậy hợp lý. Mặc dù vậy, khó khăn không phải là MTA; Đó là cửa hàng thư. Bạn sẽ cần tìm ra cách sao chép tất cả các hoạt động lưu trữ thư (gửi thư mới, thay đổi trạng thái thư, xóa) sang trang thứ hai trong thời gian gần - và thực hiện cả hai cách, tùy thuộc vào trang web nào đang hoạt động . Bạn có thể sử dụng tùy chọn giá rẻ, của rsync định kỳ (với rủi ro là mọi thứ được thực hiện kể từ rsync cuối cùng sẽ biến mất vĩnh viễnnếu bạn cần chuyển đổi dự phòng) hoặc sử dụng các kỹ thuật sao chép cấp độ tệp hoặc khối khác nhau để thử và giữ mọi thứ không đồng bộ trong thời gian thực (giảm lượng mất dữ liệu để đổi lấy cấu hình và hoạt động phức tạp hơn đáng kể) . Một số hệ thống thư có hỗ trợ cho một số loại sao chép tích hợp, có thể giúp cuộc sống dễ dàng hơn. Sau đó, có toàn bộ vấn đề thất bại, và làm thế nào để bạn làm điều đó, và sau đó lại thất bại , điều đó khó hơn một lần nữa, và cuối cùng bạn phải kiểm tra định kỳ, để đảm bảo rằng nâng cấp hệ điều hành mà bạn đã làm trước đó không phá vỡ bất cứ điều gì ...

Về cơ bản, tùy chọn thứ hai là đau đớn và khó chịu. Sở thích cá nhân của tôi, nếu bạn có thể thoát khỏi nó (và bạn sẽ ngạc nhiên về mức độ thường xuyên có thể) là đặt tất cả trứng vào một giỏ, sau khi chắc chắn rằng bạn đã có một giỏ thực sự tốt, chắc chắn (kỹ thuật hệ thống phù hợp ), giữ sẵn một số miếng vá và dụng cụ trong giỏ (tập trung vào Khả năng phục hồi cao ) và đảm bảo rằng mọi người biết rằng thỉnh thoảng , một vài quả trứng có thể bị vỡ và bạn thực sự xin lỗi nhưng cuộc sống không hoàn hảo (không đảm bảo SLA không hợp lý).

Đôi khi bạn cần tính sẵn sàng cực cao và tôi đã xây dựng các hệ thống đảm bảo điều đó, nhưng chúng không đơn giản và trong nhiều trường hợp chúng không hiệu quả về chi phí, đó là những gì chúng tôi đang ở đây. Vâng, HA rất ngầu và gợi cảm, và bạn có được sự tin tưởng khi xây dựng một số quái vật phức tạp cao chót vót, nhưng chúng tôi không ở đây để vuốt ve bản ngã của chúng tôi. Chúng tôi ở đây để cung cấp giá trị doanh nghiệp và tôi xin lỗi, nhưng cụm thư đa trang web có tính sẵn sàng cao của Rube Goldberg dường như không cung cấp nhiều giá trị như một dịch vụ thư đơn giản, mạnh mẽ và thỉnh thoảng "chúng tôi" Xin lỗi vì đã hết thư, chúng tôi sẽ có hệ thống hoạt động trở lại sau một giờ, xin vui lòng để chúng tôi có một tách cà phê và bánh nướng xốp cho chúng tôi ".


2
Không thể nói nó tốt hơn bản thân mình.
voretaq7

4
Xin lỗi vì tôi chỉ có thể cung cấp một +1
mailq

Tôi nghĩ rằng một NAS về cơ bản giải quyết vấn đề lưu trữ và đồng bộ hóa thư, phải không? Đặc biệt là nếu cửa hàng thư của bạn lớn và bạn đang lưu trữ thư cho nhiều tên miền.
Ernie

Không, một NAS chiếm khoảng 5% toàn bộ vấn đề và nó làm những điều tồi tệ đối với hiệu suất và khả năng mở rộng của bạn.
womble

1

Bạn có thể đạt được điều này bằng cách chuyển đổi dự phòng DNS + hệ thống sao chép dữ liệu.

Đối với chuyển đổi dự phòng MX: Hai máy chủ thư, cần trợ giúp với cấu hình dns cho bản sao lưu

Để sao chép dữ liệu: http://www.drbd.org/docs/install/

- $


Drbd sẽ làm việc với các máy chủ không cùng mạng LAN? Máy chủ chính và máy chủ bị lỗi chỉ nên liên lạc qua internet, vì vậy tôi không chắc liệu nó có hoạt động trong trường hợp đó không.
VanHackman

DRBD có một sản phẩm proxy độc quyền giúp cải thiện đáng kể sự sao chép của mạng WAN; Nó không rẻ, và nó không được đảm bảo để giữ cho mọi thứ được cập nhật ở mọi nơi.
womble

1

Tôi đã sử dụng dbmail để thực hiện một giải pháp tương tự. dbmail lưu trữ tất cả các email trong cơ sở dữ liệu. Bạn có thể thiết lập sao chép cơ sở dữ liệu để đảm bảo rằng email của bạn cũng được lưu trữ ở vị trí từ xa. Nó làm cho việc quản lý hệ thống thư trở nên phức tạp hơn khi bạn phải quản lý cơ sở dữ liệu cũng như email.


0

Những gì bạn muốn là sao chép Postfix, mà tôi không nghĩ Postfix hỗ trợ nguyên bản. Giải pháp tôi thấy người khác đang sử dụng là sao chép tệp dữ liệu Postfix giữa các máy chủ bằng hệ thống tệp phân tán.


3
Phản chiếu Postfix là một trong những dễ dàng. Nhưng đó không phải là vấn đề. Điều khó khăn là làm thế nào để đồng bộ hóa lưu trữ thư (mbox hoặc Maildir). Lưu trữ thư trên NFS cho IMAP là gần như không thể và dẫn đến việc lại gặp phải một điểm lỗi.
mailq
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.