Actian Ingres Wiederherstellung im Katastrophenfall
Emma McGrattan
31. Mai 2024

Die meisten produktiven Actian Ingres Installationen benötigen ein gewisses Maß an Wiederherstellung im Katastrophenfall (DR). Die Optionen reichen vom nächtlichen Versand von Datenbank-Checkpoints an externe Speicherorte bis zur Replikation in nahezu Echtzeit an einen speziellen externen DR-Standort.
Actian Ingres ist eine hybride Unternehmensdatenbank, die über integrierte Checkpoint- und Journal-Versandfunktionen verfügt, die die grundlegenden Bausteine für den Aufbau kostengünstiger, effizienter DR-Implementierungen darstellen. Eine dieser Implementierungen ist IngresSync, das die nativen Checkpoint/Journal-Versand- und inkrementellen Funktionen von Actian Ingres nutzt, um eine kostengünstige DR-Lösung zu implementieren.
IngresSync arbeitet nach dem Konzept von Quell- und Zielinstallationen von Actian Ingres. Die Quellinstallation ist die gerade aktive Produktionsumgebung. Das Ziel, oder bei Bedarf mehrere Ziele, werden durch einen IngresSync-Job, der in einem Nutzer Intervall ausgeführt wird, aktuell gehalten. Jeder Sync-Vorgang kopiert nur die Journale, die seit dem letzten Sync erstellt wurden, und wendet diese Transaktionen auf die Ziele an. Checkpoints, die auf dem Quellknoten erstellt wurden, werden automatisch auf alle Ziele kopiert und dort fortgeschrieben.
Beispiel
Angenommen, wir haben eine Umgebung, in der die Produktionsinstallation auf Node Corp gehostet wird, und wir müssen zwei DR-Sites dreast und drwest erstellen.
Die DR-Knoten benötigen jeweils:
- Eine Ingres-Installation mit der gleichen Version und dem gleichen Patch-Level wie corp.
- Passwortloses SSH von und zu den anderen Knoten konfiguriert.
- Ingres/Net VNODE-Einträge an die anderen Knoten.
Um diese Umgebung zu konfigurieren, müssen wir zunächst die Quell- und Zielhosts bestimmen und den letzten Quell-Checkpoint auf die Ziele anwenden.
ingresSync --source=corp --target=dreast,drwest --database=corpdb --iid=II --ckpsync --restart
Die beiden Zielinstallationen sind nun mit der Quelle synchronisiert, und die Zieldatenbanken befinden sich im Zustand des inkrementellen Rollforward (INCR_RFP). In diesem Zustand können Journale inkrementell angewendet werden, um die Ziele mit der Quelle zu synchronisieren. Inkrementeller Rollforward wird durchgeführt durch:
ingresSync --hosts=corp,dreast,drwest --database=corpdb --iid=II --jnlsync
Wenn er ausgeführt wird, wird das aktuelle Journal auf der Quelle geschlossen, neue Journale auf die Ziele kopiert und diese Journale auf die Ziele übertragen. Der Schritt der Journalsynchronisierung sollte so konfiguriert werden, dass er in regelmäßigen Abständen mithilfe des Systemplaners (z. B. cron) ausgeführt wird. Eine häufige Ausführung führt zu einer minimalen Verzögerung bei der Synchronisierung zwischen Quelle und Zielen.
Die Zielinstallationen bei dreast und drwest sind nun mit der Quellinstallation bei corp synchronisiert. Sollte es in der Corp-Umgebung zu einem Hardware- oder Softwareausfall kommen, können wir einen der Zielknoten als neue Quelle bestimmen und Client-Verbindungen zu diesem Knoten leiten. In diesem Fall benennen wir drwest als neue Quelle und dreast bleibt als Ziel (DR-Site) bestehen.
ingresSync --target=drwest --database=corpdb --iid=II --incremental_done
Dadurch wird die drwest corpdb-Datenbank aus dem inkrementellen Rollforward-Modus genommen; die Datenbank führt nun sowohl Lese- als auch Aktualisierungstransaktionen aus und ist die neue Quelle. Die dreast-Datenbank befindet sich weiterhin im inkrementellen Rollforward-Modus und funktioniert weiterhin als DR-Zielknoten.
Da der corp-Knoten nicht mehr verfügbar ist, muss der Journal-Sync-Auftrag entweder auf drwest oder dreast gestartet werden. Der Journal-Sync-Auftrag kann mit dem Flag -strict so konfiguriert und geplant werden, dass er auf allen drei Knoten ausgeführt wird. In diesem Fall bestimmt der Auftrag, ob er auf dem aktuellen Quellknoten ausgeführt wird; wenn ja, wird er normal ausgeführt. Wenn er auf einem Zielknoten ausgeführt wird, wird der Auftrag einfach beendet. Mit dieser Konfiguration kann die Synchronisierung auch dann fortgesetzt werden, wenn sich die Knotenrollen ändern.
Sobald der Rechner wieder online ist, kann er wieder als DR-Ziel in die Konfiguration aufgenommen werden.
ingresSync --source=drwest --target=corp --database=corpdb --iid=II --ckpsync --restart
An einem bestimmten Punkt müssen wir möglicherweise zur ursprünglichen Konfiguration mit corp als Quelle zurückkehren. Die Schritte sind:
- Beenden Sie alle Datenbankverbindungen zu drwest
-
Sync
corp
mit
drwest
um sicherzustellen
corp
ist aktuell ingresSync --source=drwest --target=corp --database=corpdb --iid=II --jnlsync
-
Knotenrollen neu zuweisen ingresSync --target=corp --database=corpdb --iid=II --incremental_done ingresSync --source=corp --target=drwest --database=corpdb --iid=II --ckpsync --neustart
Zusammenfassung
IngresSync ist ein Mechanismus zur Implementierung einer DR-Lösung. Er eignet sich im Allgemeinen in Fällen, in denen ein gewisses Maß an Verzögerung akzeptabel ist und die Zielinstallationen wenig oder gar keine Nutzer aufweisen. Die Zieldatenbanken können für Read-only verwendet werden, wobei der inkrementelle Rollforward nicht ausgeführt werden kann, solange aktive Datenbankverbindungen bestehen. Der Rollforward-Prozess wird beim ersten Aktualisierungszyklus nachgeholt, wenn es keine aktiven Datenbankverbindungen gibt.
Im Folgenden werden die wichtigsten Vor- und Nachteile der alternativen Methoden zur Bereitstellung von Wiederherstellung im Katastrophenfall für Actian Ingres dargelegt:
Merkmal | Checkpoint Schifffahrt | IngresSync | Replikation |
Umfang | Datenbank | Datenbank | Tabelle |
Granularität | Datenbank | Zeitschrift | Transaktion |
Sync-Frequenz | Kontrollpunkt | Nutzer Definiert | Transaktion |
Ziel-Datenbank | Lesen/Schreiben(1) | Read-only | Lesen/Schreiben(2) |
- Die Zieldatenbank unterstützt Lese- und Schreibvorgänge, aber alle Änderungen gehen bei der nächsten Checkpoint-Aktualisierung verloren.
- Die Zieldatenbank unterstützt Lese- und Schreibvorgänge, aber es kann zu Aktualisierungskonflikten kommen, die manuell gelöst werden müssen.
Hinweis: IngresSync läuft derzeit unter Linux und Microsoft Windows. Windows-Umgebungen erfordern das Basispaket Cygwin und rsync.
Abonnieren Sie den Actian Blog
Abonnieren Sie den Blog von Actian, um direkt Dateneinblicke zu erhalten.
- Bleiben Sie auf dem Laufenden - Holen Sie sich die neuesten Informationen zu Data Analytics direkt in Ihren Posteingang.
- Verpassen Sie keinen Beitrag: Sie erhalten automatische E-Mail-Updates, die Sie informieren, wenn neue Beiträge veröffentlicht werden.
- Ganz wie sie wollen: Ändern Sie Ihre Lieferpräferenzen nach Ihren Bedürfnissen.