DCSIMG
Windows Server 2008 TS Session Broker - Gadi's Blog

Gadi's Blog

SBC, Application Delivery, Scripting ושאר ירקות

Windows Server 2008 TS Session Broker

בהמשך לפוסט על מה חדש ב Windows Server 2008 Terminal Server ובהמשך לפוסט על Windows Server 2008 TS RemoteApps, המשך של סקירת ה feature-ים החדשים לעומק.

והיום.... TS Session Broker.
ה Session Broker מכיל למעשה שני אלמנטים, הראשון זה הפעלת load balancing לשרתים (עפ"י מיקרוסופט יעבוד טוב עד 5 שרתים) והשני מיועד לאפשר למשתמשים להתחבר בחזרה ל sessions שלהם בחוות ה TS אשר עובדת עם load balancing.

בטח חלקכם תוהים, מה כבר כל הסיפור, הרי כבר יש לנו את ה Session Directory שיודע לחבר את המשתמשים ל disconnected sessions שלהם עוד מ Windows Server 2003, קודם כל זה נכון, זה באמת קיים... אבל, זה הדבר היחידי שזה עושה, אין שום נגיעה ב load balancing וה session directory קיים רק בגרסת ה enterprise של ה Windows server 2003.

אז איך על העניין הזה עובד, session broker הוא role השייך ל Terminal Services, אבל אין שום צורך להתקין את ה TS עצמו כדי שהשרת הרלוונטי יהיה ה session broker של חוות ה TS.
בכדי ליצור "חוות TS" ולגרום לשרתים לעבוד עם ה session broker יש צורך במספר דברים,להתקין את ה session broker role על אחד השרתים (לווא דווקא TS), להגדיר את שרתי ה TS שיהיו חברים ב Farm ולהגדיר רשומת DNS עם כתובות כל שרתי ה TS כדי שיהיה סוג של load balancing לפני ההתחברות.
למשל, אלה ההגדרות שמוגדרות באחד משרתי ה TS אצלי:

Capture

כמו שאפשר לראות, אין פה יותר מדי הגדרות, סה"כ מה שיש פה זה אפשרות להגדיר האם השרת יהיה חבר בחווה עם session broker, מהו שרת ה session broker שלי, מה שם החווה שלי, האם להכניס את השרת לשרתים המשתתפים ב load balanacing ומה המשקל שרוצים לתת לשרת יחסית לשרתים האחרים בחווה (מאין הגדרה מספרית שאנחנו ניתן כדי להגדיר מי השרתים החזקים יותר).
מבחינת ה DNS, אני יוצר רשומה חדשה עם שם החווה שלי (לא חובה, אבל מומלץ) ומקשר לרשומה הזאת את ה ip-ים של שרתי ה TS שלי אשר אני רוצה לכלול בחווה (ה round robin מופעל ב default בשרתי ה DNS של Windows 2003 ו- 2008).

למעשה, ה load balancing נעשה על ידי חלוקה וספירה של sessions בשרתים, אבל ישנם עוד כמה דברים שעוזרים לייצב את המערכת כולה, הראשון ה black hole protection ומובנה בתוך ה session broker, שלמעשה מונע העמסת השרת בכניסות חדשות (login throttling) ופה מגיע סוג של חח למיקרוסופט, כי כמה שנותים לזלזל ב TS הרגיל שלהם (ואני מאמין ד"א שזה ייעלם מהעולם ממש עוד מעט), Citrix הוסיפו את אותו ה feature רק בגרסא האחרונה של ה Presentation Server.
הדבר השני הוא האפשרות לקבוע מספר מרבי של session על שרת ספציפי, ככה שאם אם יש לנו שרת אחד חלש יחסית לאחרים בחווה, אני ארצה להגביל את מספר ה sessions עליו לאותו מספר שבו אני אראה שהוא יוכל לחיות איתו בשלום, אין GUI לעניין הזה, אז נצטרך לשאת פעמינו ל registry ולהגדיר את העניין שם...
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\UserSessionLimit,
דבר נוסף, הוא ה session sharing, עם המשתמש פתח session נגיד עם RemoteApp של Word על שרת מסוים בחווה, כשהוא ירצה להתחבר ל RemoteApp אחר ה session broker יפנה אותו לשרת שאליו המשתמש כבר מחובר, פה יש בעיתיות מסוימת כי מבחינת ה session broker כל שרתי ה TS בחווה דומים ולכולם יש את כל האפליקציות של האחרים ואם זה לא ככה המשתמש יקבל הודעת שגיאה שהאפליקציה לא נמצאה (את האמת, אני לא מבין למה הם לא הוסיפו בדיקה האם האפליקציה קיימת בכלל או לא, זה לא נראה דבר כ"כ מטורף).

עכשיו רק נותר רק לראות איך כל התהליך של חיבור משתמשים לחווה מתרחש...
ובדוגמאות שאני פה, אני אתייחס לתצורה שלי (שני שרתי TS מוגדרים לעבוד עם session broker, שם החווה שלי הוא Commart_TS_Farm, ומוגדר dns round robin בין שני השרתים).
1. המשתמש מתחבר לשרת TS ע"י התחברות למעשה לחווה, (כותב Commart_TS_Farm ב RDP client למשל).
2. הוא מתחיל התחברות לשרת הראשון שהוא קיבל מה DNS (כאמור, מוגדר לי round robin), אם השרת לא זמין מסיבה כזאת או אחרת, הוא ממשיך לשרת הבא ברשימה.
3. כשנוצר connection לשרת, נעשית בדיקה האם הוא חבר ב Session Broker והוא משתתף ב load balancing של החווה.
4. אם כן, השלב הראשון הוא לבדוק האם למשתמש אשר מנסה להתחבר ישנם disconnected sessions באחד מהשרתים, אם כן, אז המשתמש מופנה ל session הישן שלו.
5. אם אין למשתמש שום disconnected sessions בחווה, נעשית ספירה של ה sessions על השרתים (גם הפעילים וגם המנותקים), נלקח בחשבון המשקל שניתן לכל שרת והאם השרת פתוח להתחברות או לא.
6.לאחר כל החישובים המשתמש מופנה לשרת הפחות עמוס בחווה (לפי החישובים בסעיף הקודם).

קצת להמחשה של כל העניין:

 

סיכומים, עניינים...
כל העניין הזה נראה די מבטיח את האמת, וכן, אני רואה שיש פה סיבוכיות קצת מיותרת ואין התייחסות ל load balancing עפ"י עומס או כל דבר פרט לספירת sessions והתחשבות בנתונים יבשים אחרים, וגם די מוזר לי את האמת למה מיקרוסופט מדגישים בכל פעם שכל הסיפור הזה יעבוד טוב עד למשהו כמו 7 שרתים, כי טכנולוגית אני לא רואה למה זה לא יכול להחזיק גם עם עשרות שרתים, אולי כל זה נועד כדי למנוע בריחה מסיבית של חברות בינוניות מה Presentation Server (ובעיקר ממנו, כי למיקרוסופט ו Citrix יש שותפות עתיקת יומין, ולא נראה שיש רצון מצד שתי החברות לפגוע כך או אחרת אחת בשניה) וכל החלופות השונות.

תוכן התגובה

Gadi's Blog כתב/ה:

כל פעם שאני נפגש עם לקוחות אני שואל אותם האם הם הטמיעו Windows Vista בחלק מהמחשבים של הארגון, רוב התשובות

# August 1, 2007 2:11 PM

יוסי חכמי כתב/ה:

ומה עם ג'טרו קוקפיט ?

זה מחזיק אצלנו 230 שרתים טרמינל סרבק ל 4000 משתמשים.

# November 15, 2007 8:46 PM

ערן כתב/ה:

היי גדי

הגדרות החווה מתבצעות גם בעזרת GROUP POLICY  

האם ידוע לך על בעיתיות של עבודה ,של חווה עם שרתי 2008  מול DOMAIN 2003 ובכלל הגדרות GPO של TS 2008 מול DC2003 ?

האם יש אפשרות להגדיר חווה של TS2008 מול שרת רשיונות TS 2003  ?

תודה ערן

eran73@gmail.com

# September 5, 2008 3:35 PM

גדי פלדמן כתב/ה:

הי ערן,

אין שום בעיה לעבוד עם TS2k8 עם דומיין 2k3, אולי רק תצטרך לערוך את הפוליסי הרלוונטי משרת 2k8.

בקשר לשרת הרשיונות, אם אני זוכר נכון, אז אתה לא יכול להשתמש משרת 2k3 שיחזיק cals עבור 2008. אבל אתה יכול הפוך, ששרת 2008 יחזקים את הרשיונות גם של 2008 וגם של 2003?

גדי

# September 5, 2008 4:38 PM

ערן כתב/ה:

תודה

# September 10, 2008 4:07 AM

ערן כתב/ה:

היי גדי

רציתי לשאול אותך עוד שתי שאלות

האם שרת שמותקן עלין SESSION BROKER יכול לשרת שני חוות או יותר ?

האם יש אפשרות ב TS WEB להגדיר REMOTEAPP על פי משתשמים

לדוגמא USER1 יראה רק WORD

ו USER2 רק EXCEL ??

תודה

# September 15, 2008 3:27 AM

גדי פלדמן כתב/ה:

הי ערן,

Session Broker מיועד לטפל ב sessions של חווה אחת.

ב TS Web אין אפשרות (כמו ב WI של סיטריקס למשל) להציג את האפליקציות לפי הרשאות AD, כולם רואים את כל האפליקציות שהגדרת שיוצגו ב TS Web.

גדי

# September 15, 2008 3:51 AM
שלח תגובה

(שדה חובה)  

(שדה חובה)  

(אופציונלי)

(שדה חובה) 

Please add 8 and 6 and type the answer here:


Enter the numbers above: