Microsoft Cluster and VMware – by the book

הרצה של שרתים שחברים ב Microsoft Cluster תמיד נראתה טריוויאלית ביותר ע"ג הסביבה הוירטואלית, והיא גם אחד מהUse Cases הבולטים שהרי בהרבה מקרים ישנו שרת שלם שלא עושה כלום 99.999% מהזמן.

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

הדברים שריכזתי כאן מופיעים בפירוט במסמך הרשמי Setup for Failover Clustering and Microsoft Cluster Service באתר של VMware ורלוונטיים לגרסא 4.0U1 (קחו בחשבון שגרסאות קודמות הן אף יותר שמרניות).

אם כך, כידוע ע"מ להרים MSCS יש צורך בדיסקים שישותפו בין מספר שרתים, 3 הדרכים הטכניות לעשות את זה בסביבה הוירטואלית:

  1. Virtual Disks (VMDK)
  2. Virtual RDM
  3. Physical RDM

בבואכם לבחור את המימוש הטכני בו נשתמש, ראשית יש להגדיר איזה Cluster אנו מעוניינים להקים: האם כזה שכולל שרתים וירטואליים שנמצאים תמיד על אותו שרת ESX פיסי (cluster-in-a-box), האם Cluster של שרתים וירטואלים שנמצאים על שרתי ESX נפרדים (cluster-across-boxes), או כזה שמערב שרתים פיסיים ווירטואליים (Mixed P-and-V cluster).

  1. לתצורה הראשונה – Cluster-in-a-box – ניתן להשתמש אך ורק בVMDKs ולא ב-RDM.
  2. לתצורה השניה – Cluster-across-boxes – ניתן להשתמש בRDM -משני הסוגים (ההבדלים בינהם הינם נושא לpost בפני עצמו) אך לא בVMDK
  3. לתצורה השלישית – P-and-V Cluster – ניתן להשתמש אך ורק ב Physical RDM.

בגרסאות ישנות (מאוד) למי שזוכר, התצורה היחידה שהיתה נתמכת לMicrsoft Cluster היתה תצורה בה הדיסקים של הSystem של השרתים הוירטואליים (ה-C שלהם) נמצא על הדיסקים המקומיים (הפנימיים) של ה-ESX, לשמחתנו זוהי מגבלה שהוסרה, וכעת ניתן בהחלט להשתמש גם באחסון ריכוזי למערכות הפעלה הוירטואליות – אולם ניתן להשתמש כאן אך ורק באחסון שהוא FC (לא כולל FCoE) – כנ"ל לגבי שאר הדיסקים בהם משתמשים לCluster הנ"ל – לא iSCSI, NFS, FCoE.

עוד כמה מגבלות שכדאי שתהיו מודעים אליהן:

  • גרסאת ה-ESX בין השרתים הפיסיים חייבת להיות זהה
  • Fault Tolerance לא נתמך בשילוב עם MSCS
  • כנ"ל לגבי vMotion לשרתים הוירטואליים (וכאן נכנס גם DRS כמובן)
  • מדיניות ה-MultiPathing אל מול ה-Storage צריכה להיות Fixed/MRU – ולא RoundRobin

לגבי HA/DRS clusters – תופתעו לשמוע שבגרסאות קודמות (כולל 4.0) הדבר היה בלתי נתמך – בעיקר בגלל מגבלות של HA וחוסר היכולת שלו להתחשב בDRS Rules. כעת הדבר נתמך (ואפילו מומלץ כמובן) אם כי יש מספר פרמטרים שצריכים להיות מוגדרים:

  • DRS Affinity/Anti-Affinity Rules – שימנעו להדלק על אותו שרת פיסי (במקרה של cluster-across-boxes) או יכריחו אותן כן להדלק על אותו host (במקרה של cluster-in-a-box)
  • DRS Automation Level – כבוי כמובן עבור השרתים הוירטואליים הספציפיים (Disable) שימנע vMotion של השרתים (שאמרנו כבר שלא נתמך)
  • Strict Enforcment – פרמטר ב-Advanced Parameters של DRS (יש להוסיף ForceAffinePoweron עם הערך 1)
  • Restart Priority – של HA עבור השרתים הוירטואליים הרלוונטיים צריך להיות ב- Disabled

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

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

התקנה נעימה (ובטוחה).

בן.

4 Replies to “Microsoft Cluster and VMware – by the book”

  1. זה לא נכון לומר ש”מדיניות ה-MultiPathing אל מול ה-Storage צריכה להיות Fixed/MRU – ולא RoundRobin”

    ישנם סוגי סטורג’ שכן דורשות לעבוד בRR – לצורך ביצועים הרבה יותר טובים משמעותית (IBM XIV)

    אם תרצה לדבר על כך אנא פה אלי
    שי

    • תודה על התגובה שי,
      השאלה היא האם ההמלצה הנ"ל תקפה גם עבור שימוש ב-Microsoft Cluster והאם זאת התצורה הנתמכת.

    • שלום שי,
      אין ספק שבמקרים רבים RR יכול לתת ביצועים יותר טובים. מה שבן רשם בפוסט הוא לא המלצה, אלא דרישה. MSCS לא נתמך רשמית על ידי VMware אם ה – policy של הדיסק מוגדר ל – RR. זה היה נכון בזמן כתיבת הפוסט ולא השתנה גם ב – vSphere 4.1:
      http://www.vmware.com/pdf/vsphere4/r41/vsp_41_mscs.pdf

      מיכאל.

להגיב על בן לבטל

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

*