| Termin | Definicja |
|---|---|
| Dodawanie replik | Dodawanie replik to proces rozszerzania grupy dostępności Always On o kolejny serwer pomocniczy. Dodawanie replik w grupie dostępności Always OnDodawanie replik oznacza rozszerzenie istniejącej konfiguracji wysokiej dostępności o kolejny serwer uczestniczący w obsłudze tej samej bazy danych. Taka replika może przejmować rolę pomocniczą, odczytywać kopię danych, przyjmować połączenia kierowane do odczytu albo stać się miejscem przełączenia po wystąpieniu problemu z podstawową instancją. Nie chodzi więc wyłącznie o skopiowanie plików bazy. Potrzebne jest włączenie nowego uczestnika do całego mechanizmu współpracy, obejmującego instancje SQL Server, endpointy komunikacyjne, certyfikaty lub inne ustawienia uwierzytelniania, tryb synchronizacji oraz reguły przełączania ról. W praktyce proces zaczyna się od sprawdzenia, czy nowy serwer spełnia wymagania wersji SQL Server, edycji systemu, poziomu poprawek, konfiguracji sieciowej i dostępu do wspólnych zasobów. Należy zweryfikować zgodność baz, stan istniejącej grupy dostępności, dostępność miejsca na pliki danych i dzienniki transakcji oraz możliwość komunikowania się instancji na wymaganych portach. Istotne jest także ustalenie, czy replika ma być synchroniczna, czy asynchroniczna. To ustawienie wpływa na bezpieczeństwo danych, opóźnienia zapisu i sposób wykorzystania nowego serwera. Po przygotowaniu środowiska wykonuje się dołączenie repliki do grupy dostępności, a następnie dodaje bazy, które mają być przez nią obsługiwane. Sama obecność instancji na liście uczestników nie oznacza jeszcze poprawnego działania. Dla każdej bazy trzeba potwierdzić rozpoczęcie przesyłania zmian, zgodność punktu synchronizacji oraz prawidłowy stan seeding, czyli początkowego zasilenia kopii. W zależności od rozmiaru baz i dostępnej przepustowości początkowa kopia może być przygotowana automatycznie albo odtworzona z wcześniej wykonanych kopii zapasowych. Dodawanie replik a synchronizacja i tryby pracyReplika synchroniczna potwierdza zapis dopiero po przekazaniu zmiany do drugiej instancji. Ogranicza to ryzyko utraty ostatnich transakcji przy awarii, ale może zwiększyć czas oczekiwania na operacje zapisu, zwłaszcza gdy połączenie między lokalizacjami ma duże opóźnienia lub niestabilne parametry. Replika asynchroniczna przekazuje zmiany bez oczekiwania na pełne potwierdzenie, dlatego zwykle lepiej toleruje odległe połączenia i większy dystans między serwerami. W zamian może wystąpić opóźnienie, a przy nagłej awarii część jeszcze nieprzekazanych zmian może wymagać odtworzenia z innych źródeł. Warto odróżnić replikę przeznaczoną do odczytu od repliki przeznaczonej do przejęcia roli podstawowej. Nie każda kopia powinna obsługiwać zapytania użytkowników, ponieważ odczyty mogą konkurować o procesor, pamięć, przepustowość dysków i dostęp do dziennika. Możliwe jest także wykorzystanie routingu odczytu, dzięki któremu aplikacja kieruje określone zapytania do właściwego uczestnika grupy. Taki model wymaga jednak poprawnego ustawienia list routingu, aliasów połączeń i zachowania aplikacji po zmianie roli. Dodanie repliki różni się od klasycznej kopii zapasowej. Kopia zapasowa jest punktem odtworzenia i służy przede wszystkim do odzyskiwania danych po błędzie logicznym, usunięciu tabeli lub uszkodzeniu plików. Replika utrzymuje bieżącą kopię i może uczestniczyć w przełączeniu obsługi, ale nie zastępuje pełnej strategii backupu. Nie chroni również przed każdą pomyłką użytkownika, ponieważ niepożądana zmiana może zostać szybko przekazana do wszystkich uczestników. Dlatego po dodaniu repliki nadal potrzebne są regularne kopie pełne, różnicowe i dziennika transakcji, a także okresowe testy odtwarzania. W porównaniu z pojedynczą instancją rozwiązanie z replikami oferuje większą odporność na awarię jednego elementu, lecz wymaga bardziej dokładnego nadzoru. Pojawia się więcej zależności: stan połączeń, kolejka logów, czas przesyłania zmian, dostępność miejsca, zgodność certyfikatów i poprawność nazw używanych przez aplikacje. Rozszerzenie grupy powinno więc wynikać z konkretnej potrzeby, a nie tylko z chęci zwiększenia liczby uczestników. Dodawanie replik przy typowych problemachJednym z częstych problemów jest brak możliwości dołączenia nowego uczestnika mimo pozornie poprawnej konfiguracji. Przyczyną bywa niezgodna wersja instancji, niedopasowana edycja SQL Server, brak wymaganej funkcji, nieprawidłowy poziom poprawek albo różnica w konfiguracji systemowej. Przed ponowieniem operacji należy odczytać komunikat błędu, dzienniki SQL Server oraz stan endpointu komunikacyjnego. Wielokrotne uruchamianie tej samej czynności bez usunięcia przyczyny może pozostawić niepełne obiekty konfiguracyjne i utrudnić późniejszą diagnostykę. Inna grupa problemów dotyczy połączeń. Zapora sieciowa może blokować ruch między instancjami, nazwa komputera może wskazywać nieaktualny adres, a konto używane przez usługę może nie mieć dostępu do zasobów. Należy sprawdzić rozwiązywanie nazw, kierunek komunikacji, reguły zapory, certyfikaty oraz uprawnienia kont usługowych. Sam test połączenia do portu nie zawsze wystarcza, ponieważ poprawna komunikacja aplikacyjna wymaga także prawidłowej autoryzacji endpointu. Po dodaniu repliki może pojawić się stan synchronizacji zalegającej albo wstrzymanej. Powodem może być wolny dysk, zbyt mała ilość pamięci, przeciążenie procesora, opóźnienia sieciowe, duża liczba zmian w bazie lub zbyt mała przestrzeń na dziennik transakcji. Pomocne jest porównanie czasu generowania logu, czasu jego przesyłania i czasu ponownego wykonania zmian na replice. Jeżeli kolejka stale rośnie, trzeba ustalić, czy ograniczeniem jest źródłowa instancja, połączenie, czy docelowy serwer. Ryzyko stanowi także niekontrolowane przełączenie roli. Automatyczne przełączanie powinno być włączane dopiero po sprawdzeniu, czy aplikacje korzystają z właściwego punktu połączenia i czy po zmianie roli potrafią ponownie nawiązać sesje. Należy również ustalić, które repliki mogą przejmować podstawową obsługę, a które mają pozostać wyłącznie kopiami pomocniczymi. Każda zmiana ustawień powinna być odnotowana, aby później można było odtworzyć kolejność działań podczas analizy incydentu. Dodawanie replik i praktyczne przygotowaniePrzed rozpoczęciem warto sporządzić krótką listę kontrolną obejmującą nazwy instancji, wersje SQL Server, role uczestników, tryby synchronizacji, bazę objętą konfiguracją, wymagane porty i plan wycofania zmiany. Dobrą praktyką jest wykonanie aktualnej kopii zapasowej oraz potwierdzenie, że można ją odtworzyć. Należy także ustalić okno prac, ponieważ początkowe zasilenie repliki może obciążyć dyski, sieć i procesor.
Ważne jest rozdzielenie testu technicznego od testu aplikacyjnego. Z poziomu SQL Server można potwierdzić, że replika otrzymuje zmiany, lecz użytkownik końcowy może nadal napotkać błędy wynikające z zapisanej nazwy serwera, braku odpowiednich uprawnień, nieobsługiwanych połączeń lub sesji utrzymywanych przez aplikację. Po zmianie roli powinno się sprawdzić logowanie, odczyt danych, zapis nowych rekordów, działanie zadań cyklicznych oraz zachowanie kopii zapasowych. Nie należy traktować samego wskaźnika stanu jako pełnego dowodu poprawności. Monitoring powinien obejmować dostępność uczestników, opóźnienie przesyłania, wielkość kolejki logów, błędy endpointów, wolne miejsce i historię przełączeń. Alert powinien pojawić się zanim replika przestanie nadążać, ponieważ szybka reakcja pozwala ograniczyć czas niesynchronizowania i zmniejszyć ryzyko ręcznego odtwarzania baz. Dodawanie replik a moment zgłoszenia problemuDo sprawdzenia konfiguracji warto zgłosić się wtedy, gdy dołączenie nowego uczestnika kończy się błędem, baza pozostaje w stanie synchronizacji zalegającej albo po przełączeniu aplikacja nie może nawiązać połączenia. Konsultacji wymaga również sytuacja, w której nie wiadomo, czy przyczyną jest sieć, ustawienia instancji, uprawnienia, brak miejsca, czy błędna procedura początkowego zasilenia. Przed kontaktem dobrze przygotować treść komunikatu, fragment dziennika, nazwy ról, czas wystąpienia problemu i informację o ostatniej zmianie. Warszawskie Pogotowie Komputerowe 24/7 zajmuje się wsparciem w zakresie komputerów i laptopów, w tym porządkowaniem konfiguracji, analizą objawów oraz przygotowaniem sprzętu do dalszej pracy. Przy zgłoszeniu można opisać, czy problem pojawił się podczas dodawania repliki, po aktualizacji, po zmianie sieci albo po przełączeniu obsługi na innego uczestnika. Takie informacje ułatwiają dobranie właściwego kierunku diagnostyki i ograniczenie przypadkowych zmian w działającym środowisku. Jeżeli problem dotyczy samej bazy, instancji SQL Server lub procedury przełączenia, przed modyfikacją ustawień powinno się zabezpieczyć kopie zapasowe i zapisać bieżący stan konfiguracji. Pozwala to porównać sytuację przed i po zmianie oraz wrócić do wcześniejszego układu, jeśli nowa replika nie spełni założeń. Szczególnej ostrożności wymaga usuwanie uczestnika, wymuszanie przełączenia i ręczne czyszczenie pozostałości po nieudanej próbie, ponieważ działania te mogą zmienić sposób obsługi baz i utrudnić dalszą analizę. |