בדף הזה מתואר מה קורה במהלך ניסוי עם סוג השגיאה Failover Cloud SQL.
איך עובד הפגם ב-Failover Cloud SQL
הטריגר Failover Cloud SQL fault מפעיל מעבר לגיבוי (failover) בזמינות גבוהה (HA) עבור מופע של Cloud SQL על ידי קריאה לשיטה failover ב-Cloud SQL Admin API. המטרה של התקלה הזו היא לאפשר לכם לבדוק את ההתנהגות של השירות ואת החוסן (resilience) שלו כשמופע Cloud SQL הראשי עובר למופע ההמתנה בתחום (zone) אחר באותו אזור.
היעד של התקלה הזו הוא מופע Cloud SQL.
מה קורה במהלך הפעלת הניסוי
במהלך הניסוי, המשאבים שמשתתפים בו עוברים את השינויים הבאים בהתאם למצבים שלו.
משאב |
|
|
|
Instance |
ללא |
קידום מופע המתנה של HA |
לא רלוונטי |
אימות של מעבר גיבוי אוטומטי (failover) ב-HA וניסיונות חוזרים
הבק-אנד של בדיקת הזרקת התקלות מבצע בדיקות אימות לפני הפעלת יתירות הכשל כדי לוודא שהסביבה מתאימה. התהליך הזה מתרחש בשלב INJECTING, לפני שליחת קריאה ל-API sqladmin.instances.failover למישור הבקרה של Cloud SQL:
- המערכת בודקת שהסטטוס של מופע Cloud SQL הוא
RUNNABLE. אם המופע נמצא במצב אחר כלשהו במהלך ניסוי פעיל, תקבלו הודעה מבדיקת הזרקת תקלות. - המערכת בודקת שהמדד
cloudsql.googleapis.com/database/available_for_failoverהואTRUE.
אם התנאים האלה לא מתקיימים, הבקשה ליתירות כשל מתווספת לתור לניסיון חוזר.
טיפול בכשלים
אם הגיבוי האוטומטי כבר מתבצע או אם מתרחשת שגיאה:
- במהלך ההזרקה: אם קריאת היתירות כשל נדחית על ידי מישור הבקרה של Cloud SQL (לדוגמה, אם מכונת הגיבוי לא תקינה), הניסוי עובר למצב
STOPPING. - מעקב אחרי מעבר לגיבוי: אם פעולת המעבר לגיבוי לא מגיעה לסטטוס
DONEתוך 10 דקות, ה-backend של בדיקת הזרקת תקלות שולח שאילתה לגבי שגיאות הפעולה, מעביר את הניסוי למצבSTOPPINGומסמן את הניסוי כניסוי שנתקל בשגיאה.
בדיקה של הזרקת תקלות מסתמכת על מישור הבקרה של Cloud SQL כמקור האמת. מישור הבקרה דוחה כל ניסיון למעבר לגיבוי אם מופע ההמתנה לא תקין. בבדיקות הזרקת תקלות נעשה שימוש בבדיקות לפני הפעלה ובמעקב אחר סטטוס כדי להימנע מהשגיאות האלה או לדווח עליהן, במקום לנסות שוב באופן אוטומטי אחרי דחייה.
מעבר חזרה ידני
מכיוון שיתירות כשל היא שינוי עם שמירת מצב, הפסקת הניסוי לא תגרום אוטומטית לחזרה למופע הראשי המקורי (כפי שמצוין בערך 'לא רלוונטי' בשלב REVERTING). מסד הנתונים ימשיך לפעול באזור המשני.
כדי להחזיר את המכונה לתחום (zone) המקורי שלה אחרי שהניסוי מסתיים, צריך להפעיל ידנית עוד יתירות כשל באמצעות המסוף Google Cloud או ה-CLI של gcloud.