Auf dieser Seite wird beschrieben, wie Sie den Systemstatus Ihres Spanner-Quorums mit zwei Regionen prüfen und das Quorum bei Dienstunterbrechungen manuell ändern.
Weitere Informationen zu Dual-Regionen finden Sie unter Biregionale Instanzkonfigurationen.
Status des biregionalen Quorums prüfen
Sie können den Status Ihres Quorums mit zwei Regionen auf folgende Weise prüfen:
- Auf der Seite Datenbankübersicht
- Systemstatistik-Dashboard verwenden
- Cloud Monitoring REST API oder Google Cloud CLI verwenden
Auf der Seite „Datenbankübersicht“
Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.
Klicken Sie auf den Namen der Instanz, die sich in einer Dual-Region-Konfiguration befindet.
Klicken Sie auf den Namen der Datenbank.
Suchen Sie unter „Übersicht“ nach der Zeile Quorum. Dort wird der Quorumstatus Ihrer Instanz mit zwei Regionen angezeigt:
Wenn das Quorum in beiden Regionen erreicht wird, wird der Status Dual-Region angezeigt.
Wenn ein manuelles oder von Google verwaltetes Failover durchgeführt wurde, wird der Name der Bereitstellungsregion angezeigt, z. B.
asia-south1.
Systemstatistik-Dashboard verwenden
Nachdem Sie eine Konfiguration mit zwei Regionen erstellt haben, können Sie den Messwert Zeitachse für den Quorumstatus in zwei Regionen im Dashboard „Systemstatistiken auf Instanzebene“ aufrufen.
Weitere Informationen finden Sie unter Dashboard mit Systemstatistiken aufrufen.
Monitoring REST API oder gcloud CLI verwenden
Sie können die Monitoring REST API oder die gcloud CLI verwenden, um den Status Ihres Quorums mit zwei Regionen zu prüfen.
Monitoring REST API
Verwenden Sie die Monitoring projects.timeSeries.list API, 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 Zeit 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 sehen, ist Ihre Region möglicherweise nicht fehlerfrei und Sie müssen das Quorum für die Dual-Region von „Dual-Region“ in „Eine Region“ ändern.
gcloud-CLI
Laden Sie die Datei
dual-region-quorum-health-check-script.shherunter.Dieses Bash-Skript prüft die Regionsintegrität Ihrer einzelnen Region. Wenn die Region fehlerfrei ist, führt das Skript den Befehl
gcloud spanner databases change-quorumaus, um das Dual-Region-Quorum manuell von Dual-Region auf eine Region umzustellen.Ersetzen Sie die folgenden Variablen im Skript:
PROJECT: Ihre Projekt-ID.INSTANCE: Ihre Instanz-ID.DATABASE: Ihre Datenbank-ID.SERVING_LOCATION: der Standort der Region in der Dual-Region, die Sie prüfen möchten.
Führen Sie das Skript in der Entwicklungsumgebung Ihrer Wahl aus. Weitere Informationen finden Sie unter gcloud CLI installieren und Spanner API einrichten.
Führen Sie manuell einen Failback durch, wenn Ihre Region fehlerhaft war und ein Failover stattgefunden hat.
Dual-Region-Quorum von Dual-Region in eine einzelne Region ändern (Failover)
So führen Sie ein manuelles Failover durch, wenn ein regionaler Ausfall oder ein Problem mit der Netzwerkpartitionierung vorliegt:
Google Cloud Console
Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.
Klicken Sie auf den Namen der Instanz, die sich in einer Dual-Region-Konfiguration befindet.
Klicken Sie im Navigationsmenü auf Systemstatistiken.
Suchen Sie nach dem Messwert Biregionale Zeitachse zur Quorumintegrität.
Wenn auf der biregionalen Zeitachse zur Quorumintegrität eine Störung in einer Region angezeigt wird, klicken Sie auf Change region quorum (Regionsquorum ändern).
Die Cloud Shell wird geöffnet.
Wenn Sie das Quorum mit zwei Regionen von zwei Regionen in eine einzelne Region ändern möchten, geben Sie den folgenden Befehl ein, den Sie auf dem Tab „gcloud CLI“ finden:
gcloud spanner databases change-quorum. Eine ausführliche Anleitung finden Sie auf dem Tabgcloud.
gcloud-CLI
Verwenden Sie den Befehl gcloud spanner databases change-quorum, um das Quorum für zwei Regionen von zwei Regionen 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 der Datenbank.INSTANCE_ID: Die permanente Kennzeichnung der Instanz.SERVING_LOCATION: Die regionale Instanzkonfiguration, zu der Sie ein Failover durchführen möchten. Wenn beispielsweiseasia-south1(Mumbai) nicht fehlerfrei ist und Sie ein Failover zuasia-south2(Delhi) durchführen möchten, geben Sieasia-south2ein. Prüfen Sie, obSERVING_LOCATIONdie fehlerfreie Region ist. Wenn Sie die falsche Region für den Failover auswählen, ist die Datenbank nicht verfügbar. Das lässt sich erst beheben, wenn die Region wieder online ist.
Optionale Flags:
--etag=ETAG: DasETAG-Argument kann für den Schutz vor Replay-Angriffen verwendet werden.
Führen Sie den Befehl gcloud spanner databases describe aus, um den Status des Vorgangs zum Ändern 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 in zwei Regionen ändern (Failback)
So führen Sie nach der Wiederherstellung der unterbrochenen Region oder nach Behebung des Netzwerkpartitionsfehlers manuell ein Failback durch:
Google Cloud Console
Rufen Sie in der Google Cloud Console die Seite Spanner-Instanzen auf.
Klicken Sie auf den Namen der Instanz, die sich in einer Dual-Region-Konfiguration befindet.
Klicken Sie im Navigationsmenü auf Systemstatistiken.
Suchen Sie nach dem Messwert Biregionale Zeitachse zur Quorumintegrität.
Klicken Sie auf der biregionalen Zeitachse zur Quorumintegrität auf Change region quorum (Regionsquorum ändern).
Cloud Shell wird geöffnet.
Wenn Sie das Quorum mit zwei Regionen von einer einzelnen Region in zwei Regionen ändern möchten, geben Sie den folgenden Befehl ein, den Sie auf dem Tab „gcloud CLI“ finden:
gcloud spanner databases change-quorum. Eine ausführliche Anleitung finden Sie auf dem Tabgcloud.
gcloud-CLI
Verwenden Sie den Befehl gcloud spanner databases change-quorum, um das Quorum für zwei Regionen von einer einzelnen Region in 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 ArgumentETAGkann für die optimistische Gleichzeitigkeitssteuerung verwendet werden.
Führen Sie den Befehl gcloud spanner databases describe aus, um den Status des Vorgangs zum Ändern des Quorums zu prüfen. Das Feld quorumInfo enthält Informationen zum Vorgang.
gcloud spanner databases describe DATABASE_ID
--instance=INSTANCE_ID