בדף הזה מוסבר איך לבדוק את סטטוס התקינות של קוורום בשני אזורים ב-Spanner, ואיך לשנות את הקוורום באופן ידני במקרה של שיבושים בשירות.
מידע נוסף על צמדים של שני אזורים זמין במאמר תצורות של מופעים עם שני אזורים ב-Spanner.
בדיקת סטטוס הקוורום בשני אזורים
אפשר לבדוק את הסטטוס של הקוורום בשני אזורים בדרכים הבאות:
- בדף סקירה כללית של מסד הנתונים
- איך משתמשים במרכז הבקרה System insights
- שימוש ב-API בארכיטקטורת REST של Cloud Monitoring או ב-Google Cloud CLI
בדף הסקירה הכללית של מסד הנתונים
נכנסים לדף Spanner Instances במסוף Google Cloud .
לוחצים על השם של המכונה שמוגדרת בשני אזורים.
לוחצים על שם מסד הנתונים.
בקטע Overview (סקירה כללית), חפשו את השורה Quorum (קוורום), שבה מוצג סטטוס הקוורום של המופע בשני אזורים:
אם מושג קוורום בשני האזורים, הסטטוס יהיה Dual-region.
אם בוצע מעבר ידני או מעבר שמנוהל על ידי Google לגיבוי במקרה של כשל, יוצג שם האזור שבו מתבצעת ההצגה (לדוגמה,
asia-south1).
שימוש במרכז הבקרה System insights
אחרי שיוצרים הגדרה של שני אזורים, אפשר לראות את המדד ציר הזמן של תקינות הקוורום בשני אזורים בלוח הבקרה 'תובנות מערכת ברמת המכונה'.
מידע נוסף זמין במאמר בנושא צפייה בלוח הבקרה של תובנות המערכת.
שימוש ב-API בארכיטקטורת REST של Monitoring או ב-CLI של gcloud
אתם יכולים להשתמש ב-Monitoring REST API או ב-CLI של gcloud כדי לבדוק את תקינות הקוורום של האזורים הכפולים.
Monitoring REST API
אפשר להשתמש ב-Monitoring projects.timeSeries.list
API כדי לשלוח שאילתה אל ציר הזמן של תקינות הקוורום באזור כפול ולבדוק אם אזור מסוים תקין בזמן נתון.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- PROJECT_ID: מזהה הפרויקט.
- DUAL_REGION_LOCATION: המיקום של האזור באזור הכפול שרוצים לבדוק.
- START_TIME: שעת ההתחלה של השאילתה. מומלץ להשתמש בערך של 5 דקות לפני השעה הנוכחית.
- END_TIME: שעת הסיום של השאילתה. מומלץ להשתמש בשעה הנוכחית.
ה-method של ה-HTTP וכתובת ה-URL:
GET https://monitoring.googleapis.com/v3/projects/PROJECT_ID/timeSeries
תוכן בקשת JSON:
{
"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"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
{
"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.%"
}
אם לא קיבלתם תשובה דומה, יכול להיות שהאזור לא תקין ותצטרכו לשנות את הקוורום של שני האזורים מאזור כפול לאזור יחיד.
CLI של gcloud
מורידים את הקובץ
dual-region-quorum-health-check-script.sh.סקריפט ה-Bash הזה בודק את תקינות האזור שלכם. אם האזור תקין, הסקריפט מריץ את הפקודה
gcloud spanner databases change-quorumכדי לבצע מעבר ידני לגיבוי במקרה של כשל של קוורום בשני אזורים, מאזור כפול לאזור יחיד.מחליפים את המשתנים הבאים בסקריפט:
PROJECT: מזהה הפרויקט.-
INSTANCE: מזהה המופע. -
DATABASE: מזהה מסד הנתונים. -
SERVING_LOCATION: המיקום של האזור בשני האזורים שרוצים לבדוק.
מריצים את הסקריפט בסביבת הפיתוח הרצויה. מידע נוסף זמין במאמר התקנת ה-CLI של gcloud והגדרת Spanner API.
לבצע מעבר חזרה באופן ידני אם האזור לא היה תקין והיה מעבר לגיבוי.
שינוי הקוורום של שני אזורים מאזור כפול לאזור יחיד (מעבר לגיבוי בעת כשל)
כדי לבצע מעבר לגיבוי ידני אם יש הפסקת חשמל אזורית או בעיה בחלוקת הרשת:
מסוף Google Cloud
נכנסים לדף Spanner Instances במסוף Google Cloud .
לוחצים על השם של המכונה שמוגדרת בשני אזורים.
בתפריט הניווט, לוחצים על תובנות לגבי המערכת.
מאתרים את המדד Dual-region quorum health timeline.
אם ציר הזמן של תקינות הקוורום בשני אזורים מראה שיש שיבוש באזור מסוים, לוחצים על שינוי קוורום אזורי.
Cloud Shell ייפתח.
כדי לשנות את הקוורום בשני אזורים מאזור כפול לאזור יחיד, מזינים את הפקודה הבאה שמופיעה בכרטיסייה ה-CLI של gcloud:
gcloud spanner databases change-quorum. הוראות מפורטות מופיעות בכרטיסייהgcloud.
CLI של gcloud
כדי לשנות את הקוורום של שני אזורים מאזור כפול לאזור יחיד, משתמשים בפקודה gcloud spanner databases change-quorum.
gcloud spanner databases change-quorum
DATABASE_ID --instance=INSTANCE_ID
--single-region --serving-location=SERVING_LOCATION
[--etag=ETAG]
מחליפים את מה שכתוב בשדות הבאים:
DATABASE_ID: המזהה הקבוע של מסד הנתונים.
INSTANCE_ID: המזהה הקבוע של המופע.
SERVING_LOCATION: התצורה של המופע האזורי שרוצים לבצע אליו מעבר לגיבוי. לדוגמה, אם האזורasia-south1(מומבאי) לא תקין ואתם רוצים לבצע מעבר לגיבוי (failover) לאזורasia-south2(דלהי), צריך להזיןasia-south2. חשוב לוודא שSERVING_LOCATIONהוא האזור התקין. בחירה באזור שגוי למעבר לגיבוי כשל תגרום לחוסר זמינות של מסד הנתונים, ולא ניתן יהיה לשחזר אותו עד שהאזור יחזור להיות אונליין.
דגלים אופציונליים:
-
--etag=ETAG: אפשר להשתמש בארגומנטETAGכדי להגן מפני הפעלה חוזרת.
כדי לבדוק את הסטטוס של פעולת שינוי הקוורום, מריצים את הפקודה gcloud spanner databases describe. השדה quorumInfo מספק מידע על הפעולה.
gcloud spanner databases describe DATABASE_ID
--instance=INSTANCE_ID
שינוי הקוורום של שני אזורים מאזור יחיד לשני אזורים (חזרה למצב תקין)
כדי לבצע מעבר חזרה ידני אחרי שהאזור שהופרע תקין או אחרי שהבעיה בחלוקת הרשת נפתרה:
מסוף Google Cloud
נכנסים לדף Spanner Instances במסוף Google Cloud .
לוחצים על השם של המכונה שמוגדרת בשני אזורים.
בתפריט הניווט, לוחצים על תובנות לגבי המערכת.
מאתרים את המדד Dual-region quorum health timeline.
בציר הזמן של תקינות הקוורום באזור הכפול, לוחצים על שינוי קוורום באזור.
ייפתח Cloud Shell.
כדי לשנות את הקוורום בשני אזורים מאזור יחיד לשני אזורים, מזינים את הפקודה הבאה שמופיעה בכרטיסייה ה-CLI של gcloud:
gcloud spanner databases change-quorum. הוראות מפורטות מופיעות בכרטיסייהgcloud.
CLI של gcloud
כדי לשנות את הקוורום של שני אזורים מאזור יחיד לשני אזורים, משתמשים בפקודה gcloud spanner databases change-quorum.
gcloud spanner databases change-quorum
DATABASE_ID --instance=INSTANCE_ID
--dual-region
[--etag=ETAG]
מחליפים את מה שכתוב בשדות הבאים:
DATABASE_ID: המזהה הקבוע של מסד הנתונים.
INSTANCE_ID: המזהה הקבוע של המופע.
דגלים אופציונליים:
-
--etag=ETAG: אפשר להשתמש בארגומנטETAGלבקרת בו-זמניות אופטימית.
כדי לבדוק את הסטטוס של פעולת שינוי הקוורום, מריצים את הפקודה gcloud spanner databases describe. השדה quorumInfo מספק מידע על הפעולה.
gcloud spanner databases describe DATABASE_ID
--instance=INSTANCE_ID