Udostępnij za pośrednictwem


Wysoka dostępność w usłudze Azure Database for PostgreSQL — pojedynczy serwer

DOTYCZY: Azure Database for PostgreSQL — pojedynczy serwer

Ważne

Usługa Azure Database for PostgreSQL — pojedynczy serwer znajduje się na ścieżce wycofania. Zdecydowanie zalecamy uaktualnienie do usługi Azure Database for PostgreSQL — serwer elastyczny. Aby uzyskać więcej informacji na temat migracji do usługi Azure Database for PostgreSQL — serwer elastyczny, zobacz Co się dzieje z usługą Azure Database for PostgreSQL — pojedynczy serwer?.

Usługa Azure Database for PostgreSQL — pojedynczy serwer zapewnia gwarantowany wysoki poziom dostępności z umową dotyczącą poziomu usług (SLA) wspieranej finansowo przez czas pracy. Usługa Azure Database for PostgreSQL zapewnia wysoką dostępność podczas planowanych zdarzeń, takich jak operacja obliczeniowa zainicjowana przez użytkownika, a także w przypadku nieplanowanych zdarzeń, takich jak awarie sprzętu, oprogramowania lub sieci. Usługa Azure Database for PostgreSQL może szybko odzyskać sprawność po najbardziej krytycznych okolicznościach, zapewniając praktycznie żaden przestój aplikacji podczas korzystania z tej usługi.

Usługa Azure Database for PostgreSQL jest odpowiednia do uruchamiania baz danych o krytycznym znaczeniu, które wymagają wysokiego czasu pracy. Oparta na architekturze platformy Azure usługa ma nieodłączną wysoką dostępność, nadmiarowość i odporność, aby ograniczyć przestoje bazy danych przed zaplanowanymi i nieplanowanymi awariami bez konieczności konfigurowania dodatkowych składników.

Składniki w usłudze Azure Database for PostgreSQL — pojedynczy serwer

Składnik Opis
Serwer bazy danych PostgreSQL Usługa Azure Database for PostgreSQL zapewnia zabezpieczenia, izolację, zabezpieczenia zasobów i możliwość szybkiego ponownego uruchamiania serwerów baz danych. Te możliwości ułatwiają wykonywanie operacji, takich jak skalowanie i operacja odzyskiwania serwera bazy danych po awarii w ciągu kilku sekund.
Modyfikacje danych na serwerze bazy danych zwykle występują w kontekście transakcji bazy danych. Wszystkie zmiany bazy danych są rejestrowane synchronicznie w postaci dzienników z wyprzedzeniem zapisu (WAL) w usłudze Azure Storage — które są dołączone do serwera bazy danych. Podczas procesu punktu kontrolnego bazy danych strony danych z pamięci serwera bazy danych są również opróżniane do magazynu.
Magazyn zdalny Wszystkie pliki danych fizycznych postgreSQL i pliki WAL są przechowywane w usłudze Azure Storage, która jest zaprojektowana do przechowywania trzech kopii danych w regionie w celu zapewnienia nadmiarowości, dostępności i niezawodności danych. Warstwa magazynu jest również niezależna od serwera bazy danych. Można go odłączyć od nieudanego serwera bazy danych i ponownie dołączyć go do nowego serwera bazy danych w ciągu kilku sekund. Ponadto usługa Azure Storage stale monitoruje błędy magazynu. Jeśli zostanie wykryte uszkodzenie bloku, zostanie ono automatycznie naprawione przez utworzenie wystąpienia nowej kopii magazynu.
Brama Brama działa jako serwer proxy bazy danych, kieruje wszystkie połączenia klientów z serwerem bazy danych.

Planowane ograniczenie przestojów

Usługa Azure Database for PostgreSQL jest zaprojektowana w celu zapewnienia wysokiej dostępności podczas planowanych operacji przestojów.

Zrzut ekranu przedstawiający elastyczne skalowanie w usłudze Azure PostgreSQL.

  1. Skalowanie serwerów baz danych PostgreSQL w górę i w dół w ciągu kilku sekund.
  2. Brama działająca jako serwer proxy do kierowania klienta łączy się z odpowiednim serwerem bazy danych.
  3. Skalowanie w górę magazynu można wykonać bez żadnych przestojów. Magazyn zdalny umożliwia szybkie odłączanie/ponowne dołączanie po przejściu w tryb failover. Poniżej przedstawiono niektóre scenariusze planowanej konserwacji:
Scenariusz Opis
Skalowanie obliczeń w górę/w dół Gdy użytkownik wykonuje operację skalowania obliczeń w górę/w dół, nowy serwer bazy danych jest aprowizowany przy użyciu skalowanej konfiguracji obliczeniowej. Na starym serwerze bazy danych aktywne punkty kontrolne mogą zostać ukończone, połączenia klientów są opróżniane, wszystkie niezatwierdzone transakcje są anulowane, a następnie są zamykane. Magazyn jest następnie odłączony od starego serwera bazy danych i dołączony do nowego serwera bazy danych. Gdy aplikacja kliencka ponawia próbę nawiązania połączenia lub spróbuje nawiązać nowe połączenie, brama kieruje żądanie połączenia do nowego serwera bazy danych.
Skalowanie magazynu w górę Skalowanie w górę magazynu jest operacją online i nie przerywa działania serwera bazy danych.
Nowe wdrożenie oprogramowania (Azure) W ramach planowanej konserwacji usługi są automatycznie wprowadzane nowe funkcje lub poprawki błędów. Aby uzyskać więcej informacji, zapoznaj się z dokumentacją, a także zapoznaj się z portalem.
Uaktualnienia wersji pomocniczej Usługa Azure Database for PostgreSQL automatycznie poprawia serwery baz danych do wersji pomocniczej określonej przez platformę Azure. Dzieje się to w ramach planowanej konserwacji usługi. Spowoduje to krótki przestój w sekundach, a serwer bazy danych zostanie automatycznie uruchomiony ponownie z nową wersją pomocniczą. Aby uzyskać więcej informacji, zapoznaj się z dokumentacją, a także zapoznaj się z portalem.

Ograniczanie niezaplanowanych przestojów

Nieplanowany przestój może wystąpić w wyniku nieprzewidzianych awarii, w tym podstawowych błędów sprzętowych, problemów z siecią i usterek oprogramowania. Jeśli serwer bazy danych nieoczekiwanie przestanie działać, nowy serwer bazy danych zostanie aprowizowany automatycznie w ciągu kilku sekund. Magazyn zdalny jest automatycznie dołączany do nowego serwera bazy danych. Aparat PostgreSQL wykonuje operację odzyskiwania przy użyciu plików WAL i plików bazy danych oraz otwiera serwer bazy danych, aby umożliwić klientom nawiązywanie połączeń. Transakcje niezatwierdzone zostaną utracone i muszą zostać ponowione przez aplikację. Chociaż nie można uniknąć nieplanowanego przestoju, usługa Azure Database for PostgreSQL ogranicza przestoje, automatycznie wykonując operacje odzyskiwania zarówno na serwerze bazy danych, jak i w warstwach magazynu bez konieczności interwencji człowieka.

Zrzut ekranu przedstawiający wysoką dostępność w usłudze Azure PostgreSQL.

  1. Serwery usługi Azure PostgreSQL z funkcjami szybkiego skalowania.
  2. Brama, która działa jako serwer proxy do kierowania połączeń klientów do odpowiedniego serwera bazy danych.
  3. Usługa Azure Storage z trzema kopiami w celu zapewnienia niezawodności, dostępności i nadmiarowości.
  4. Magazyn zdalny umożliwia również szybkie odłączanie/ponowne dołączanie po przejściu serwera w tryb failover.

Nieplanowany przestój: scenariusze awarii i odzyskiwanie usługi

Poniżej przedstawiono niektóre scenariusze awarii i sposób automatycznego odzyskiwania usługi Azure Database for PostgreSQL:

Scenariusz Automatyczne odzyskiwanie
Błąd serwera bazy danych Jeśli serwer bazy danych nie działa z powodu niektórych podstawowych błędów sprzętowych, aktywne połączenia zostaną porzucone, a wszystkie transakcje w locie zostaną przerwane. Nowy serwer bazy danych jest wdrażany automatycznie, a zdalny magazyn danych jest dołączony do nowego serwera bazy danych. Po zakończeniu odzyskiwania bazy danych klienci mogą łączyć się z nowym serwerem bazy danych za pośrednictwem bramy.

Czas odzyskiwania (RTO) zależy od różnych czynników, w tym działania w momencie wystąpienia błędu, takiego jak duża transakcja i ilość odzyskiwania do wykonania podczas procesu uruchamiania serwera bazy danych.

Aplikacje korzystające z baz danych PostgreSQL muszą być tworzone w sposób, w jaki wykrywają i ponawiają próby porzuconych połączeń i nieudanych transakcji. Gdy aplikacja ponawia próbę, brama w sposób niewidoczny przekierowuje połączenie z nowo utworzonym serwerem bazy danych.
Błąd magazynu Aplikacje nie widzą żadnego wpływu na problemy związane z magazynem, takie jak awaria dysku lub uszkodzenie bloku fizycznego. Ponieważ dane są przechowywane w trzech kopiach, kopia danych jest obsługiwana przez magazyn ocalały. Uszkodzenia bloków są automatycznie poprawiane. Jeśli kopia danych zostanie utracona, zostanie automatycznie utworzona nowa kopia danych.
Błąd obliczeniowy Błędy obliczeniowe to rzadkie zdarzenia. W przypadku awarii obliczeniowej jest aprowizowany nowy kontener obliczeniowy, a magazyn z plikami danych jest mapowany, aparat bazy danych PostgreSQL jest następnie w trybie online w nowym kontenerze i usłudze bramy zapewnia przezroczysty tryb failover bez konieczności wprowadzania zmian w aplikacji. Należy również pamiętać, że warstwa obliczeniowa ma wbudowaną odporność strefy dostępności, a nowe zasoby obliczeniowe są tworzone w innej strefie dostępności w przypadku awarii obliczeniowej az.

Poniżej przedstawiono kilka scenariuszy awarii, które wymagają wykonania akcji użytkownika w celu odzyskania:

Scenariusz Plan odzyskiwania
Błąd regionu Awaria regionu jest rzadkim zdarzeniem. Jeśli jednak potrzebujesz ochrony przed awarią regionu, możesz skonfigurować co najmniej jedną replikę do odczytu w innych regionach na potrzeby odzyskiwania po awarii. (Zobacz ten artykuł na temat tworzenia replik do odczytu i zarządzania nimi, aby uzyskać szczegółowe informacje). W przypadku awarii na poziomie regionu można ręcznie podwyższyć poziom repliki do odczytu skonfigurowanej w innym regionie, aby był serwerem produkcyjnej bazy danych.
Awaria strefy dostępności Niepowodzenie strefy dostępności jest również rzadkim zdarzeniem. Jeśli jednak potrzebujesz ochrony przed awarią strefy dostępności, możesz skonfigurować co najmniej jedną replikę do odczytu lub rozważyć użycie naszej oferty serwera elastycznego, która zapewnia strefowo nadmiarową wysoką dostępność.
Błędy logiczne/użytkownika Odzyskiwanie po błędach użytkownika, takich jak przypadkowo porzucone tabele lub niepoprawnie zaktualizowane dane, polega na wykonaniu odzyskiwania do punktu w czasie (PITR), przywracając i odzyskując dane do momentu tuż przed wystąpieniem błędu.

Jeśli chcesz przywrócić tylko podzbiór baz danych lub określonych tabel, a nie wszystkich baz danych na serwerze bazy danych, możesz przywrócić serwer bazy danych w nowym wystąpieniu, wyeksportować tabele za pośrednictwem pg_dump, a następnie użyć pg_restore , aby przywrócić te tabele do bazy danych.

Podsumowanie

Usługa Azure Database for PostgreSQL zapewnia możliwość szybkiego ponownego uruchamiania serwerów baz danych, magazynu nadmiarowego i wydajnego routingu z bramy. Aby uzyskać dodatkową ochronę danych, można skonfigurować kopie zapasowe do replikacji geograficznej, a także wdrożyć co najmniej jedną replikę do odczytu w innych regionach. Dzięki nieodłącznym funkcjom wysokiej dostępności usługa Azure Database for PostgreSQL chroni bazy danych przed najczęstszymi awariami i oferuje wiodącą w branży umowę SLA gwarantującą czas pracy oparty na finansach na poziomie 99,99%. Wszystkie te funkcje dostępności i niezawodności umożliwiają platformie Azure idealne uruchamianie aplikacji o krytycznym znaczeniu.

Następne kroki