אוטומציה של יצירת שרתי XenApp עם Provisioning Server
קודם כל, אני אנצל את ההזדמנות להודות לכל מי שהגיע למפגש הראשון של מועדון משתמשי Citrix בישראל. היו קרואסונים –
כמובטח :) – ואפילו התפנקנו עם בורקסים. ככה שהיה כיף, לפחות לי.
כדי להעמיק את החוויה, אתם מוזמנים לעקוב אחרי מה מתרחש
בפייסבוק ב-
Linkedin וגם
בטוויטר. במקרה הזה הקרואסונים לא מובטחים, אבל נעשה את המקסימום.
למען הדורות הבאים וגם לכל מי שיצא פארש ולא הגיע – חכו חכו, ידו הארוכה של מלך הרייטינג, תגיע גם אליכם – החלטתי לעלות את ההדגמה שעשיתי ובנוסף את הסקריפט שעושה את כל העבודה.
אז מה מהות ההדגמה בעצם?
כמו שכולנו יודעים – ומי שלא, שיתבייש למשך כמה רגעים, וישר אחר-כך ישלים חוסרים
כאן - Provisioning Server מאפשר לנו ליצור סביבה הרבה יותר דינאמית ממה שאנחנו מכירים היום, לדוגמא, להחזיק Image אחד לכל שרתי ה- XenApp שלי וכך ליצור/להוריד שרתים בהתאם לצורך (שעות/עומסים וכו’).
הסקריפט המככב בהדגמה יוצר שרת וירטואלי ב- XenServer, יוצר רשומה של השרת החדש ב- Provisioning Server, מקשר את השרת לדיסק של XenApp 5, יוצר חשבון AD לשרת ומעלה את השרת.
אחרי כמה רגעים אפשר לראות שהשרת עולה עם ה- workload הרצוי (כאמור, XenApp 5 על Windows Server 2008) וכמובן מתווסף לחוות ה- XenApp.
בסוף התהליך, אני מוסיף את השרת החדש לרשימת השרתים הזמינים עבור האפליקציה Paint.
נתחיל ב- demo
ונקנח בסקריפט - deploy_server_xenapp.ps1, הזהרה, PowerShell לפניכם.
Param($param1)
cd "C:\Program Files\Citrix\XenCenter"
.\xe.exe -s 11.1.1.1 -u root -pw blabla vm-install new-name-label=$param1 template=XenApp
[string]$a = .\xe.exe -s 11.1.1.1 -u root -pw blabla vm-vif-list vm=$param1 | Select-String -Pattern "MAC"
$b= $a.split(":")
$c =$b[1] + "-" + $b[2] + "-" + $b[3] + "-" + $b[4] + "-" + $b[5] + "-" + $b[6]
$mac = $c.substring($c.length -17, 17)
Mcli-add Device -r deviceName=$param1, deviceMac=$mac, siteName=Site, CollectionName=XenApp
Mcli-run AssignDiskLocator -p diskLocatorId=c92f583a-a6e0-4ffa-a99d-4af486fa875b, deviceName=$param1
Mcli-Run AddDeviceToDomain -p DeviceName=$param1, organizationUnit=XA
.\xe.exe -s 11.1.1.1 -u root -pw blabla vm-start vm=$param1