In diesem Dokument wird beschrieben, wie Sie ein manuelles Failover für eine primäre oder sekundäre Instanz durchführen.
Hochverfügbarkeit für primäre und sekundäre Instanzen
AlloyDB for PostgreSQL unterstützt die Hochverfügbarkeit sowohl für primäre als auch für sekundäre Instanzen.
Hochverfügbarkeit für primäre Instanzen
Um eine hohe Verfügbarkeit (HA) zu gewährleisten, hat jede primäre AlloyDB-Instanz einen aktiven und einen Standby-Knoten, die sich in verschiedenen Zonen befinden. Wenn der aktive Knoten nicht mehr verfügbar ist, führt AlloyDB automatisch ein Failover der primären Instanz auf den Standby-Knoten durch, der dann zum neuen aktiven Knoten wird.
Sie können jederzeit ein manuelles Failover Ihrer primären Instanz auf den Standby-Knoten durchführen, auch wenn der aktive Knoten wie erwartet funktioniert. Wenn Sie ein manuelles Failover initiieren, führt AlloyDB folgende Schritte aus:
Der primäre Knoten wird offline genommen.
Der Standby-Knoten wird zum neuen aktiven Knoten.
Der zuvor aktive Knoten wird als neuer Standby-Knoten reaktiviert.
Beim manuellen Failover werden die aktiven und Standby-Rollen der Knoten Ihrer primären Instanz getauscht. Sie können jederzeit ein manuelles Failover auslösen, wenn dieser Austausch erfolgen soll.
Angenommen, Sie haben eine primäre Instanz, deren aktive und Standby-Knoten sich in den Zonen us-central1-a bzw. us-central1-b befinden. Ein Ausfall in us-central1-a löst ein automatisches Failover aus, sodass der aktive Knoten in der Zone us-central1-b gehostet wird. Wenn Sie den aktiven Knoten lieber in der Zone us-central1-a behalten möchten, können Sie ein manuelles Failover initiieren, damit AlloyDB die Knoten der primären Instanz wieder an ihre Standorte vor dem Ausfall verschiebt.
Bei Wartungsvorgängen ist die Ausfallzeit für eine primäre HA-Instanz und eine einfache Instanz in der Regel minimal und beträgt weniger als eine Sekunde. Da das manuelle Failover ein beabsichtigter und kontrollierter Vorgang ist, ist es nicht dazu gedacht, unerwartete Hardware- oder Netzwerkfehler zu simulieren. Stattdessen können Sie die Hochverfügbarkeit für Ihre primäre Instanz mithilfe der Fehlereinschleusung testen.
Hochverfügbarkeit für sekundäre Instanzen
AlloyDB bietet Hochverfügbarkeit für sekundäre Instanzen, um die Notfallwiederherstellung zu unterstützen und Ausfallzeiten zu reduzieren, wenn eine sekundäre Instanz nicht mehr verfügbar ist.
Standardmäßig ist die Hochverfügbarkeit für eine sekundäre Instanz konfiguriert.
Eine sekundäre AlloyDB-Instanz umfasst die folgenden Knoten:
- Einen aktiven sekundären Knoten, der auf Anfragen reagiert
- Einen sekundären Standby-Knoten
Die aktiven und Standby-Knoten befinden sich in zwei verschiedenen Zonen in einer Region. Wenn AlloyDB eine Nichtverfügbarkeit des aktiven Knotens feststellt, wird ein Failover auf den Standby-Knoten durchgeführt, der dann als neuer aktiver Knoten fungiert. Ihre Daten werden dann an den neuen aktiven Knoten weitergeleitet. Dieser Vorgang wird als Failover bezeichnet.
Hinweis
- Das Projekt von Google Cloud , das Sie verwenden, muss für den Zugriff auf AlloyDB aktiviert sein.
- Sie benötigen eine der folgenden IAM-Rollen im Projekt von Google Cloud , das Sie verwenden:
roles/alloydb.admin(die vordefinierte IAM-Rolle „AlloyDB Admin“)roles/owner(einfache IAM-Rolle „Inhaber“)roles/editor(einfache IAM-Rolle „Bearbeiter“)
Wenn Sie keine dieser Rollen haben, wenden Sie sich an den Organisationsadministrator, um Zugriff anzufordern.
Manuelles Failover für eine primäre Instanz durchführen
Console
- Zur Clusterseite.
Klicken Sie in der Spalte Ressourcenname auf einen Clusternamen.
Öffnen Sie im Abschnitt Instanzen in Ihrem Cluster das Menü Instanzaktionen Ihrer primären Instanz .
Klicken Sie auf Failover.
Geben Sie im angezeigten Dialogfeld die ID der Instanz ein.
Klicken Sie auf Failover auslösen.
gcloud
Führen Sie den Befehl gcloud alloydb instances
failover aus:
gcloud alloydb instances failover INSTANCE_ID \
--region=REGION_ID \
--cluster=CLUSTER_ID \
--project=PROJECT_ID
Ersetzen Sie Folgendes:
INSTANCE_ID: Die ID der Instanz.REGION_ID: Die Region, in der sich die Instanz befindet.CLUSTER_ID: Die ID des Clusters, in dem sich die Instanz befindet.PROJECT_ID: Die ID des Projekts, in dem sich der Cluster befindet.
So bestätigen Sie, dass das Failover funktioniert hat:
Notieren Sie sich vor dem Failover die Zonen der Knoten der primären Instanz.
Notieren Sie sich nach dem Failover die neuen Zonen der beiden Knoten.
Bestätigen Sie, dass die Zonen der aktiven und Standby-Knoten getauscht wurden.
Manuelles Failover für eine sekundäre Instanz durchführen
Das manuelle Failover einer sekundären Instanz ähnelt den Schritten, die für das manuelle Failover der primären Instanz ausgeführt werden.
So führen Sie ein manuelles Failover für einen sekundären Cluster durch:
Console
Rufen Sie in der Google Cloud Console die Seite Cluster auf.
Klicken Sie in der Spalte Ressourcenname auf den Namen eines sekundären Clusters.
Rufen Sie auf der Seite Übersicht den Abschnitt Instanzen in Ihrem Cluster auf, wählen Sie die sekundäre Instanz aus und klicken Sie auf Failover.
Geben Sie im angezeigten Dialogfeld die ID der Instanz ein und klicken Sie auf Failover auslösen.
gcloud
Wenn Sie die gcloud CLI verwenden möchten, können Sie die Google Cloud CLI installieren und initialisieren oder Sie können Cloud Shell verwenden.
Verwenden Sie den gcloud alloydb instances failover-Befehl, um ein Failover der sekundären Instanz auf den Standby-Knoten zu erzwingen.
gcloud alloydb instances failover SECONDARY_INSTANCE_ID \
--cluster=SECONDARY_CLUSTER_ID \
--region=REGION_ID \
--project=PROJECT_IDErsetzen Sie Folgendes:
SECONDARY_INSTANCE_ID: Die ID der sekundären Instanz, für die Sie ein Failover durchführen möchten.SECONDARY_CLUSTER_ID: Die ID des sekundären Clusters, mit dem die sekundäre Instanz verknüpft ist.REGION_ID: Die ID der Region der sekundären Instanz, z. B.us-central1.PROJECT_ID: Die ID des Projekts des sekundären Clusters.