| Termin | Definicja |
|---|---|
| klaster pocztowy | Klaster pocztowy to grupa serwerów obsługujących pocztę wspólnie, zapewniając wydajność i odporność na awarie. Jak działa klaster pocztowyKlaster pocztowy to zestaw co najmniej dwóch serwerów współpracujących przy obsłudze wiadomości elektronicznych. Poszczególne węzły mogą przyjmować pocztę przychodzącą, przekazywać wiadomości dalej, przechowywać skrzynki użytkowników albo udostępniać dostęp do nich przez protokoły IMAP i POP3. W zależności od projektu wszystkie węzły mogą pełnić podobne funkcje albo mieć ściśle określone role. O tym, który serwer otrzyma połączenie, decyduje najczęściej mechanizm równoważenia ruchu, rekordy DNS, adres wirtualny albo dedykowany moduł przekierowujący połączenia. Wymiana poczty między serwerami opiera się przede wszystkim na protokole SMTP. Serwer wysyłający wyszukuje dla domeny odbiorcy rekordy MX w systemie DNS, a następnie nawiązuje połączenie z jednym ze wskazanych serwerów. Kilka rekordów MX może określać różne wartości priorytetu, lecz sam priorytet nie zawsze zapewnia równomierne rozłożenie ruchu. W praktyce klaster może korzystać dodatkowo z mechanizmu health check, który usuwa niedostępny węzeł z puli kierowania połączeń. Odporność na awarię a spójność skrzynekRozdzielenie ruchu na wiele serwerów zwiększa dostępność, ale nie tworzy automatycznie pełnej odporności całego systemu. Jeżeli jeden węzeł przyjmuje wiadomości, a inny udostępnia skrzynki użytkownikom, oba muszą mieć dostęp do właściwego stanu danych. Dotyczy to między innymi kolejek SMTP, katalogów skrzynek, indeksów wiadomości, informacji o dostarczeniu oraz danych uwierzytelniających. Niespójność między węzłami może spowodować opóźnione dostarczanie, wielokrotne próby wysyłki albo widoczność innej zawartości skrzynki zależnie od wybranego serwera. Stosuje się kilka modeli współpracy. W modelu aktywny-aktywny wiele węzłów jednocześnie obsługuje połączenia, a dane są współdzielone lub replikowane. W modelu aktywny-pasywny jeden serwer wykonuje pracę, natomiast drugi przejmuje ją po awarii. Przełączenie może obejmować adres IP, usługę SMTP, dostęp do magazynu wiadomości i mechanizm blokad zapobiegający jednoczesnej modyfikacji tych samych danych. Istotne jest również zachowanie kolejki pocztowej. Wiadomość przyjęta przed awarią powinna pozostać dostępna do dalszego przetwarzania, a nie zniknąć razem z niedostępnym węzłem. Ruch pocztowy, kolejki i mechanizmy kontroliKażdy serwer SMTP utrzymuje kolejkę wiadomości oczekujących na dostarczenie. Gdy serwer docelowy jest niedostępny albo zwraca tymczasowy kod błędu, wiadomość nie powinna być od razu uznana za trwale niedostarczalną. Nadawca może ponawiać próbę zgodnie z lokalną polityką kolejkowania. Trwały błąd, taki jak nieistniejący adres odbiorcy, prowadzi natomiast do odrzucenia wiadomości albo wygenerowania komunikatu zwrotnego. W klastrze trzeba ustalić, czy kolejki są lokalne dla węzłów, czy dostępne wspólnie, ponieważ wpływa to na sposób odtwarzania pracy po awarii. Ważnym elementem jest rozdzielenie funkcji przyjmowania poczty od przechowywania wiadomości. Serwer brzegowy może sprawdzać poprawność połączenia, ograniczać liczbę prób, filtrować ruch i przekazywać zaakceptowaną wiadomość do dalszego węzła. Serwery przechowujące skrzynki odpowiadają za zapis i odczyt danych, a dostęp użytkownika odbywa się zwykle przez IMAP lub POP3, często z szyfrowaniem TLS. Sama obecność kilku adresów IP nie przesądza jeszcze o poprawnym działaniu klastra. Należy sprawdzić zgodność konfiguracji nazw hostów, certyfikatów, tras SMTP, limitów połączeń, zegarów systemowych i zasad ponawiania dostarczenia. Diagnostyka niedostępności i opóźnieńAnalizę klastra pocztowego zaczyna się od ustalenia zakresu problemu. Trzeba rozróżnić brak możliwości połączenia z usługą, odrzucenie wiadomości przez SMTP, opóźnienie wynikające z kolejki oraz problem z odczytem istniejącej skrzynki. Pomocne są kody odpowiedzi SMTP, dzienniki połączeń, identyfikatory wiadomości i informacje o czasie przyjęcia oraz kolejnych próbach dostarczenia. Jeżeli problem występuje tylko przy jednym adresie IP, możliwa jest awaria konkretnego węzła, błędna reguła równoważenia albo różnica konfiguracji między serwerami. W przypadku przełączenia awaryjnego sprawdza się, czy nowy węzeł rzeczywiście przejął wszystkie wymagane role i czy nie pozostały aktywne procesy na poprzednim serwerze. Należy także zweryfikować stan replikacji, dostęp do magazynu wiadomości, blokady plików lub rekordów, poprawność rekordów DNS oraz ważność certyfikatów używanych przez SMTP i protokoły dostępu do skrzynek. Po przywróceniu uszkodzonego węzła nie powinien on od razu otrzymać pełnego ruchu bez synchronizacji danych i testu dostarczania. Dopiero zgodność konfiguracji, brak zaległych błędów w kolejkach i poprawne przejście połączeń między węzłami pozwalają uznać klaster za działający prawidłowo. |