Co tak naprawdę robi automatyczna synchronizacja GAL w Zimbra
Jeśli użytkownicy mogą przeszukiwać globalną listę adresów (GAL), ale nowo utworzone lub zmienione kontakty pojawiają się znacznie później, to zazwyczaj problem nie polega na tym, że „GAL jest wyłączona”. Częściej przyczyną jest to, że konto synchronizacji GAL istnieje, ale interwał odpytywania źródła danych jest zbyt długi, źródło danych jest wyłączone lub ostatnia zaplanowana synchronizacja się nie powiodła.
Aktualny podręcznik administratora Zimbra Daffodil (v10) opisuje GAL jako funkcję dla każdej domeny z trzema trybami: wewnętrznym, zewnętrznym i obydwoma. Konto synchronizacji GAL przechowuje zsynchronizowane kontakty GAL w książce adresowej, co pozwala klientom na szybsze automatyczne uzupełnianie i przeglądanie. Zimbra zauważa również, że jeśli konto synchronizacji GAL jest niedostępne, system może powrócić do tradycyjnego wyszukiwania opartego na protokole LDAP. To rozróżnienie ma znaczenie: udane wyszukiwanie nie dowodzi, że zaplanowana synchronizacja GAL jest prawidłowa.
Odniesienie: Zimbra Daffodil v10 Administrator Guide .
Przed wprowadzeniem jakichkolwiek zmian zidentyfikuj aktualny tryb GAL i zsynchronizuj konto
Uruchom polecenia administracyjne jako zimbraużytkownik systemu operacyjnego:
su - zimbra
zmprov gd example.com | egrep 'zimbraGalMode|zimbraGalMaxResults|zimbraGalAccountId'
Zastąp example.comrzeczywistą domeną Zimbra. Pierwszym użytecznym wynikiem jest tryb GAL:
- Wewnętrzne : dane GAL pochodzą z katalogu Zimbra LDAP.
- Zewnętrzne : wyszukiwanie GAL i synchronizacja korzystają z zewnętrznego katalogu LDAP, takiego jak Active Directory.
- Oba : Zimbra łączy wewnętrzne i zewnętrzne źródła GAL.
Częste nieporozumienie: tryb GAL i synchronizacja GAL to nie to samo ustawienie. Tryb GAL informuje Zimbrę, skąd pochodzą informacje katalogowe. Automatyczna synchronizacja jest kontrolowana przez źródło danych GAL i jego interwał odpytywania. Działanie: najpierw potwierdź tryb domeny, a następnie sprawdź źródło danych, zamiast zmieniać niezwiązane z tym ustawienia autouzupełniania.
Przed edycją harmonogramu sprawdź źródło danych synchronizacji GAL
Jeśli domena ma już konto synchronizacji GAL, wymień jego źródła danych:
zmprov gds galsync@example.com
Szukaj wartości takich jak:
zimbraDataSourceName: InternalGAL
zimbraDataSourceEnabled: TRUE
zimbraDataSourcePollingInterval: 1d
zimbraGalLastSuccessfulSyncTimestamp: ...
zimbraGalLastFailedSyncTimestamp: ...
zimbraGalStatus: enabled
Dokładna nazwa źródła danych może być inna. InternalGALjest powszechną nazwą wewnętrznego źródła danych; zewnętrzne źródło danych może nazywać się ExternalGAL, ADGAL, lub inaczej, jak wybierze administrator.
Dokumentacja Centrum Technicznego Zimbra pokazuje, że interwał sondowania źródła danych określa częstotliwość automatycznych importów. W Podręczniku administratora wersji 10 podano również, że interwał może być wyrażony w dniach, godzinach, minutach lub sekundach i jest ustawiany dla każdego źródła danych.
Odnośnik: Zimbra Tech Center: Konto GAL Sync .
Ustaw praktyczny interwał sondowania GAL
Aby zmienić istniejące źródło danych i synchronizować je raz na godzinę:
zmprov mds galsync@example.com InternalGAL zimbraDataSourcePollingInterval 1h
Inne przykłady obejmują 30m, 12hlub 1d. W opublikowanej dokumentacji schematu Zimbra używane są jednostki czasu trwania, takie jak h, m, si d.
Krótszy interwał nie oznacza automatycznie lepszego wyniku. W przypadku małego katalogu wewnętrznego, godzina może być rozsądnym rozwiązaniem. W przypadku dużego zewnętrznego katalogu LDAP lub usługi Active Directory podłączonej do sieci WAN, agresywne sondowanie może generować niepotrzebne obciążenie katalogu i serwera skrzynek pocztowych. Działanie: wybierz interwał w zależności od tego, jak szybko muszą pojawić się zmiany w katalogu i jak kosztowna jest pełna lub przyrostowa synchronizacja w Twoim środowisku.
Częste nieporozumienie: forceSync nie konfiguruje automatycznej synchronizacji. Rozpoczyna natychmiastową synchronizację. Harmonogram cykliczny pochodzi z zimbraDataSourcePollingInterval. Działanie: najpierw ustaw interwał, a następnie użyj wymuszonej synchronizacji, aby natychmiast zweryfikować konfigurację.
Wymuś jedną synchronizację w celu sprawdzenia konfiguracji
Po ustawieniu interwału należy uruchomić natychmiastową synchronizację:
zmgsautil forceSync -a galsync@example.com -n InternalGAL
Użyj dokładnej nazwy źródła danych zwróconej przez zmprov gds. Oficjalna dokumentacja Centrum Technicznego Zimbra używa tego polecenia zarówno w przypadku wewnętrznych, jak i zewnętrznych źródeł danych GAL.
Następnie ponownie sprawdź źródło danych:
zmprov gds galsync@example.com | egrep 'zimbraDataSourceName|zimbraDataSourceEnabled|zimbraDataSourcePollingInterval|zimbraGalLastSuccessfulSyncTimestamp|zimbraGalLastFailedSyncTimestamp|zimbraGalStatus'
Przydatny wynik weryfikacji to nie tylko „polecenie zwrócone bez oczywistego błędu”. Powinieneś zobaczyć ostatni znacznik czasu pomyślnej synchronizacji, włączone źródło danych, oczekiwany interwał sondowania i brak nowszego znacznika czasu nieudanej synchronizacji, który wskazywałby na powtarzające się błędy operacji.
Jak skonfigurować automatyczną synchronizację GAL z poziomu konsoli administracyjnej
W przypadku nowej lub rekonfigurowanej domeny obsługiwana ścieżka graficzna w Zimbra v10 przebiega przez konfigurację GAL domeny:
- Otwórz konsolę administracyjną Zimbra.
- Przejdź do Konfiguruj → Domeny .
- Wybierz wymaganą domenę.
- Otwórz Konfiguruj GAL z poziomu działań domeny.
- Wybierz opcję Wewnętrzny , Zewnętrzny lub Oba , zależnie od potrzeb.
- Potwierdź nazwy konta synchronizacji GAL i źródeł danych.
- Ustaw interwał sondowania GAL.
- Zakończ działanie kreatora i użyj go,
zmgsautil forceSyncjeśli potrzebujesz natychmiastowego testu.
W Podręczniku administratora wersji 10 wyraźnie zaznaczono, że gdy tryb GAL jest ustawiony na Oba , dla każdego źródła danych LDAP tworzona jest książka adresowa. Ostrzega on również administratorów, aby nie edytowali tych zsynchronizowanych książek adresowych bezpośrednio, ponieważ synchronizacja może nadpisać zmiany wprowadzone ręcznie. Działanie: należy wprowadzać zmiany w katalogach w autorytatywnym źródle LDAP, a nie w książce adresowej wygenerowanej przez konto synchronizacji GAL.
Co się stanie, jeśli konto synchronizacji GAL nie istnieje?
W przypadku nowych wdrożeń należy w miarę możliwości korzystać z Konsoli administracyjnej, ponieważ pozwala ona zachować spójność domeny, konta GAL i relacji ze źródłem danych.
Centrum techniczne Zimbra dokumentuje również tworzenie CLI za pomocą zmgsautil createAccount. Udokumentowany przykład wewnętrznej GAL to:
zmgsautil createAccount -a galsync@example.com -n InternalGAL --domain example.com -s mailstore.example.com -t zimbra -f _InternalGAL
Opcja mailbox -s-server jest udokumentowana dla ZCS 8 i nowszych wersji w artykule Centrum Technicznego. Ponieważ dokładne zachowanie wiersza poleceń może się różnić w zależności od wersji i pakietu, zmgsautilprzed utworzeniem nowego konta należy sprawdzić pomoc na zainstalowanym serwerze, zamiast kopiować stare polecenie bezmyślnie.
Powszechne nieporozumienie: usunięcie uszkodzonego konta GAL za pomocą ogólnego polecenia usunięcia konta nie jest równoznaczne z usunięciem go za pomocą narzędzia GAL. Centrum techniczne Zimbra ostrzega, że nieprawidłowe usunięcie konta GAL może spowodować, że domena będzie nadal zimbraGalAccountIdwskazywać na nieprawidłowe konto. Działanie: jeśli naprawdę musisz usunąć i ponownie utworzyć konto GAL, postępuj zgodnie z udokumentowaną zmgsautil deleteAccountprocedurą, zamiast traktować je jak zwykłe konto pocztowe.
Odnośnik: Zimbra Tech Center: usuwanie, tworzenie i wymuszanie synchronizacji konta GAL .
Zewnętrzny LDAP lub Active Directory: co się zmienia?
W przypadku zewnętrznej listy GAL zaplanowanym mechanizmem jest nadal interwał sondowania źródła danych GAL, ale pomyślna synchronizacja zależy również od zewnętrznej konfiguracji LDAP: adresu URL serwera, nazwy wyróżniającej powiązania, hasła powiązania, bazy wyszukiwania i filtru.
Zimbra dokumentuje, że pierwsze zewnętrzne źródło danych może odziedziczyć konfigurację GAL z domeny. Dodatkowe źródła danych można skonfigurować z własnymi ustawieniami połączenia LDAP. Jeśli synchronizacja zewnętrzna się nie powiedzie, skrócenie interwału sondowania nie rozwiąże problemu błędnego hasła powiązania, nieosiągalnego hosta LDAP, nieprawidłowej bazy wyszukiwania, problemu z TLS ani filtra wykluczającego oczekiwanych użytkowników.
Działanie: jeśli forceSyncsię nie powiedzie, sprawdź połączenie z katalogiem zewnętrznym i przefiltruj je przed dalszym skróceniem interwału.
Jak sprawdzić, czy automatyczna synchronizacja rzeczywiście działa
Po konfiguracji skorzystaj z tej krótkiej listy kontrolnej:
| Sprawdzać | Zdrowy znak | Jeśli nie jest zdrowy |
| Źródło danych włączone | zimbraDataSourceEnabled: TRUE | Przed zmianą czasu włącz lub napraw źródło danych. |
| Interwał sondowania | Zgadza się z zamierzoną wartością, taką jak1h | Popraw to za pomocą zmprov mds. |
| Ręczna synchronizacja sił | Zakończono bez błędu | Zbadaj źródło danych lub konfigurację LDAP. |
| Znak czasu pomyślnej synchronizacji | Aktualizacje po wymuszonej synchronizacji | Sprawdź logi serwera i ustawienia źródła danych. |
| Nowy wpis do katalogu | Pojawia się po kolejnym zaplanowanym cyklu | Porównaj źródłowe dane LDAP, znaczniki czasu i filtrowanie. |
Nie należy używać wyłącznie funkcji autouzupełniania jako jedynej kontroli stanu. Ponieważ Zimbra może powrócić do wyszukiwania w GAL opartego na LDAP, gdy konto synchronizacji jest niedostępne, użytkownicy mogą nadal znaleźć nazwy, nawet gdy zaplanowana synchronizacja książki adresowej GAL jest nieaktualna.
Rozwiązywanie problemów w sytuacji, gdy harmonogram wydaje się poprawny, ale dane pozostają nieaktualne
Sprawdź, czy występuje znacznik czasu nieudanej synchronizacji
Jeśli zimbraGalLastFailedSyncTimestampjest nowszy niż ostatni pomyślny znacznik czasu, harmonogram może działać poprawnie, ale źródło danych ulega awarii. To nie to samo, co „automatyczna synchronizacja jest wyłączona”. Działanie: rozwiąż problemy ze źródłem danych zamiast wielokrotnie zmieniać interwał sondowania.
Sprawdź dzienniki skrzynki pocztowej w związku z próbą synchronizacji
Dokumenty Zimbra /opt/zimbra/log/mailbox.logstanowią główny dziennik aktywności Mailboxd. Można ich używać do korelowania błędów w czasie wymuszonej lub zaplanowanej operacji GAL:
tail -f /opt/zimbra/log/mailbox.log
W przypadku systemu produkcyjnego należy unikać włączania szerokiego rejestrowania debugowania, chyba że jest to konieczne i rozumiesz potrzebę dodatkowej objętości rejestrowania.
Sprawdź nakładające się źródła danych, jeśli widzisz zduplikowane kontakty
Zimbra zauważa, że wiele źródeł danych GAL z nakładającymi się zakresami wyszukiwania może importować zduplikowane wpisy; system nie uzgadnia tych duplikatów automatycznie. Działanie: zawęź bazę wyszukiwania LDAP lub przefiltruj, aby każde źródło danych miało jasny zakres, a następnie uruchom nową synchronizację.
Nie zmieniaj nazwy istniejącego konta synchronizacji GAL
W aktualnym Podręczniku administratora Zimbra v10 podano, że zmiana nazwy po utworzeniu może przerwać synchronizację. Aby zmienić nazwę, usuń i utwórz ponownie konfigurację GAL, korzystając z obsługiwanej procedury. Działanie: pozostaw niezmienioną nazwę działającego konta synchronizacji GAL, chyba że istnieje realny powód operacyjny, aby ją odbudować.
Zalecany wzór konfiguracji
W przypadku typowego wdrożenia w jednej domenie niezawodnym podejściem jest:
- Zachowaj właściwy tryb GAL dla architektury katalogowej.
- Użyj dedykowanego konta synchronizacji GAL utworzonego za pomocą procesu konfiguracji GAL w systemie Zimbra.
- Pozostaw każde źródło danych włączone.
- Ustaw interwał sondowania odpowiadający akceptowalnemu opóźnieniu zmiany katalogu.
- Używać
zmgsautil forceSyncwyłącznie do natychmiastowej weryfikacji lub rozwiązywania problemów.
- Potwierdź powodzenie za pomocą znaczników czasu źródła danych, a nie tylko za pomocą funkcji automatycznego uzupełniania użytkownika.
- W przypadku zewnętrznego protokołu LDAP łączność, powiązane dane uwierzytelniające, bazę wyszukiwania i filtry traktuj jako osobne zależności.
Jeśli te kontrole zakończą się powodzeniem, Zimbra powinna zaktualizować książkę adresową synchronizacji GAL zgodnie ze skonfigurowanym harmonogramem. Jeśli znaczniki czasu przestaną się przesuwać lub wymuszona synchronizacja się nie powiedzie, kolejnym krokiem nie jest skrócenie odstępu, ale zidentyfikowanie błędu źródła danych lub LDAP, który uniemożliwia ukończenie zaplanowanego zadania.