Przeskocz do zawartości głównej Przejdź do treści uzupełniającej

Konfiguracja przełączania awaryjnego

Informacja
  • Procedury opisane w tym temacie powinny być wykonywane przez PostgreSQL DBA.
  • Wymaga Data Movement gateway 2024.11.14 lub nowszej wersji

W tym temacie wyjaśniono, jak skonfigurować PostgreSQL i Data Movement gateway do obsługi przełączania awaryjnego. Procedura, którą należy wykonać, zależy od konkretnej konfiguracji przełączania awaryjnego PostgreSQL.

Jeśli identyfikator obiektu bazy danych dla podstawowej i dodatkowej bazy danych pozostaje taki sam po przełączeniu awaryjnym (co zwykle ma miejsce), wystarczy zaktualizować plik hosts na komputerze z Data Movement gateway za pomocą adresu IP serwera dodatkowej bazy danych. Jeśli jednak identyfikator obiektu dodatkowej bazy danych nie jest taki sam jak podstawowej bazy danych po przełączeniu awaryjnym, wymagana jest dodatkowa konfiguracja. Zwykle nie można ustalić z wyprzedzeniem, czy identyfikator obiektu ulegnie zmianie, ale jeśli to wiesz, wykonaj opisaną poniżej procedurę Konfigurowanie przełączania awaryjnego, gdy identyfikator obiektu podstawowej i dodatkowej bazy danych jest inny. Jeśli nie wiesz, czy identyfikator obiektu ulegnie zmianie, zalecamy wykonanie prostszej procedury opisanej w sekcji Konfigurowanie przełączania awaryjnego, gdy identyfikator obiektu podstawowej i dodatkowej bazy danych jest taki sam, ponieważ identyfikator obiektu zwykle pozostanie taki sam po przejściu w tryb pracy awaryjnej.

Jeśli przeprowadzono prostszą konfigurację, a Data Movement gateway nie odzyska danych podczas pracy awaryjnej, konieczne będzie wykonanie procedury Konfigurowanie przełączania awaryjnego, gdy identyfikator obiektu podstawowej i dodatkowej bazy danych jest inny.

InformacjaPodczas gdy procedura Konfigurowanie przełączania awaryjnego, gdy identyfikator obiektu podstawowej i dodatkowej bazy danych jest taki sam jest obsługiwana zarówno w projektach replikacji, jak i zadaniach umieszczania danych w projektach przepływu danych, procedura Konfigurowanie przełączania awaryjnego, gdy identyfikator obiektu podstawowej i dodatkowej bazy danych jest inny jest obsługiwana tylko w przypadku projektów replikacji.

Konfigurowanie przełączania awaryjnego, gdy identyfikator obiektu podstawowej i dodatkowej bazy danych jest taki sam

Gdy nastąpi przełączenie awaryjne, zadanie danych napotka błąd niekrytyczny i spróbuje ponownie połączyć się z adresem IP serwera podstawowej bazy danych. Zwykle jednak się to nie udaje, ponieważ serwer dodatkowej bazy danych (prawie zawsze) ma inny adres IP.

Jeśli przełączanie adresów IP nie jest obsługiwane przez usługę przełączania awaryjnego DNS, konieczne będzie określenie nowego adresu IP w pliku hosts na komputerze z Data Movement gateway. Ścieżka do pliku hosts to /etc/hosts. Po zaktualizowaniu pliku hosts zadanie danych zostanie wznowione automatycznie.

Konfigurowanie przełączania awaryjnego, gdy identyfikator obiektu podstawowej i dodatkowej bazy danych jest inny

InformacjaObsługiwane tylko w przypadku projektów replikacji.

W standardowym działaniu zadanie danych tworzy slot automatycznie podczas przenoszenia danych ze źródła PostgreSQL. Nazwy slotów zawierają w swojej nazwie identyfikator obiektu bazy danych. W rzadkich przypadkach identyfikator obiektu podstawowej i dodatkowej bazy danych będzie różny. Zadanie danych nie powiedzie się wtedy podczas przełączania awaryjnego, ponieważ nie będzie w stanie znaleźć slotu utworzonego dla podstawowej bazy danych w dodatkowej bazie danych. W takim przypadku wystąpi następujący błąd:

[SOURCE_CAPTURE ]E: Can't resume task after replication slot was dropped. [1020101] (postgres_endpoint_capture.c:445)

W razie takiego błędu wykonaj następujące czynności:

  1. W sekcji Właściwości wewnętrzne ustawień łącznika dodaj właściwość wewnętrzną slotName i ustaw wartość nazwy slotu.

    Podana nazwa slotName musi już istnieć na podstawowym serwerze PostgreSQL. Możesz utworzyć nowy slot lub użyć istniejącego.

    Aby utworzyć nowy slot i pobrać jego numer LSN, wykonaj następujące zapytanie:

    SELECT lsn FROM pg_create_logical_replication_slot ('user_provided_slot_name', 'test_decoding');

    Aby uzyskać listę dostępnych slotów i ich numerów LSN, wykonaj poniższe zapytanie:

    SELECT slot_name, restart_lsn FROM pg_replication_slots WHERE slot_type = 'logical';

  2. Wprowadź numer LSN dla określonej nazwy slotName w polu Pozycja zmiany źródła w oknie dialogowym Zaawansowane opcje uruchamiania, a następnie przygotuj i uruchom zadanie danych.

    Jeśli dojdzie do przełączenia awaryjnego, serwer dodatkowy niemal natychmiast przejmie kontrolę i stanie się serwerem podstawowym. Przełączanie awaryjne powinno być obsługiwane przez rozszerzenie pg_failover_slots.

  3. Gdy nastąpi przełączenie awaryjne, zadanie danych napotka błąd niekrytyczny i spróbuje ponownie połączyć się z adresem IP serwera podstawowej bazy danych. Zwykle jednak się to nie udaje, ponieważ serwer dodatkowej bazy danych (prawie zawsze) ma inny adres IP. Jeśli przełączanie adresów IP nie jest obsługiwane przez usługę przełączania awaryjnego DNS, konieczne będzie określenie nowego adresu IP w pliku hosts na komputerze z Data Movement gateway. Ścieżka do pliku hosts to /etc/hosts. Po zaktualizowaniu pliku hosts zadanie danych zostanie wznowione automatycznie.

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!