בדף הזה מוסבר איך להשתמש ברפליקות לקריאה חוצות אזורים (רפליקות שנוצרו באזור שונה מהאזור של השרת הראשי) ואיך להעלות אותן בדרגה לצורך העברה אזורית או תוכנית התאוששות מאסון (DR).
סקירה כללית
יש שני תרחישים נפוצים לקידום רפליקות חוצות אזורים:
- העברה אזורית: ביצוע העברה מתוכננת של מסד נתונים לאזור אחר.
- תוכנית התאוששות מאסון (DR): מעבר אוטומטי של מסד נתונים לאזור אחר במקרה שהאזור הראשי לא זמין.
בשני תרחישי השימוש האלה צריך להגדיר רפליקציה בין אזורים ואז לקדם את הרפליקה. ההבדל העיקרי ביניהם הוא אם הקידום של הרפליקה מתוכנן (במקרה של מיגרציה אזורית) או לא מתוכנן (נדרש יתירות כשל לאזור של הרפליקה כדי להמשיך את הפעולות כי הראשי הפך ללא זמין).
שבה מופעלת באופן אוטומטי מכונה במצב המתנה (שאינו רפליקה) בתור המופע הראשי במקרה של כשל או הפסקה זמנית בשירות באזור מסוים.העברה אזורית
אתם יכולים להשתמש בעותק משוכפל באזור אחר כדי להעביר את מסד הנתונים לאזור אחר עם זמן השבתה מינימלי. הרעיון הכללי הוא ליצור העתק באזור אחר, לחכות עד שהשכפול יסתיים, לקדם אותו ואז להפנות את הלקוחות למופע החדש שקודם.
השלבים שנדרשים לקידום זהים לאלה שנדרשים לקידום של עותק משוכפל באזור. צריך לפעול לפי ההוראות האלה כדי לוודא שלמופע החדש שקודם יש את כל העסקאות שהועברו למופע הראשי המקורי. אחרי שמעלים את הרפליקה לרמה גבוהה יותר ומוודאים שהמופע החדש שקודם פועל, צריך לעדכן את כל לקוחות מסד הנתונים כדי להתחבר למופע החדש.
תוכנית התאוששות מאסון (DR)
אפשר להשתמש בעותקים משוכפלים בין אזורים כחלק מתוכנית התאוששות מאסון (DR). אתם יכולים לקדם רפליקה בין אזורים כדי לבצע מעבר לגיבוי בעת כשל לאזור אחר, אם האזור של המופע הראשי לא יהיה זמין למשך תקופה ממושכת.
מידע נוסף על התאוששות מאסון זמין במאמר מידע על התאוששות מאסון ב-Cloud SQL.
תוכנית התאוששות מאסון (DR) מתקדמת
אם אתם משתמשים במהדורת Cloud SQL Enterprise Plus, אתם יכולים ליצור עותק משוכפל מדורג ולהשתמש בו כעותק משוכפל להתאוששות מאסון (DR) לצורך התאוששות מתקדמת מאסון (DR). ב-DR מתקדם, מבצעים מעבר לגיבוי (failover) של העותק כדי להחליף את המופע הראשי בעותק ה-DR המיועד. המופע הראשי הישן הופך לרפליקה של רפליקת ה-DR שקודמה. אפשר לבצע מעבר לגיבוי (failover) של העתק רק לעותק הגיבוי שמוגדר ל-DR. עדיין אפשר להעלות בדרגה רפליקות לקריאה אחרות בלי יתירות כשל.
כדי להחזיר את ה-Deployment למצב המקורי אחרי יתירות הכשל של הרפליקה עם אפס אובדן נתונים, אפשר לבצע מעבר. מכיוון שהמופע הראשי הישן הוא העתק של המופע הראשי החדש, אפשר להחליף שוב את התפקידים כדי לשחזר את המופע הראשי הישן.
מידע נוסף זמין במאמר בנושא התאוששות מתקדמת מאסון (DR).
אימות קריטריוני המעבר לגיבוי
מכיוון שהשכפול הוא אסינכרוני, כשמתרחש הפסקת חשמל באזור ומנסים לבצע מעבר לגיבוי, יכול להיות שחלק מהעסקאות האחרונות שבוצעו בשרת הראשי יאבדו (לא ישוכפלו לשרת המשני). בכל פעם שמופע ראשי הופך ללא זמין, השלבים הבאים מראים (1) איך לקבוע את כמות הנתונים, אם יש כאלה, שאולי אבדו במעבר לגיבוי במקרה של כשל חוצה אזורים, ו-(2) איך לוודא שהעותק המשוכפל שהועלה ישקף כמה שיותר פעולות כתיבה מהזמן האחרון.
אפשר לבדוק את סטטוס השכפול של העותק המשוכפל באמצעות לוח הבקרה של Always On Availability Group ב-SQL Server Management Studio (SSMS), או באמצעות כלי אחר. מידע נוסף על שימוש ב-Transact-SQL:
- Always On Availability Groups Dynamic Management Views - Functions
- sys.dm_hadr_availability_group_states
- sys.dm_hadr_availability_replica_states
קידום של עותק לקריאה
אחרי שתקבעו שהקריטריונים למעבר לגיבוי (failover) מתקיימים, תוכלו להפוך אחת מהרפליקות למופע עצמאי שניתן לכתוב בו. לדוגמה, נבחן את התרחיש הבא:
- באזור א' (us-central1) יש מכונה ראשית בזמינות גבוהה (db-a-0)
- באזור ב' (us-west1) יש רפליקה חוצה-אזורים בזמינות גבוהה (db-b-1) של db-a-0
- באזור C (us-east1) יש עותק משוכפל חוצה-אזורים (db-c-1) של db-a-0
אפשר לקדם את db-b-1 באזור B כך שיהפוך למופע עצמאי עם הרשאות כתיבה.
הוראות מפורטות זמינות במאמר בנושא קידום רפליקה.
מוודאים שסוג המכונה מתאים
כדי לוודא שסוג המכונה של המכונה החדשה שהועברה לרמת ייצור מתאים לעומס העבודה שלה, עוקבים אחרי מדדים במכונה, כמו שימוש במעבד (CPU) ובזיכרון. אם המופע החדש שודרג קטן יותר מהמופע הראשי הקודם, מומלץ לשנות את הגודל של המופע ששודרג כך שיתאים למופע הראשי הקודם, כדי שיוכל להתמודד עם אותה כמות של עומס.
הפעלת זמינות גבוהה למופע המקודם
להגדרת תוכנית התאוששות מאסון, מומלץ להגדיר את הרפליקה שרוצים להעלות בדרגה כרפליקה בזמינות גבוהה. לחלופין, אפשר להגדיר את המופע החדש שקודם לדרגה גבוהה כזמינות גבוהה. אם תבחרו שלא להגדיר את העותק לקריאה עם זמינות גבוהה, תוכלו גם להגדיר את המופע עם זמינות גבוהה אם ומתי תקדמו אותו.
כשמשדרגים רפליקות לקריאה, הגיבויים מוגדרים אוטומטית. ההגדרה של רפליקה לקריאה לצורך זמינות גבוהה מתבצעת באותו אופן כמו בהגדרה של מופע ראשי. מידע נוסף מופיע במאמר בנושא הגדרת המופע לזמינות גבוהה.
יצירה מחדש של עותקים נוספים
אם מקדמים רפליקה להיות מכונה ראשית, צריך ליצור מחדש את כל הרפליקות האחרות של המכונה הראשית הקודמת. לדוגמה, נניח את ההגדרה שמופיעה למעלה וחוזרת כאן:
- באזור א' (us-central1) יש מכונה ראשית בזמינות גבוהה (db-a-0)
- באזור B (us-west1) יש רפליקה בין-אזורית (db-b-1) של db-a-0
- באזור C (us-east1) יש עותק משוכפל חוצה-אזורים (db-c-1) של db-a-0
אם המופע הראשי (db-a-0) לא זמין, אפשר להגדיר את העותק המשוכפל באזור ב' כמופע הראשי. כדי להוסיף שוב רפליקות באזורים א' ו-ג', צריך למחוק את המופעים הישנים (המופע הראשי הקודם באזור א' והרפליקה באזור ג') וליצור רפליקות חדשות לקריאה מהמופע הראשי החדש באזור ב'.
ההגדרה שתתקבל תהיה:
- באזור א' (us-central1) יש עכשיו רפליקה חוצת-אזורים (db-a-1)
- אזור ב' (us-west1) כולל עכשיו את המכונה הראשית (db-b-1)
- באזור C (us-east1) יש עכשיו רפליקה חדשה חוצת-אזורים (db-c-2)