Diese Seite wurde maschinell übersetzt. Lesen Sie das englische Original. English

Native Master-Slave-Replikation in HQbird Enterprise: DML und DDL, ohne Trigger, eindeutige oder Primärschlüssel auf replizierten Tabellen. 100% Firebird 2.5-5.0 kompatibel - Binärdateien ohne Backup/Restore wechseln. Eine Lizenz deckt einen Master und eine Replica ab; zusätzliche Replicas werden separat verkauft.

Asynchron vs. synchron

Asynchron ist in der Produktion normalerweise die richtige Wahl.

Asynchron (empfohlen)

Der Master protokolliert festgeschriebene Änderungen in Segmentdateien; Replicas ziehen und wenden sie im Hintergrund an. Standard-Flush ist 90 Sekunden (oft auf 15-30 gesetzt). Die Replica kann online neu erstellt werden; kein Master-Stopp zum Starten. Gut für Cloud- oder Hochlatenz-Verbindungen. Die Verzögerung kann unter hoher Last wachsen.

Synchron

Der Master schreibt festgeschriebene Änderungen direkt an die Replica(s). Verzögerung ~1-2 Sekunden; benötigt eine stabile ~1-Gbit/s-Verbindung. Die Replica ist schreibgeschützt (mit Einschränkungen). Das Neuerstellen einer Replica erfordert das Stoppen des Masters. Verwenden Sie es für benutzerdefiniertes Failover (3+ Knoten), das Auslagern von Lesevorgängen oder gemischt mit asynchron.

Asynchrone Firebird-Replikation: Journal-Segmente vom Master zur Replica
Async: Segmente auf der Festplatte, im Hintergrund angewendet.
Synchrone Firebird-Replikation: Master schreibt direkt an die Replica
Sync: Stapel beim Commit über eine Live-Verbindung.

Installation

Installieren Sie HQbird Server mit Firebird auf Master und Replica. Windows: HQbirdServer2024.exe (2.5-5.0). Admin-Tools sind für die Replikation optional. Linux: Installationsanleitung. Registrieren Sie sich mit einer Test- oder Volllizenz. Benutzerhandbuch §2 behandelt die Servereinrichtung.

Firebird 2.5: HQbird installiert SuperClassic. Wenn der Datenbank-Header eine große Seitenpuffer-Anzahl hat, kann die Leistung leiden. Setzen Sie die Puffer auf 0, damit firebird.conf gewinnt:

gfix -buff 0 -user SYSDBA -pass masterkey disk:\path\database.fdb

Schritte - asynchrone Replikation

  1. Konfigurieren Sie die Datenbank als Master.
  2. Erstellen Sie eine Replica-Datei (nbackup oder „Replica-Datenbank neu initialisieren“).
  3. Konfigurieren Sie den Replica-Server.

Schritt 1 - Master

Öffnen Sie http://127.0.0.1:8082 (Port ist konfigurierbar). Anmelden admin / starkes Passwort. Bestätigen Sie, dass das Widget „Aktiver Server“ Firebird 2.5/3.0/4.0/5.0 HQbird anzeigt.

HQbird-Konsole bereit, eine Datenbank für die Replikation hinzuzufügen

Datenbank hinzufügen: Spitzname plus Dateipfad, kein Alias - Aliase werden nicht repliziert.

Dialog zum Hinzufügen einer Datenbank mit explizitem Dateipfad

Öffnen Sie die Replikation über das Datenbank-Header-Symbol. Wählen Sie MasterAsynchron → Speichern. Starten Sie Firebird neu (oder alle Classic-Verbindungen), damit die Parameter beim ersten Verbindungsaufbau geladen werden.

Grundlegende asynchrone Master-Replikationseinstellungen
Grundlegende Master-Einrichtung.
Vollständige asynchrone Master-Replikationsparameter
Mehr >> - Standardwerte sind bei einer sauberen Installation in Ordnung.
  • Protokollverzeichnis - operative Segmente, Standard ${db.default-directory}\ReplicationLog. Engine-verwaltet; lassen Sie es.
  • Protokollarchivverzeichnis - archivierte Segmente, Standard ${db.path}.LogArch neben der Datenbank.
  • Archivierungsbefehl für Protokoll überschreiben - leer lassen.
  • Festschreiben von committeten Daten erzwingen - Standard 90 Sekunden.

Sie sollten unmittelbar nach Schreibvorgängen rotierende Dateien im Protokollverzeichnis sehen, danach archivierte Segmente nach Commit/Timeout. Fassen Sie operative Segmente nicht an. Kopieren von Archiven auf die Replica: Netzwerkfreigabe oder FTP/SSH.

Replikationssegmentdateien auf der Festplatte

Schritt 2 - Initiale Replica-Datei

Ab HQbird 2018 R2 erstellt Replica-Datenbank neu initialisieren eine Kopie neben dem Master, benannt wie employee30.fdb.17-Apr-2018_142507.4replica. Oder verwenden Sie nbackup, ohne den Master zu stoppen.

Schritt 3 - Replica-Server

Registrieren Sie die Replica in FBDataGuard nachdem sie eine Replica-GUID hat. Die erforderliche Einstellung ist der Ordner der archivierten Segmente. Speichern und Firebird neu starten. Standardwerte werden aus einem Ordner neben der Replica importiert; verarbeitete Segmente werden gelöscht. Mischen Sie keine Archive verschiedener Datenbanken in einem Ordner.

Grundlegende asynchrone Replica-Einstellungen
Detaillierte asynchrone Replica-Einstellungen

Schritte - synchrone Replikation

  1. Stoppen Sie Firebird.
  2. Kopieren Sie die Master-Datei, schalten Sie sie in den Replica-Modus, kopieren Sie sie auf die Replica-Server.
  3. Konfigurieren Sie die Replica-Server in FBDataGuard.
  4. Starten Sie die Replica(s) vor dem Master.
  5. Konfigurieren Sie den Master und starten Sie dann den Master.

Mehr Ausfallzeit als asynchron: Die Replica muss online sein, bevor der Master startet. Beispiel für eine entfernte Replica: Server replicaserver, Pfad /data/test2.fdb. Auf der Replica ist gfix -replica {master-guid} zusätzlich zu dieser Kopie ausreichend.

Konfiguration der synchronen Replikation

Testen in einem Produktionssystem

Setzen Sie disable_on_error auf true, damit ein Replikationsfehler die Replikation deaktiviert und der Master weiterhin bedient. Reinitialisieren Sie aus einem sauberen Protokoll, nachdem Sie den Fehler behoben haben. Aktivieren Sie den Job Replikationsprotokoll in FBDataGuard für Fehler und Warnungen.

disable_on_error true für Replikationstests
Job zur Überwachung des Replikationsprotokolls in HQbird

Erstellen einer Replica-Kopie mit nbackup

Funktioniert online für asynchron (und zusätzliche Replicas), ohne den Master zu stoppen. Oder stoppen Sie Firebird und kopieren Sie die Datei.

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 ist die eindeutige ID des Masters aus gstat -h. Wenn sie fehlt, verbinden Sie sich einmal mit den HQbird-Firebird-Binärdateien und führen Sie gstat -h erneut aus.

gstat -h zeigt die Datenbank-GUID
gfix disk:\path\mydatabase.fdb -replica {guid} -user SYSDBA -pass masterkey
gfix disk:\path\mydatabase.fdb -replica {} -user SYSDBA -pass masterkey

Leeres {} bringt die Datei in den normalen (Lese-Schreib-)Modus zurück. Auf einer Replica dürfen Sie schreibgeschützte Arbeiten (SELECT) ausführen; ändern Sie keine Daten oder Metadaten.