Biregionales 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.

Status des Quorums für die 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 der Quorum-Status der Instanz mit zwei Regionen angezeigt wird:

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

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

Systemstatistik-Dashboard verwenden

Nachdem Sie eine Zweiregionenkonfiguration erstellt haben, können Sie den Messwert Zeitachse für den Quorum-Status der Zweiregionenkonfiguration im Dashboard „Systeminformationen“ auf Instanzebene aufrufen.

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

Monitoring REST API oder gcloud CLI verwenden

Sie können die Monitoring REST API oder die gcloud CLI verwenden, um den Status des Quorums mit zwei Regionen zu prüfen.

Monitoring REST API

Verwenden Sie die Monitoring API projects.timeSeries.list, um die Biregionale Zeitachse zur Quorumintegrität abzufragen und zu prüfen, 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 eine JSON-Antwort ähnlich wie diese 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 erhalten, ist Ihre Region möglicherweise nicht fehlerfrei und Sie müssen möglicherweise das Quorum für die Dual-Region von „Dual-Region“ zu „Eine Region“ ändern.

gcloud-CLI

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

    Dieses Bash-Script prüft die regionale Systemdiagnose einer einzelnen Region. Wenn die Region fehlerfrei ist, führt das Script den Befehl gcloud spanner databases change-quorum aus, um das Dual-Region-Quorum manuell von „Dual-Region“ zu „Einzelne Region“ zu failovern.

  2. Ersetzen Sie im Script die folgenden Variablen:

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

  4. Führen Sie einen manuellen Failback durch, wenn Ihre Region fehlerhaft war und es zu einem Failover kam.

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

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 Zwei-Regionen-Konfiguration befindet.

  3. Klicken Sie im Navigationsmenü auf Systemstatistiken.

  4. Suchen Sie den Messwert Biregionale Zeitachse zur Quorumintegrität.

  5. Wenn die biregionale Zeitachse zur Quorumintegrität eine Störung in einer Region anzeigt, klicken Sie auf Region-Quorum ändern.

    Die Cloud Shell wird geöffnet.

  6. Wenn Sie das Quorum für die zwei Regionen von „Zwei Regionen“ zu „Einzelne Region“ ändern möchten, geben Sie auf dem Tab „gcloud CLI“ den folgenden Befehl ein: gcloud spanner databases change-quorum. Eine ausführliche Anleitung finden Sie auf dem Tab gcloud.

gcloud-CLI

Verwenden Sie den Befehl gcloud spanner databases change-quorum, um das Quorum für die Dual-Region von „Dual-Region“ in „Eine 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 der Datenbank.

  • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.

  • SERVING_LOCATION: Die regionale Instanzkonfiguration, auf die Sie das Failover ausführen möchten. 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. Prüfen Sie, ob SERVING_LOCATION die fehlerfreie Region ist. Wenn Sie eine falsche Region für den Failover 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 Region zu einer Dual-Region (Failback) ändern

So führen Sie einen manuellen Failback durch, nachdem die unterbrochene Region wieder fehlerfrei ist oder das Problem mit der Netzwerkpartition behoben wurde:

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 Biregionale Zeitachse zur Quorumintegrität.

  5. Klicken Sie auf der Biregionalen Zeitachse zur Quorumintegrität auf Region-Quorum ändern.

    Cloud Shell wird geöffnet.

  6. Wenn Sie das Quorum für die Zweiregionenkonfiguration von „Zweiregionen“ zu „Einzelne Region“ ändern möchten, geben Sie auf dem Tab „gcloud CLI“ den folgenden Befehl ein: gcloud spanner databases change-quorum. Eine ausführliche Anleitung finden Sie auf dem Tab gcloud.

gcloud-CLI

Verwenden Sie den Befehl gcloud spanner databases change-quorum, um das Quorum für die zwei Regionen von „Einzelregion“ zu „Zwei Regionen“ zu ändern.

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

Ersetzen Sie Folgendes:

  • DATABASE_ID: Die permanente Kennzeichnung der Datenbank.

  • INSTANCE_ID: Die permanente Kennzeichnung der Instanz.

Optionale Flags:

  • --etag=ETAG: Das Argument ETAG kann für die optimistische Gleichzeitigkeitssteuerung 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

Nächste Schritte