מערכת אוטומטית לחלוקת עומס התיבות בין מספר בסיסי נתונים ב Exchange 2010

4 בדצמבר 2011

3 תגובות

 רונן-גבאי  מאת: רונן גבאי ,CTO , Exchange MRD בג'ון ברייס מכללת הי-טק ו- U-BTech Solutions LTD.  

 

 

אחד השינויים המעניינים שהגיעו עם Exchange 2010 עונה על הצורך של לקוחות רבים לחלק את התיבות על כל בסיסי הנתונים של השרת בצורה אוטומטית. שרתי Exchange 2010 בגרסת Standard תומך בעד 5 בסיסי נתונים ובגרסת Enterprise עד ל 100 בסיסי נתונים. כאשר יש לנו מספר רב של תיבות אנו נדרשים לפתוח מספר רב של בסיסי נתונים ולחלק את התיבות ביניהם. צורך זה הינו משמעותי במיוחד בזמן תהליך הגירה ממערכת ישנה לחדשה או בהחלפת חומרה. לקוחות רבים ביקשו מאתנו לכתוב סקריפטים שונים ומשונים אשר בזמן הגירה יחלקו את התיבות על פני כל בסיסי הנתונים בצורה אחידה.

המנגנון הקיים בשרת Exchange 2010 נקרא Load Balanced Mailbox Provisioning והוא דלוק בברירת המחדל על כל בסיסי הנתונים של השרת. כאשר תיצרו תיבה חדשה על שרת Exchange 2010 אולי תופתעו לגלות שאינכם חייבים לציין בסיס נתונים עבור המשתמש וכאשר אתם עושים זאת השרת אוטומטית בוחר עבורכם בסיס נתונים ומבצע Load Balance על כל בסיס הנתונים הקיימים בשרת.

בכדי לדעת להשתמש במנגנון זה בצורה נבונה עלינו להכיר מספר דברים, ראשית כיצד האלגוריתם עובד: האלגוריתם מחלק את התיבות בזמן היצירה או בזמן העברה New-Move-Request בין כל בסיסי הנתונים באותו Active Directory Site של השרת אליו התחברנו. התהליך מבוצע על ידי פקודה הקוראת לתהליך מערכת הקרוי Mailbox Resources Management. השרת מאתר את בסיס הנתונים הפנויים ביותר מבחינת כמות התיבות ולא גודלם ומייצר שם את התיבות. כאשר מעבירים או מייצרים מספר רב של תיבות אלו יחולקו בצורה פחות או יותר שווה על פני כל בסיסי הנתונים של השרתים ב AD Site.

clip_image003

יש דרישות לייצר בסיסי נתונים אשר להם תפקידים מיוחדים כגון בסיס נתונים למשתמשי הנהלה או עבור מערכת הארכיון, במצב זה לא הינו רוצים שמערכת חלוקת העומסים האוטומטית תבחר בבסיסי נתונים אלו כיעד ליצירת התיבות. מסיבה זו ניתן להגדיר על בסיס נתונים פרמטר המוציא את בסיס הנתונים מהמשחק. תהליך זה מתבצע על ידי הפקודה:
Set-MailboxDatabase DBname -IsExcludedFromProvisioning:$true

clip_image004

יש אפשרות לבצע השהיה זמנית לתהליך חלוקת העומסים ולא לבטלו כלל על ידי פקודה:Set-MailboxDatabase DBname -IsSuspendedFromProvisioning:$true

שימו לב שמנגנון חלוקה אוטומטית של בסיסי הנתונים בזמן תהליך העברת התיבה אינו יכול להיות מופעל על ידי הממשק הגראפי של השרת Exchange Management Console אלא רק על ידי שימוש בפקודת ה Shell להעברת תיבות New-Move-Request.

clip_image005

clip_image007

אם כל בסיסי הנתונים המוגדרים בשרת חסומים לתהליכי Provisioning נקבל Load Balance Error כאשר לא נקצה בסיס נתונים ספציפי ליצירת התיבות.

clip_image008

לסיכומו של דבר Database Provisioning הינו מנגנון חדש ב Exchange 2010 המסייע לנו לחלק את עומס התיבות על פני כל בסיסי הנתונים ולייצר סביבת Exchange 2010 יותר נכונה ויציבה. מנגנון זה הינו חשוב במיוחד כאשר אנו מסתכלים על התמונה הכוללת כאשר מדובר במערכי Exchange 2010 בתצורת Database Availability Groups או DAG.

הכותב:  רונן גבאי ,CTO , Exchange MRD בג'ון ברייס מכללת הי-טק ו- U-BTech Solutions LTD

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

כתיבת תגובה

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

3 תגובות

  1. מאור סאוברון15 בדצמבר 2011 ב 11:14

    כתבה מעניינת ומאוד עניינית !!

    תודה רבה רונן.

    הגב
  2. DT17 בדצמבר 2011 ב 17:44

    יש פתרון דומה ל-Ex2007?

    הגב
  3. רונן גבאי19 בדצמבר 2011 ב 12:10

    לצערי עבור Exchange 2007 עלינו לכתוב סקריפטים שיבצעו את התהליך.

    הגב