content top
אופציית Geo-Replication ב-Azure

אופציית Geo-Replication ב-Azure

בכל כמה ימים חל איזה שינוי ב-Azure, מתווספות אופציות חדשות, והשמחה רבה.
הפוסט הזה מתאר את המצב נכון לעכשיו, ולא ירחק היום והוא יהיה לא אקטואלי; אז כדאי למהר בטרם נאחר..

המצרכים: אנחנו מחוברים ל-Azure, וכבר יש לנו שני שרתים- במערב אירופה ובצפון אירופה (מדובר ב-Paas ולא בשרתים וירטואליים!).
בשרת שבצפון אירופה יש SQL Database בשם Test2 שניצור לו רפליקה במערב אירופה:

image

אבוי: אנחנו ב-tier נחות ויש לשדרג את הדטבייס לגרסה יותר מהודרת כדי שנוכל לרפלק:

image

אנחנו נסתפק במינימום ההכרחי – S0, ונמתין שהשדרוג יסתיים:

image

ונמתין שהשדרוג יסתיים:

image

ולוחצים להמשך:

image

נקבל את המלצת המערכת ונבחר במערב אירופה – מקום בטוח וסולידי בימים אלו:

image

“במקרה” הכינונו מראש שרת במערב אירופה ובו נבחר:

image

והנה רפליקה לא לקריאה ממתינה לנו במערב אירופה:

image

נתחבר כעת ב-SSMS לשני השרתים – בצפון ובמערב אירופה.
בצפון אירופה נעבור לדטבייס Test2, אך במערב אירופה לא נצליח להיכנס לדטבייס אלא רק לשרת, מכיוון שהוא לא לקריאה.
בצפון אירופה ניצור טבלה חדשה ונכניס לתוכה שורה:

Create Table T_Try(ID Int Identity Primary Key Clustered,

                Srvr Sysname Default @@ServerName,

                Txt Varchar(10));


Insert Into T_Try(Txt) Values('a');


Select * From T_Try;

image

בעמודה האמצעית אמור להופיע שם שרת צפון אירופה.

למה צריך את הרפליקה במערב אירופה אם ממילא לא ניתן להתחבר אליה? ניזום לתרגול Failover:

image

קליק ימני על מערב אירופה, אישור והמתנה לסיום.

כעת ב-SSMS נקבל הודעת שגיאה מצפון אירופה כשננסה לעבוד מולו:

image

המערכת הפכה את מערב אירופה ל-Primary, ואילו צפון אירופה שלא באמת נזוק – הפך ל-Secondary;

ולראייה – כעת מצליח להתחבר למערב אירופה, להוסיף שורה לטבלה ולשלוף ממנה את הנתונים:

image

כעת ננסה משהו אחר- נבטל לגמרי את הרפליקציה:

image

כתוצאה מכך כל אחד משני הדטבייסים הופך לעצמאי, ניתן לקרוא ולעדכן אותו ללא קשר לאחר, והנתונים אינם מתרפלקים-

במערב אירופה:

image

ובצפון אירופה (תוך דילוג קליל על 1000 מספרים ב-Identity):

image

למה הדילוג? כנראה מדובר בתופעה מוכרת בגרסה 2012, הפעם בגרסת Azure שלה, שכתוצאה מ-restart ל-service המונה מדלג 1000 קדימה..

אופציה נוספת שלא ניסיתי כאן היא לשדרג את הדטבייס ל-tier עוד יותר גבוה, ואז ניתן לקבל רפליקה שניתן לקרוא ממנה; וזה בהחלט יכול להיות שימושי לחלוקת עומסים בין השרתים ולהעברת הקריאות והדוחות ל-Secondary ולהשאיר ב-Primary רק את השינויים בנתונים.

 


כתיבת תגובה

האימייל לא יוצג באתר. (*) שדות חובה מסומנים

1 × one =