בדף הזה מוסבר איך להשתמש ברפליקות לקריאה חוצות אזורים (רפליקות שנוצרו באזור שונה מהאזור של השרת הראשי) ואיך להעלות אותן בדרגה לצורך העברה אזורית או תוכנית התאוששות מאסון (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)
- באזור B (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)
- באזור ב' (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)