Ta strona została przetłumaczona maszynowo. Przeczytaj oryginał angielski. English

Natywna replikacja master-slave w HQbird Enterprise: DML i DDL, bez triggerów, unikalne lub główne klucze na replikowanych tabelach. W 100% zgodna z Firebird 2.5-5.0 - zmiana binariów bez backupu/restore. Jedna licencja obejmuje jednego mastera i jedną replikę; dodatkowe repliki są sprzedawane osobno.

Asynchroniczna vs synchroniczna

Async jest zwykle właściwym wyborem produkcyjnym.

Asynchroniczna (zalecana)

Master zapisuje zatwierdzone zmiany do plików segmentów; repliki pobierają je i stosują w tle. Domyślny flush to 90 sekund (często ustawiany na 15-30). Replika może być odtworzona online; nie trzeba zatrzymywać mastera, aby rozpocząć. Dobra do chmury lub łączy o wysokim opóźnieniu. Opóźnienie może rosnąć przy dużym obciążeniu.

Synchroniczna

Master zapisuje zatwierdzone zmiany bezpośrednio do replik. Opóźnienie ~1-2 sekundy; wymaga stabilnego łącza ~1 Gbps. Replika jest tylko do odczytu (z pewnymi zastrzeżeniami). Odtworzenie repliki wymaga zatrzymania mastera. Użyj do niestandardowego failover (3+ węzły), odciążania odczytów lub w połączeniu z async.

Asynchroniczna replikacja Firebird: segmenty dziennika z mastera do repliki
Async: segmenty na dysku, stosowane w tle.
Synchroniczna replikacja Firebird: master zapisuje bezpośrednio do repliki
Sync: partie przy zatwierdzaniu przez aktywne połączenie.

Instalacja

Zainstaluj HQbird Server z Firebird na masterze i replice. Windows: HQbirdServer2024.exe (2.5-5.0). Narzędzia administracyjne są opcjonalne dla replikacji. Linux: przewodnik instalacji. Zarejestruj się z licencją próbną lub pełną. Podręcznik użytkownika §2 obejmuje konfigurację serwera.

Firebird 2.5: HQbird instaluje SuperClassic. Jeśli nagłówek bazy danych ma dużą liczbę buforów stron, wydajność może ucierpieć. Ustaw bufory na 0, aby firebird.conf miał pierwszeństwo:

gfix -buff 0 -user SYSDBA -pass masterkey dysk:\ścieżka\baza.fdb

Kroki - replikacja asynchroniczna

  1. Skonfiguruj bazę danych jako master.
  2. Utwórz plik repliki (nbackup lub „Reinitialize replica database”).
  3. Skonfiguruj serwer repliki.

Krok 1 - Master

Otwórz http://127.0.0.1:8082 (port jest konfigurowalny). Zaloguj się admin / silne hasło. Potwierdź, że widget Aktywny serwer pokazuje Firebird 2.5/3.0/4.0/5.0 HQbird.

Konsola HQbird gotowa do dodania bazy danych do replikacji

Dodaj bazę danych: pseudonim plus ścieżka pliku, nie alias - aliasy nie są replikowane.

Okno dodawania bazy danych z jawną ścieżką pliku

Otwórz replikację z ikony nagłówka bazy danych. Wybierz MasterAsynchroniczna → Zapisz. Uruchom ponownie Firebird (lub wszystkie połączenia Classic), aby parametry załadowały się przy pierwszym połączeniu.

Podstawowe ustawienia asynchronicznej replikacji master
Podstawowa konfiguracja mastera.
Pełne parametry asynchronicznej replikacji master
Więcej >> - domyślne ustawienia są w porządku przy czystej instalacji.
  • Katalog dziennika - segmenty operacyjne, domyślnie ${db.default-directory}\ReplicationLog. Zarządzany przez silnik; zostaw go.
  • Katalog archiwum dziennika - zarchiwizowane segmenty, domyślnie ${db.path}.LogArch obok bazy danych.
  • Zastąp polecenie archiwizacji dziennika - pozostaw puste.
  • Wymuś flush zatwierdzonych danych - domyślnie 90 sekund.

Powinieneś zobaczyć rotujące pliki w katalogu dziennika natychmiast po zapisach, a następnie zarchiwizowane segmenty po zatwierdzeniu/przekroczeniu limitu czasu. Nie dotykaj segmentów operacyjnych. Kopiowanie archiwów do repliki: udział sieciowy lub FTP/SSH.

Pliki segmentów replikacji na dysku

Krok 2 - Początkowy plik repliki

Od HQbird 2018 R2, Reinitialize replica database tworzy kopię obok mastera, nazwaną jak employee30.fdb.17-Apr-2018_142507.4replica. Lub użyj nbackup bez zatrzymywania mastera.

Krok 3 - Serwer repliki

Zarejestruj replikę w FBDataGuard po tym, jak otrzyma GUID repliki. Wymagane ustawienie to folder zarchiwizowanych segmentów. Zapisz i uruchom ponownie Firebird. Wartości domyślne są importowane z folderu obok repliki; przetworzone segmenty są usuwane. Nie mieszaj archiwów z różnych baz danych w jednym folderze.

Podstawowe ustawienia asynchronicznej repliki
Szczegółowe ustawienia asynchronicznej repliki

Kroki - replikacja synchroniczna

  1. Zatrzymaj Firebird.
  2. Skopiuj plik mastera, przełącz go w tryb repliki, skopiuj na serwery replik.
  3. Skonfiguruj serwery replik w FBDataGuard.
  4. Uruchom repliki przed masterem.
  5. Skonfiguruj mastera, a następnie uruchom mastera.

Więcej przestojów niż async: replika musi być online, zanim master się uruchomi. Przykład zdalnej repliki: serwer replicaserver, ścieżka /data/test2.fdb. Na replice, gfix -replica {master-guid} wystarczy oprócz tej kopii.

Konfiguracja replikacji synchronicznej

Testowanie na systemie produkcyjnym

Ustaw disable_on_error na true, aby błąd replikacji wyłączył replikację, a master nadal działał. Zainicjuj ponownie z czystego dziennika po naprawieniu błędu. Włącz zadanie Replication log w FBDataGuard dla błędów i ostrzeżeń.

disable_on_error true do testowania replikacji
Zadanie monitorowania dziennika replikacji w HQbird

Utwórz kopię repliki za pomocą nbackup

Działa online dla async (i dodatkowych replik) bez zatrzymywania mastera. Lub zatrzymaj Firebird i skopiuj plik.

nbackup -l database_path_name -user SYSDBA -pass masterkey
copy database_path_name replica_path_name
nbackup -n database_path_name -user SYSDBA -pass masterkey
nbackup -f replica_path_name
gfix replica_path_name -replica {DATABASEGUID} -user SYSDBA -pass masterkey

DATABASEGUID to unikalny identyfikator mastera z gstat -h. Jeśli go brakuje, połącz się raz z binariami Firebird HQbird i uruchom gstat -h ponownie.

gstat -h pokazujący GUID bazy danych
gfix dysk:\ścieżka\mojabaza.fdb -replica {guid} -user SYSDBA -pass masterkey
gfix dysk:\ścieżka\mojabaza.fdb -replica {} -user SYSDBA -pass masterkey

Puste {} przywraca plik do normalnego trybu (odczyt-zapis). Na replice możesz wykonywać prace tylko do odczytu (SELECT); nie zmieniaj danych ani metadanych.