Failover Clustering in Windows 2012

17 בפברואר 2013

 moti  מאת: מוטי באני,מיקרוסופט ישראל

Windows Server 2012 היא מערכת ההפעלה החדשה ביותר של מיקרוסופט, רשימת התכונות החדשות ארוכה ומרשימה, ובמאמר זה אני אתמקד בחלק מהשינויים שנעשו בתחום Failover Clustering. למי שלא מכיר, Failover Clustering מאפשר שרידות גבוהה ליישומים (כמו Exchange או File Servers) ע”י שימוש במספר מחשבים. במידה ותקלה מתרחשת (ברמת החומרה, מערכת ההפעלה או האפליקציה) הקלאסטר יכול להעביר את האפליקציה בצורה אוטומטית לשרת אחר.

זמין ב-Standard Edition

בעבר, כדי להשתמש ב-Failover Clustering היינו צריכים להתקין Windows Server בגרסת Enterprise או Datacenter. ב-2012 אין למעשה גרסת Enterprise, אלא רק גרסאות Datacenter ו-Standard, וניתן להתקין את Failover Clustering על שתי הגרסאות. למעשה, ההבדל היחיד בין הגרסאות הוא בהרשאה להרצת מכונות וירטואליות (2  מכונות ב-Standard וכמות לא מוגבלת ב-Datacenter). מבחינת כל השאר, תוכנה או תמיכה בחומרה, אין שום הבדל בין הגרסאות.

Scalability

Scalability היא היכולת של מערכת לתמוך בעומסי עבודה הולכים וגדלים, כאשר יש חלוקה ל-Scale out (היכולת לגדול ע”י הוספת שרת חדש) ו-Scale up (הגדלה של כמות המשאבים שיכולים לרוץ על שרת בודד). Windows Server 2012 תוכנן מראש לתמוך בצורה יעילה בעומסי עבודה גדולים, ולכן תומך במספר גדול מאי-פעם של משאבים. הגרסא הקודמת תמכה בעד 16 מחשבים (Nodes) בקלאסטר, בגרסא החדשה המספר הוא עד 64 (כפול 4). גם המספר המקסימלי של מכונות הוירטואליות שאפשר להריץ בקלאסטר אחד גדל מ- 1000 בגרסאות קודמות ל-8000 מכונות וירטואליות בגרסא הנוכחית (כפול 8).

יכולות ניהול

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

image

מה לגבי תמיכה? מיקרוסופט מספקת כלי מובנה בשם Cluster Validation שנועד לבדוק את התקינות של הקלאסטר . כלי זה מבצע מספר רב של בדיקות (מערכת ההפעלה, אחסון, תקשורת ועוד) ומוציא דו”ח מפורט עם כל הממצאים. אם הדו”ח מראה שכל הבדיקות עברו בהצלחה אתם יודעים שהמערכת שלכם נתמכת ע”י מיקרוסופט.

ב-Windows Server 2012 בדיקות האחסון שופרו משמעותית (בעיקר במשך זמן הבדיקה), ונוספה אפשרות לבדוק את ההגדרות של Hyper-V במידה והוא מותקן על הקלאסטר

אינטגרציה עם Active Directory

החל מ-Windows 2008 הקלאסטר משתמש בחשבונות מחשב ב-Active Directory לאימות, ובמהלך ההתקנה נוצרים חשבונות מחשב עבור הקלאסטר עצמו ועבור האפליקציות המותקנות בו. הבעייה היא שחשבונות אלו יצרו תלות ב-Active Directory. למשל, נחשוב על מצב בו כל השרתים שלנו (לרבות שרתי Domain Controller) רצים כמכונות וירטואליות, במצב כזה יש לנו תלות מעגלית: הקלאסטר זקוק לשרת Domain Controller זמין כדי להתחיל לעבוד, אבל שרת ה-Domain Controller צריך את הקלאסטר כדי להתחיל לעבוד. לכן בגרסאות קודמות ההמלצה שלנו הייתה להתקין לפחות שרת Domain Controller פיזי, מחוץ לקלאסטר.

התלות הזו כבר לא קיימת ב-2012, ולמעשה הקלאסטר יכול להתחיל לעבוד גם בלי שרת Domain Controller זמין באותו רגע, לכן אין בעייה לשים גם את השרתים האלה כמכונות וירטואליות, ולמשש למעשה Fully Virtualized datacenter.

נושא אחר שעלה כפידבק מלקוחות קשור למחיקת חשבונות המחשב של הקלאסטר. מכיוון שלא מדובר בחשבונות מחשב “אמיתיים” (הרי אין מחשב עם אותו שם שמבצע Login), הרי שהסיסמא של אותם חשבונות מחשב מעולם לא חודשה. במצב כזה, אם מנהלי ה-Active Directory היו מבצעים ניקוי של חשבונות מחשב ישנים, חשבונות הקלאסטר היו עלולים להמחק, וכתוצאה מכך הקלאסטר יכל להפסיק לתפקד. ב-2012 הקלאסטר מעדכן אוטומטית את חשבונות המחשב, דבר שמונע מצבים כאלה.

עדכונים

עדכוני אבטחה חשובים כיוון שהם משפיעים על הזמינות של הקלאסטר, אם הקלאסטר לא מעודכן הוא יהיה חשוף לווירוסים, תולעים ושאר צרות. כמו כן, חשוב מאוד שכל המחשבים באותו קלאסטר יקבלו את אותם עדכונים (אחרת במקרה כשל, יכול להיות שנתקל בבעיות לא צפויות). מקודם ציינתי שהגרסא החדשה תומכת בעד 64 מחשבים, אז כיצד מעדכנים כמות כזו גדולה של מחשבים בצורה עקבית על כולם מבלי לפגוע בזמינות? הנושא הזה קיבל תשומת לב מיוחדת בגרסת Windows Server 2012.

נתחיל קודם כל ביכולת המובנית לבצע Node Drain. יכולת זו מאפשרת לנו בלחיצת כפתור על מחשב מסוים מתוך הקלאסטר להעביר אותו למצב Paused, להעביר את כל המשאבים שלו בצורה מסודרת לשרתים הכי מתאימים בקלאסטר (מבחינת עומס עבודה ומאפיינים של המכונות הוירטואליות), ולאחר ביצוע ההתקנות או התחזוקה אנחנו יכולים להחזיר את אותם תפקידים בלחיצת כפתור בודדת לשרת המקורי.

image

image

מה לגבי מספר רב של מחשבים? כאן נוכל להשתמש ביכולת חדשה בשם Cluster Aware Update, שלמעשה מבצע אוטומציה של כל התהליך. אנחנו רק צריכים להתקין את ה-Feature הזה (על מחשב בתוך או מחוץ לקלאסטר), לקנפג אותו לעבודה מול Windows Update/WSUS, לקבוע את הזמנים בהם יתבצעו העדכונים וזהו. מעכשיו העדכונים יגיעו לכל השרתים בקלאסטר בצורה אוטומטית עם מינימום זמן השבתה.

image

Smart workload Placement

Failover Clustering בגרסא החדשה מאפשר לנו להגדיר עדיפויות למשאבים שרצים בקלאסטר, כך למשל נוכל לקבוע ששרתי ה-DC או שרתי SQL יוכלו לקבל עדיפות על-פני שרתים אחרים. יש ארבעה עדיפויות שניתן להשתמש בהן, ולהגדיר אותן על כל משאב בנפרד: High, Medium, Low, No auto Start. כאשר הקלאסטר מעביר משאבים משרת אחד לשרת אחר (במקרה של כשל או תחזוקה מתוכננת מראש) הוא ישתמש בעדיפויות שהגדרתם כדי להעביר קודם כל את המשאבים עם העדיפות הכי גדולה קודם, ולאחר מכן את שאר המשאבים בעלי העדיפות הנמוכה יותר.

image

הקלאסטר גם יכול לכבות בצורה אוטומטית מכונות עם עדיפות נמוכה, כדי לוודא שהמכונות החשובות (לפי הגדרה שלכם) ירוצו. התהליך הזה נקרא Preemption ובמהלכו הקלאסטר מוודא אוטומטית שהמכונות הכי חשובות ירוצו ע”י כיבוי מכונות עם עדיפות נמוכה יותר, מה שיוביל שחרור משאבים (זיכרון ומעבד, למשל) למכונות עם עדיפות גבוהה יותר.

VM Monitoring

VM Monitoring היא יכולת מובנית בקלאסטר לבצע ניטור בסיסי של מערכת ההפעלה של המכונות וירטואליות שרצות בתוך הקלאסטר. היכולת הזו לא נועדה להחליף מערכות שליטה ובקרה (שו”ב) מלאה כמובן, אבל היא יכולה לספק לנו מענה במקרים בו אנחנו צריכים ניטור בסיסי. הקלאסטר יכול לנטר כל Windows Service או כל אירוע שנרשם ב-Event Viewer, ובמקרה הצורך לנקוט בתגובות שאנחנו מגדירים מראש (כמו העברה של המכונה לשרת האחר או restart של אותה מכונה).

התשתית הזו נבנתה כתשתית פתוחה, וכבר עכשיו יש מספר יצרנים כמו Symantec Application HA שמרחיבים את יכולות הניטור.

image

אלו כאמור רק חלק קטן מהיכולות של Failover Clustering 2012, יש עוד הרבה שיפורים שלא דיברתי עליהם (כמו Scale-Out File Servers או Guest VM Cluster), ואותם אני משאיר לפוסטים נוספים בעתיד…

מוטי באני הוא מהנדס בכיר בתחום ה Platforms בקבוצת Premier Field Engineer של מיקרוסופט ישראל.  מתמחה בביצועים, וירטואליזציה וקלסטרים.

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

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

2 תגובות

  1. itai_b319 בפברואר 2013 ב 8:22

    מאמר מקיף ומקצועי!
    כל הכבוד!

    הגב
  2. itai_b319 בפברואר 2013 ב 8:24

    מאמר מקצועי מקיף ומעניין !
    כל הכבוד!

    הגב