Dual-Region-Quorum ändern

Auf dieser Seite wird beschrieben, wie Sie den Gesundheitsstatus des Spanner-Quorums mit zwei Regionen prüfen und das Quorum bei Dienstunterbrechungen manuell ändern.

Weitere Informationen zu Dual-Regionen finden Sie unter Instanzkonfigurationen mit Dual-Regionen.

Quorumstatus für zwei Regionen prüfen

So können Sie den Status des Quorums für die zwei Regionen prüfen:

Auf der Seite „Datenbankübersicht“

  1. Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.

    Zur Seite "VM-Instanzen"

  2. Klicken Sie auf den Namen der Instanz, die sich in einer Dual-Region-Konfiguration befindet.

  3. Klicken Sie auf den Namen der Datenbank.

  4. Suchen Sie unter „Übersicht“ nach der Zeile Quorum, in der die Dual-Region-Daten angezeigt werden. Quorumstatus der Instanz:

    • Wenn das Quorum in beiden Regionen erreicht ist, wird als Status Dual-Region angezeigt.

    • Wenn ein manueller oder von Google verwalteter Failover durchgeführt wurde, wird die Meldung Name der Bereitstellungsregion, z. B. asia-south1.

Dashboard für Systemstatistiken verwenden

Nachdem Sie eine Dual-Region-Konfiguration erstellt haben, können Sie die Verfügbarkeit des Dual-Region-Quorums im Dashboard für Systemstatistiken auf Instanzebene.

Weitere Informationen finden Sie unter Dashboard für Systemstatistiken aufrufen.

Monitoring REST API oder gcloud CLI verwenden

Sie können die Monitoring REST API oder die gcloud CLI verwenden um den Zustand Ihres Dual-Region-Quorums zu überprüfen.

REST API überwachen

Monitoring projects.timeSeries.list verwenden API zum Abfragen der Verfügbarkeit des dual-regionalen Quorums wird geprüft, ob eine Region zu einem bestimmten Zeitpunkt fehlerfrei ist.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Projekt-ID.
  • DUAL_REGION_LOCATION: der Standort der Region in der Dual-Region, die Sie prüfen möchten.
  • START_TIME: die Startzeit der Abfrage. Wir empfehlen, 5 Minuten vor der aktuellen Uhrzeit zu verwenden.
  • END_TIME: die Endzeit der Abfrage. Wir empfehlen, die aktuelle Uhrzeit zu verwenden.

HTTP-Methode und URL:

GET https://monitoring.googleapis.com/v3/projects/PROJECT_ID/timeSeries

JSON-Text anfordern:

{
  "name": "PROJECT_ID",
  "aggregation.alignmentPeriod": "60s",
  "aggregation.crossSeriesReducer": "REDUCE_FRACTION_TRUE",
  "aggregation.groupByFields": "resource.labels.location",
  "aggregation.perSeriesAligner": "ALIGN_NEXT_OLDER",
  "filter": "metric.labels.quorum_availability = "Healthy" AND metric.type = "spanner.googleapis.com/instance/dual_region_quorum_availability" AND resource.labels.location = "DUAL_REGION_LOCATION"",
  "interval.startTime": "START_TIME",
  "interval.endTime": "END_TIME"
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten in etwa folgende JSON-Antwort erhalten:

{
  "timeSeries": [
    {
      "metric": {
        "type": "spanner.googleapis.com/instance/dual_region_quorum_availability"
      },
      "resource": {
        "type": "spanner_instance",
        "labels": {
          "project_id": "spanner-project",
          "location": "australia-southeast1"
        }
      },
      "metricKind": "GAUGE",
      "valueType": "DOUBLE",
      "points": [
        {
          "interval": {
            "startTime": "2024-07-11T05:41:23Z",
            "endTime": "2024-07-11T05:41:23Z"
          },
          "value": {
            "doubleValue": 1
          }
        }
      ]
    }
  ],
  "unit": "10^2.%"
}

Wenn Sie keine ähnliche Antwort sehen, ist Ihre Region möglicherweise nicht fehlerfrei müssen Sie möglicherweise Ändern Sie das Dual-Region-Quorum von einer Dual-Region in eine einzelne Region.

gcloud-CLI

  1. Laden Sie die Datei dual-region-quorum-health-check-script.sh herunter.

    Dieses Bash-Skript prüft den Status der einzelnen Region. Wenn der Parameter fehlerfrei ist, führt das Skript gcloud spanner databases change-quorum für das manuelle Failover des Dual-Region-Quorums von Dual-Region zu in einer einzelnen Region.

  2. Ersetzen Sie im Script die folgenden Variablen:

    • PROJECT: Ihre Projekt-ID.
    • INSTANCE ist Ihre Instanz-ID.
    • DATABASE: Ihre Datenbank-ID.
    • SERVING_LOCATION: der Standort der Region in der Dual-Region, die die Sie überprüfen möchten.
  3. Führen Sie das Skript in der Entwicklungsumgebung Ihrer Wahl aus. Weitere Informationen finden Sie unter Google Cloud CLI installieren und Spanner API einrichten

  4. Manueller Failback, wenn Ihre Region fehlerhaft war und war ein Failover.

Dual-Region-Quorum von Dual-Region zu einer einzelnen Region (Failover) ändern

So führen Sie bei einem regionalen Ausfall oder einem Problem mit der Netzwerkpartitionierung ein manuelles Failover durch:

Google Cloud Console

  1. Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.

    Zur Seite "VM-Instanzen"

  2. Klicken Sie auf den Namen der Instanz, die sich in einer Dual-Region-Konfiguration befindet.

  3. Klicken Sie im Navigationsmenü auf Systemstatistiken.

  4. Suchen Sie den Messwert Verfügbarkeit des Dual-Region-Quorums.

  5. Wenn der Messwert für die Verfügbarkeit des Quorums in zwei Regionen eine Störung in einer Region anzeigt, klicken Sie oben in der Google Cloud Console auf Symbol für die Schaltfläche „Cloud Shell aktivieren“ Cloud Shell aktivieren.

    Cloud Shell wird geöffnet.

  6. Um das Dual-Region-Quorum von Dual-Region auf eine einzelne Region zu ändern, Geben Sie den folgenden Befehl ein, der auf dem Tab der gcloud CLI angezeigt wird: gcloud spanner databases change-quorum Eine ausführliche Anleitung Weitere Informationen finden Sie auf dem Tab gcloud.

gcloud-CLI

Verwenden Sie den gcloud spanner databases change-quorum. , um das Dual-Region-Quorum von einer Dual-Region in eine einzelne Region zu ändern.

gcloud spanner databases change-quorum
    DATABASE_ID --instance=INSTANCE_ID
    --single-region --serving-location=SERVING_LOCATION
    [--etag=ETAG]

Ersetzen Sie Folgendes:

  • DATABASE_ID: Die permanente Kennzeichnung des Datenbank.

  • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.

  • SERVING_LOCATION: Die regionale Instanz Konfiguration, auf die ein Failover erfolgen soll. Wenn beispielsweise asia-south1 (Mumbai) nicht betriebsbereit ist und Sie einen Failover zu asia-south2 (Delhi) ausführen möchten, geben Sie asia-south2 ein. Achten Sie darauf, dass SERVING_LOCATION die fehlerfreie Region Wenn Sie für den Failover die falsche Region auswählen, ist die Datenbank nicht verfügbar. Sie kann erst wiederhergestellt werden, wenn die Region wieder online ist.

Optionale Flags:

  • --etag=ETAG: Das Argument ETAG kann für den Replay-Schutz verwendet werden.

Führen Sie den Befehl gcloud spanner databases describe aus, um den Status der Änderung des Quorums zu prüfen. Das Feld quorumInfo enthält Informationen zum Vorgang.

gcloud spanner databases describe DATABASE_ID
    --instance=INSTANCE_ID

Dual-Region-Quorum von einer einzelnen Region in Dual-Region ändern (Failback)

Manuelles Failback, nachdem die unterbrochene Region fehlerfrei ist oder nachdem das Netzwerk Partitionsproblem behoben:

Google Cloud Console

  1. Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.

    Zur Seite "VM-Instanzen"

  2. Klicken Sie auf den Namen der Instanz, die sich in einer Dual-Region-Konfiguration befindet.

  3. Klicken Sie im Navigationsmenü auf Systemstatistiken.

  4. Suchen Sie den Messwert Verfügbarkeit des Dual-Region-Quorums.

  5. Klicken Sie im Messwert „Dual-Region-Quorumverfügbarkeit“ auf Regionsquorum ändern.

    Cloud Shell wird geöffnet.

  6. Um das Dual-Region-Quorum von Dual-Region auf eine einzelne Region zu ändern, Geben Sie den folgenden Befehl ein, der auf dem Tab der gcloud CLI angezeigt wird: gcloud spanner databases change-quorum Eine ausführliche Anleitung Weitere Informationen finden Sie auf dem Tab gcloud.

gcloud-CLI

Verwenden Sie den gcloud spanner databases change-quorum. , um das Dual-Region-Quorum von einer einzelnen Region in Dual-Region zu ändern.

gcloud spanner databases change-quorum
    DATABASE_ID --instance=INSTANCE_ID
    --dual-region
    [--etag=ETAG]

Ersetzen Sie Folgendes:

  • DATABASE_ID: Die permanente Kennzeichnung des Datenbank.

  • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.

Optionale Flags:

  • --etag=ETAG: Die ETAG Argument kann für optimistische Nebenläufigkeitserkennung verwendet werden.

Führen Sie den folgenden Befehl aus, um den Status des Quorumänderungsvorgangs zu prüfen: gcloud spanner databases describe . Das Feld quorumInfo enthält Informationen zum Vorgang.

gcloud spanner databases describe DATABASE_ID
    --instance=INSTANCE_ID

Nächste Schritte