Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł zawiera instrukcje dotyczące migrowania wystąpienia bazy danych PostgreSQL ze środowiska lokalnego lub maszyn wirtualnych platformy Azure do serwera elastycznego usługi Azure Database for PostgreSQL w trybie online.
Usługa migracji w usłudze Azure Database for PostgreSQL to w pełni zarządzana usługa zintegrowana z witryną Azure Portal i interfejsem wiersza polecenia platformy Azure. Została zaprojektowana tak, aby uprościć migrację do serwera elastycznego usługi Azure Database for PostgreSQL.
- Wymagania wstępne
- Przeprowadzanie migracji
- Monitorowanie migracji
- Rozpoczęcie przełączenia
- Sprawdzanie migracji po zakończeniu
Wymagania wstępne
Do rozpoczęcia migracji potrzebne są następujące wymagania wstępne:
Przed rozpoczęciem migracji z usługą migracji usługi Azure Database for PostgreSQL należy spełnić następujące wymagania wstępne, specjalnie zaprojektowane pod kątem scenariuszy migracji online.
- Weryfikowanie wersji źródłowej
- Instalowanie test_decoding — konfiguracja źródła
- Konfigurowanie konfiguracji docelowej
- Włącz CDC jako źródło
- Konfigurowanie konfiguracji sieci
- Włączanie rozszerzeń
- Sprawdzanie parametrów serwera
- Sprawdzanie użytkowników i ról
Weryfikowanie wersji źródłowej
Źródłowa wersja serwera PostgreSQL musi być w wersji 9.5 lub nowszej.
Jeśli źródłowa wersja bazy danych PostgreSQL jest mniejsza niż 9.5, przed rozpoczęciem migracji uaktualnij ją do wersji 9.5 lub nowszej.
Instalowanie test_decoding — konfiguracja źródła
- test_decoding odbiera plik WAL za pośrednictwem mechanizmu dekodowania logicznego i dekoduje go do reprezentacji tekstowych wykonywanych operacji.
- W usłudze Amazon RDS for PostgreSQL wtyczka test_decoding jest wstępnie zainstalowana i gotowa do replikacji logicznej. Dzięki temu można łatwo skonfigurować logiczne miejsca replikacji i przesyłać strumieniowo zmiany WAL, ułatwiając przypadki użycia, takie jak przechwytywanie zmian danych (CDC) lub replikacja do systemów zewnętrznych.
- Aby uzyskać więcej informacji na temat wtyczki dekodowania testowego, zobacz dokumentację bazy danych PostgreSQL
Konfigurowanie konfiguracji docelowej
- Przed migracją należy utworzyć elastyczny serwer usługi Azure Database for PostgreSQL.
- Jednostka SKU aprowizowana dla usługi Azure Database for PostgreSQL — serwer elastyczny powinien być zgodny ze źródłem.
- Aby utworzyć nową usługę Azure Database for PostgreSQL, odwiedź stronę Tworzenie serwera elastycznego usługi Azure Database for PostgreSQL
Włącz usługę CDC jako źródło
-
test_decodingwtyczka dekodowania logicznego przechwytuje zmienione rekordy ze źródła. - Aby zezwolić użytkownikowi migracji na dostęp do uprawnień replikacji, wykonaj następujące polecenie:
GRANT rds_replication TO <<username>>;
W źródle instancji PostgreSQL, zmodyfikuj następujące parametry, tworząc nową grupę parametrów:
- Zbiór
rds.logical_replication = 1 - Ustaw
max_replication_slotswartość większą niż jedną. Wartość powinna być większa niż liczba baz danych wybranych do migracji. - Ustaw
max_wal_senderswartość większą niż jedną. Wartość powinna być co najmniej taka sama jakmax_replication_slots, plus liczba nadawców już użytych w instancji. - Parametr
wal_sender_timeoutkończy nieaktywne połączenia replikacji, które są nieaktywne dłużej niż określona liczba milisekund. Domyślną wartością dla wystąpienia usługi AWS RDS dla bazy danych PostgreSQL jest30000 milliseconds (30 seconds). Ustawienie wartości na 0 (zero) dezaktywuje mechanizm limitu czasu i jest prawidłowym ustawieniem dla migracji.
- Zbiór
Na docelowym serwerze elastycznym, aby zapobiec wyczerpaniu się pamięci podczas procesu migracji online do przechowywania dzienników, upewnij się, że masz wystarczającą ilość przestrzeni w tablespace przy użyciu aprowizowanego dysku zarządzanego. Aby to osiągnąć, wyłącz parametr
azure.enable_temp_tablespaces_on_local_ssdserwera przez czas trwania migracji i przywróć go do oryginalnego stanu po migracji.
Konfigurowanie konfiguracji sieci
Konfiguracja sieci ma kluczowe znaczenie dla usługi migracji do poprawnego działania. Upewnij się, że źródłowy serwer PostgreSQL może komunikować się z docelowym serwerem usługi Azure Database for PostgreSQL. Następujące konfiguracje sieci są niezbędne do pomyślnej migracji.
Aby uzyskać informacje na temat konfiguracji sieci, zobacz Przewodnik po sieci dla usługi migracji.
Włączanie rozszerzeń
Aby zapewnić pomyślną migrację przy użyciu usługi migracji w usłudze Azure Database for PostgreSQL, może być konieczne zweryfikowanie rozszerzeń w źródłowym wystąpieniu bazy danych PostgreSQL. Rozszerzenia udostępniają funkcje i cechy, które mogą być wymagane dla Twojej aplikacji. Upewnij się, że przed rozpoczęciem procesu migracji weryfikujesz rozszerzenia w źródłowym wystąpieniu PostgreSQL.
W docelowym wystąpieniu serwera elastycznego usługi Azure Database for PostgreSQL włącz obsługiwane rozszerzenia, które są identyfikowane w źródłowym wystąpieniu bazy danych PostgreSQL.
Aby uzyskać więcej informacji, zobacz Rozszerzenia i moduły.
Sprawdzanie parametrów serwera
Te parametry nie są automatycznie migrowane do środowiska docelowego i muszą być skonfigurowane ręcznie.
Dopasuj wartości parametrów serwera ze źródłowej bazy danych PostgreSQL do usługi Azure Database for PostgreSQL, korzystając z sekcji "Parametry serwera" w witrynie Azure Portal i ręcznie aktualizując odpowiednio wartości.
Zapisz zmiany parametrów i uruchom ponownie usługę Azure Database for PostgreSQL, aby w razie potrzeby zastosować nową konfigurację.
Sprawdzanie użytkowników i ról
Podczas migracji do usługi Azure Database for PostgreSQL niezbędne jest oddzielne rozwiązanie migracji użytkowników i ról, ponieważ wymagają one interwencji ręcznej:
Ręczna migracja użytkowników i ról: użytkownicy i skojarzone z nimi role muszą zostać ręcznie zmigrowane do usługi Azure Database for PostgreSQL. Aby ułatwić ten proces, możesz użyć
pg_dumpallnarzędzia z flagą--globals-onlyw celu wyeksportowania obiektów globalnych, takich jak role i konta użytkowników. Wykonaj następujące polecenie, zastępując<<username>>rzeczywistą nazwą użytkownika i<<filename>>żądaną nazwą pliku wyjściowego.pg_dumpall --globals-only -U <<username>> -f <<filename>>.sqlOgraniczenie ról superużytkownika: usługa Azure Database for PostgreSQL nie obsługuje ról superużytkownika. W związku z tym użytkownicy z uprawnieniami administratora muszą mieć te uprawnienia usunięte przed migracją. Upewnij się, że odpowiednio dostosujesz uprawnienia i role.
Wykonując te kroki, możesz upewnić się, że konta użytkowników i role są prawidłowo migrowane do usługi Azure Database for PostgreSQL bez napotykania problemów związanych z ograniczeniami administratora.
Wyłączanie wysokiej dostępności (niezawodności) i replik do odczytu w obiekcie docelowym
Wyłączenie wysokiej dostępności (niezawodności) oraz replikacji odczytu w środowisku docelowym jest niezbędne. Te funkcje powinny być włączone dopiero po zakończeniu migracji.
Postępując zgodnie z tymi wytycznymi, można zapewnić płynny proces migracji bez wprowadzenia dodatkowych zmiennych wynikających z wysokiej dostępności i replik do odczytu. Po zakończeniu migracji i stabilnej bazie danych możesz włączyć te funkcje, aby zwiększyć dostępność i skalowalność środowiska bazy danych na platformie Azure.
Przeprowadzanie migracji
Migrację można przeprowadzić przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.
Ten artykuł zawiera instrukcje dotyczące migrowania bazy danych PostgreSQL z serwera Usługi Amazon RDS for PostgreSQL do usługi Azure Database for PostgreSQL za pomocą witryny Azure Portal. Witryna Azure Portal umożliwia wykonywanie różnych zadań, w tym migracji bazy danych. Wykonując kroki opisane w tym samouczku, możesz bezproblemowo przenieść bazę danych na platformę Azure i skorzystać z jej zaawansowanych funkcji i skalowalności.
Konfigurowanie zadania migracji
Usługa migracji zawiera prosty interfejs oparty na kreatorze w portalu Azure.
Korzystanie z portalu Azure:
Wybierz elastyczny serwer bazy danych Azure dla PostgreSQL.
W menu zasobów wybierz pozycję Migracja.
Wybierz opcję Utwórz, aby skorzystać z serii zakładek kreatora do przeprowadzenia migracji do serwera elastycznego z lokalnego serwera lub maszyny wirtualnej w Azure.
Uwaga / Notatka
Przy pierwszym użyciu usługi migracji zostanie wyświetlona pusta siatka z monitem o rozpoczęcie pierwszej migracji.
Jeśli migracje do obiektu docelowego serwera elastycznego zostały już utworzone, siatka zawiera teraz informacje o próbach migracji.
Konfiguracja
Musisz podać wiele szczegółów związanych z migracją, takich jak nazwa migracji, typ serwera źródłowego, opcja i tryb.
Nazwa migracji jest unikatowym identyfikatorem dla każdej migracji do tego elastycznego serwera docelowego. To pole akceptuje tylko znaki alfanumeryczne i nie akceptuje żadnych znaków specjalnych z wyjątkiem łącznika (-). Nazwa nie może zaczynać się od łącznika i powinna być unikatowa dla serwera docelowego. Żadne dwie migracje na ten sam obiekt docelowy serwera elastycznego nie mogą mieć takiej samej nazwy.
Typ serwera źródłowego — w zależności od źródła postgreSQL możesz wybrać maszynę wirtualną platformy Azure lub serwer lokalny.
Opcja migracji — umożliwia przeprowadzenie walidacji przed rozpoczęciem migracji. Możesz wybrać dowolną z następujących opcji:
- Weryfikacja — sprawdza gotowość serwera i bazy danych do migracji do miejsca docelowego.
- Weryfikacja i migrowanie — przeprowadza walidację przed rozpoczęciem migracji. Jeśli nie ma żadnych niepowodzeń walidacji, migracja zostanie zainicjowana.
Zawsze dobrym rozwiązaniem jest wybranie opcji Zweryfikuj lub Zweryfikuj i migruj w celu przeprowadzenia przedmigracyjnej weryfikacji przed uruchomieniem migracji.
Aby dowiedzieć się więcej na temat weryfikacji premigration, odwiedź stronę premigration.
- Tryb migracji umożliwia wybranie trybu migracji. Tryb offline jest opcją domyślną. W takim przypadku zmienimy ją na Online.
Wybierz Dalej: serwer uruchomieniowy.
Serwer środowiska uruchomieniowego
Serwer środowiska uruchomieniowego migracji to wyspecjalizowana funkcja w ramach usługi migracji w usłudze Azure Database for PostgreSQL, która jest przeznaczona do działania jako serwer pośredniczący podczas migracji. Jest to oddzielne wystąpienie serwera elastycznego usługi Azure Database for PostgreSQL, które nie jest serwerem docelowym, ale służy do ułatwiania migracji baz danych ze środowiska źródłowego, które jest dostępne tylko za pośrednictwem sieci prywatnej.
Aby uzyskać więcej informacji na temat serwera środowiska uruchomieniowego, odwiedź stronę Serwer środowiska uruchomieniowego migracji.
Serwer źródłowy
Na karcie Serwer źródłowy zostanie wyświetlony monit o podanie szczegółów dotyczących źródła wybranego na karcie Konfiguracja , czyli źródła baz danych.
- Nazwa serwera — podaj nazwę hosta lub adres IP źródłowego serwera PostgreSQL.
- Port — numer portu serwera źródłowego.
- Identyfikator logowania administratora — nazwa administratora źródłowego serwera PostgreSQL.
- Hasło — hasło podane podczas logowania administratora w celu nawiązania połączenia ze źródłowym serwerem PostgreSQL.
-
Tryb SSL — obsługiwane wartości to
preferredirequired. Gdy protokół SSL na źródłowym serwerze PostgreSQL toOFF, użyj poleceniaprefer. Jeśli protokół SSL na serwerze źródłowym toON, użyj poleceniarequire. Wartości SSL można określić w pliku postgresql.conf serwera źródłowego. - Połączenie testowe — wykonuje test łączności między miejscem docelowym i źródłem. Po pomyślnym nawiązaniu połączenia możesz przejść do następnej karty. Ten test ma na celu zidentyfikowanie wszelkich problemów z łącznością, które mogą istnieć między serwerami docelowymi i źródłowymi, w tym weryfikacją uwierzytelniania przy użyciu podanych poświadczeń. Ustanawianie połączenia testowego trwa kilka sekund.
Po pomyślnym połączeniu testowym wybierz pozycję Dalej: Serwer docelowy.
Serwer docelowy
Karta Serwer docelowy zawiera metadane dla obiektu docelowego serwera elastycznego, takie jak nazwa subskrypcji, grupa zasobów, nazwa serwera, lokalizacja i wersja bazy danych PostgreSQL.
- Identyfikator logowania administratora — nazwa administratora docelowego serwera PostgreSQL.
- Hasło — hasło podane podczas logowania administratora w celu nawiązania połączenia z docelowym serwerem PostgreSQL.
-
Niestandardowa nazwa FQDN lub adres IP: niestandardowe pole nazwy FQDN lub adresu IP jest opcjonalne i może być używane, gdy obiekt docelowy znajduje się za niestandardowym serwerem DNS lub ma niestandardowe przestrzenie nazw DNS, dzięki czemu jest dostępny tylko za pośrednictwem określonych nazw FQDN lub adresów IP. Na przykład może to obejmować wpisy, takie jak
production-flexible-server.example.com,198.1.0.2, lub FQDN PostgreSQL, takie jakproduction-flexible-server.postgres.database.azure.com, jeśli niestandardowy serwer DNS zawiera strefę DNSpostgres.database.azure.comlub przekazuje zapytania dla tej strefy do168.63.129.16, gdzie FQDN jest rozpoznawany w publicznej lub prywatnej strefie DNS platformy Azure. - Połączenie testowe — wykonuje test łączności między źródłem i miejscem docelowym. Po pomyślnym nawiązaniu połączenia możesz przejść do następnej karty. Ten test ma na celu zidentyfikowanie wszelkich problemów z łącznością, które mogą istnieć między serwerami źródłowymi i docelowymi, w tym weryfikacją uwierzytelniania przy użyciu podanych poświadczeń. Ustanawianie połączenia testowego trwa kilka sekund.
Po pomyślnym połączeniu testowym wybierz pozycję Dalej: Bazy danych, aby zweryfikować lub przeprowadzić migrację
Bazy danych do walidacji lub migracji
Na karcie Bazy danych do walidacji lub migracji możesz wybrać listę baz danych użytkowników do migracji ze źródłowego serwera PostgreSQL.
Po wybraniu baz danych wybierz pozycję Dalej: Podsumowanie.
Podsumowanie
Karta Podsumowanie zawiera podsumowanie wszystkich szczegółów źródłowych i docelowych dotyczących tworzenia walidacji lub migracji. Przejrzyj szczegóły i wybierz pozycję Rozpocznij walidację i migrację.
Anulowanie walidacji lub migracji
Możesz anulować wszelkie trwające walidacje lub migracje. Aby anulować przepływ pracy, musi być w statusie W toku. Nie można anulować walidacji ani migracji w stanie Powodzenie lub Niepowodzenie .
Anulowanie walidacji powoduje zatrzymanie wszelkich dalszych działań walidacji, a walidacja zostanie przeniesiona do stanu Anulowano .
Anulowanie migracji powoduje zatrzymanie dalszych działań migracji na serwerze docelowym i przejście do stanu Anulowano . Nie usuwa ani nie przywraca żadnych zmian na serwerze docelowym. Pamiętaj, aby usunąć bazy danych na serwerze docelowym, który jest zaangażowany w anulowaną migrację.
Monitorowanie migracji
Po wybraniu przycisku Rozpocznij walidację i migrację zostanie wyświetlone powiadomienie w ciągu kilku sekund, aby stwierdzić, że weryfikacja lub tworzenie migracji zakończy się pomyślnie. Zostaniesz automatycznie przekierowany do strony Migracji elastycznego serwera. Element pokazuje stan jako w toku. Skonfigurowanie infrastruktury migracji i sprawdzenie połączeń sieciowych w przepływie pracy trwa od 2 do 3 minut.
Siatka zawierająca migracje ma następujące kolumny: Nazwa, Stan, Tryb migracji, Typ migracji, Serwer źródłowy, Typ serwera źródłowego, Bazy danych, Czas trwania i Godzina rozpoczęcia. Wpisy są wyświetlane posortowane według godziny rozpoczęcia w kolejności malejącej z najnowszym wpisem u góry. Możesz użyć przycisku Odśwież na pasku narzędzi, aby odświeżyć stan weryfikacji lub przebiegu migracji.
Szczegóły migracji
Wybierz nazwę migracji w tabeli, aby wyświetlić skojarzone szczegóły.
Pamiętaj, że w poprzednich krokach podczas tworzenia tej migracji skonfigurowano opcję migracji jako Weryfikuj i zmigruj. W tym scenariuszu najpierw są wykonywane walidacje przed rozpoczęciem migracji. Po zakończeniu realizacji kroków przygotowawczych przepływ pracy przechodzi do podstanu Walidacja w toku.
Jeśli walidacja zawiera błędy, migracja zostanie przeniesiona do stanu Niepowodzenie.
Jeśli walidacja nie zostanie ukończona bez błędu, migracja zostanie uruchomiona, a przepływ pracy przejdzie do podstanu Migrowanie danych.
Szczegóły weryfikacji są dostępne na poziomie wystąpienia i bazy danych.
-
Szczegóły weryfikacji dla wystąpienia
- Zawiera walidację dotyczącą sprawdzania łączności, wersji źródłowej, czyli wersji bazy danych PostgreSQL >= 9.5, oraz sprawdzenia parametrów serwera, czy rozszerzenia są włączone w parametrach serwera elastycznego usługi Azure Database for PostgreSQL.
-
Szczegóły walidacji i migracji baz danych
- Zawiera walidację poszczególnych baz danych związanych z rozszerzeniami i obsługą sortowania na serwerze elastycznym usługi Azure Database for PostgreSQL.
Stan weryfikacji i stan migracji można wyświetlić na stronie szczegółów migracji.
Niektóre możliwe stany migracji:
Stan migracji
| Status | Description |
|---|---|
| W toku | Trwa konfigurowanie infrastruktury migracji lub trwa rzeczywista migracja danych. |
| Anulowane | Migracja zostanie anulowana lub usunięta. |
| Nie działa | Migracja nie powiodła się. |
| Walidacja nie powiodła się | Walidacja nie powiodła się. |
| Powodzenie | Migracja zakończyła się pomyślnie i została ukończona. |
| Oczekiwanie na akcję użytkownika | Oczekiwanie na działanie użytkownika w celu przeprowadzenia przełączania. |
Szczegóły migracji
| Stan podrzędny | Description |
|---|---|
| Wykonywanie czynności przygotowawczych | Trwa konfigurowanie infrastruktury na potrzeby migracji danych. |
| Sprawdzanie poprawności w toku | Walidacja jest w toku. |
| Usuwanie bazy danych na docelowym systemie | Usuwanie już istniejącej bazy danych na serwerze docelowym. |
| Migrowanie danych | Migracja danych jest w toku. |
| Kończenie migracji | Migracja jest na ostatnim etapie ukończenia. |
| Zakończono | Migracja została ukończona. |
| Nie działa | Migracja nie powiodła się. |
Podstatusy walidacji
| Stan podrzędny | Description |
|---|---|
| Nie działa | Walidacja nie powiodła się. |
| Powodzenie | Walidacja zakończyła się pomyślnie. |
| Ostrzeżenie | Walidacja jest ostrzegawcza. |
Rozpoczęcie przełączenia
Migrację jednorazową można zainicjować przy użyciu portalu Azure lub Azure CLI.
W przypadku opcji Zweryfikuj i zmigruj ukończenie migracji online wymaga od użytkownika wykonania dodatkowego kroku, który polega na zainicjowaniu procesu przełączenia. Po zakończeniu kopiowania lub klonowania danych podstawowych migracja przejdzie do stanu Waiting for user action i stanu podrzędnego Waiting for cutover trigger. W tym stanie użytkownik może wyzwolić przełączenie z portalu, wybierając odpowiednią opcję migracji.
Przed zainicjowaniem przejścia na nowy system należy upewnić się, że:
- Operacje zapisu w źródle zostały zatrzymane —
latencywartość jest równa 0 lub blisko 0. Informacjelatencymożna uzyskać na ekranie szczegółów migracji, jak pokazano poniżej: -
latencywartość zmniejsza się do 0 lub zbliżonej do 0 - Wartość
latencywskazuje, kiedy element docelowy został ostatnio zsynchronizowany ze źródłem. Zapisywanie w źródle można zatrzymać w tym momencie i można zainicjować przełączenie. Jeśli w źródle występuje duży ruch, zaleca się najpierw wstrzymać zapisy, abylatencyzbliżyć się do wartości 0, a następnie przeprowadza się przełączenie.
Operacja migracji jednorazowej stosuje wszystkie oczekujące zmiany z serwera źródłowego na serwer docelowy i kończy migrację. W przypadku wyzwolenia przełączenia, nawet z wartością różną od zera latency, replikacja zostanie zatrzymana do tego momentu w czasie. Wszystkie dane ze źródła do momentu punktu przejścia zostają zastosowane do obiektu docelowego. Jeśli wystąpi opóźnienie wynoszące 15 minut w punkcie przełączenia, wszystkie zmiany wprowadzone w danych w ciągu ostatnich 15 minut zostaną zastosowane do docelowego.
Czas zależy od zaległości zmian dokonanych w ciągu ostatnich 15 minut. W związku z tym zaleca się, aby opóźnienie osiągało zero lub było zbliżone do zera przed wyzwoleniem migracji jednorazowej.
- Migracja przenosi się do
Succeededstanu, gdyMigrating datastan podrzędny lub migracja jednorazowa (w migracji online) zakończą się pomyślnie. Jeśli występuje problem w podstatusieMigrating data, migracja przenosi się do stanuFailed.
Sprawdzanie migracji po zakończeniu
Po ukończeniu baz danych należy ręcznie zweryfikować dane między źródłem a obiektem docelowym i sprawdzić, czy wszystkie obiekty w docelowej bazie danych zostały pomyślnie utworzone.
Po migracji można wykonać następujące zadania:
Sprawdź dane na serwerze elastycznym i upewnij się, że jest to dokładna kopia wystąpienia źródłowego.
Po weryfikacji włącz opcję wysokiej dostępności na serwerze elastycznym zgodnie z potrzebami.
Zmień jednostkę SKU serwera elastycznego, aby odpowiadała potrzebom aplikacji. Ta zmiana wymaga ponownego uruchomienia serwera bazy danych.
Jeśli zmienisz jakiekolwiek parametry serwera z ich wartości domyślnych w wystąpieniu źródłowym, skopiuj te wartości parametrów serwera na serwerze elastycznym.
Skopiuj inne ustawienia serwera, takie jak tagi, alerty i reguły zapory, o ile ma zastosowanie, z instancji źródłowej do serwera elastycznego.
Wprowadź zmiany w aplikacji, aby wskazywały ciągi połączenia na elastyczny serwer.
Uważnie monitoruj wydajność bazy danych, aby sprawdzić, czy wymaga dostrajania wydajności.