שבוע שעבר העברתי הרצאה על XenServer 5, מוצר הוירטואליזציה לשרתים/תחנות עבודה של Citrix. הפורום היה מצומצם וממוקד מאוד. חשבתי לעצמי, למה לא לנצל את הפלטפורמה ולשתף את כולם.
קצת רקע להעשרת הידע הכללי. לפני מעט יותר משנה - מעט יותר בחודש את האמת - רכשה Citrix את חברת XenSource אשר היתה אחראית עד אז על מוצר הוירטואליזציה המוביל המבוסס על Xen (פרוייקט קוד פתוח שהחל את דרכו בקיימברידג' אי שם ב- 1995). כנדוניה XenSource הביאה איתה את XenEnterprise גירסא 4 שייצא כמה ימים ספורים לפני הרכישה.
כאמור, שנה (וחודש...) אחרי, Citrix מוציאה את גירסא 5 של אותו מוצר, אשר עם הרכישה שונה שמו
ל- XenServer.
בגירסא החדשה ניתן דגש על שתי נקודות עיקריות, להמיר יותר ויותר כלי ניהול מה- CLI לניהול חלונאי וניתן דגש גדול מאוד על יכולות השרידות (High Availability) של שרתי ה- hypervisors ושל השרתים המתארחים בהם.
נתחיל עם ה- High Availability. בפיתוח הגרסא החדשה Citrix שיתפה פעולה עם חברת Marathon להכנסת יכולות ה- HA לתוך המוצר. וכך בתוך המוצר אפשר למצוא את היכולות הבאות:
- אתחול מחדש של מערכות מתארחות (guests) על גבי שרתים אחרים ב- Resource Pool במקרה של נפילת השרת המארח אותן (נעשית בדיקת Heart Beat), בנוסף לכך, אפשר לקבוע את סדר העליה של אותם המערכות - במקרים בהם זה חשוב.
- ניתן לעשות מאין סימולציה במקרה של נפילה ולראות אם ב- Resource Pool יש בכלל מספיק משאבים להריץ את המערכות מהשרת "הקורס" וכך להיערך בהתאם (להוסיף עוד משאבים, לבחור איזה מערכות לא להריץ וכו').
- גיבוי אוטומטי/ידני של ה- metadata של המערכות המתארחות (נתונים על המערכת כמו שם, uuid; נתוני קונפיגורציה כמו כמות זיכרון RAM, מספר vCPU ונתונים לגבי שימוש במשאבי ה- Resource pool כמו כרטיסי רשת, מקומות אחסון ועוד) לסביבת ה- DR.
- ניהול הסביבה (Resource Pool) לא תלוי בשרת ספציפי, אפשר להתחבר לכל שרת ב- Resource Pool מה- XenCenter, ככה שגם אם ה- Master נופל, עדיין נמשיך לעבוד רגיל לחלוטין.
אני ארחיב קצת מעבר על שיתוף הפעולה עם Marathon, כי הוא לא הסתכם בפיתוח משותף של יכולות ה- HA המובנות של המוצר. 5 XenServer משיג את יכולות ה- Fault Tolerance המתקדמות (ללא Down-Time בכלל) ע"י התממשקות של everRun VM של Marathon לתוך ה- XenServer. הפתרון נועד להגן על המערכות המתארחות מכשל של אחד מרכיבי השרת המארח (רשת, קישור ל- Storage למשל) או כשל כללי של השרת (חשמל, לוח אם) בעתיד. איך זה עובד?
כאמור, נעשה נסיון להכניס יותר דברים לניהול דרך ה- XenCenter ולא ע"י ה- CLI. וכך גיבויי metadata, הגדרות כרטיסי רשת (ד"א, מעכשיו ה- NIC Bonding הוא active\active), הגדרות Storage ועוד, ניתן להגדיר ישירות מה- XenCenter.
ואם ב- XenCenter עסקינן, אז גם הוא השתדרג ועלה לגירסא 5. המפתחים הבינו שבסביבות גדולות
(Resource pool אחד יכול להכיל אלפי מערכות וירטואליות), למנהלי המערכת נהיה קשה למצוא את המערכות ולנהל אותן. כדי להקל את ההתמצאות, ניתן לעשות חיפושים שונים ומשונים (ולשמור אותם לשימוש חוזר), לתת טאגים, או לפלטר מתוך ה- XenCenter. נוסף לכך, מעכשיו אפשר לקבל גם alerts על המערכות (שרתי ה- Hypervisor והמערכות המתארחות) במייל.
גם יכולות ה- Monitoring שופרו, אפשר לראות נתונים הסטוריים, לבנות גרפים מותאמים ועוד.
כלי להמרת מכונות פיסיות לוירטואליות גם מצא את דרכו לתוך הגרסא החדשה, אפשר להמיר מכונות פיסיות לפורמט VHD או XVA. אותה ההמרה טובה גם בשביל לעבוד עם ה- VHD החדש דרך ה- Provisioning Server (היכולת לעשות Streaming למערכת ההפעלה, יכולת הקיימת בגירסת ה- Platinum).
עוד ועוד מערכות הפעלה נתמכות ב- XenServer 5, חלקן: Windows Server 2003\2008 32&64 bit, XP\Vista, הפצות לינוקס שונות כדוגמת SUSE 9&10, RHEL 4.7,5.2 32&64 bit, CentOS 5.2.
נעשה שיפור בביצועים של מנוע הוירטואלזציה (שעלה גם הוא ל- Xen 3.2) וכך למשל מערכות XenApp מגיעות לביצועים טובים אפילו יותר מהגירסא הקודמת (שכבר אז השיגו תוצאות טובות יותר מהמתחרים).
בכלל, נראה שעם יכולות כמו HA, FT, OS provisioning, ניהול מרכזי ונוח (חינם) XenServer הולכת להיכנס חזק מאוד לשוק הוירטואליזציה.

לפני יומיים כתבתי כאן על יציאת גירסא 5 של XenServer, מוצר הוירטואליזציה של Citrix.
חשבתי לכתוב עוד כמה דברים ששכחתי להוסיף אז.
HA - בגירסא החדשה נוספה יכולת ל High Availability אוטומטי. אם Host בתוך ה- Resource pool נופל אז המכונות שרצו עליו יעלו אוטומטית בשרתי Host אחרים ב- pool. נוסף על כך, ניתן לקבוע את סדר העליה של אותן המכונות (טוב במקרה שסדר העליה חשוב, לדודמא ש- DC יעלה ראשון).
Fault Tolerance - שמירה על מצב בו המכונות נשארות כל הזמן למעלה, ללא קשר לנפילת ה- Host עליו הן רצות. מושג ע"י שיתוף פעולה עם חברת Marathon.
XenConvert - יכולת להמיר מכונות פיסיות לתצורה וירטואלית. הדיסק הוירטואלי שנוצר מההמרה מתאים לשימוש ב- XenServer וב- Provisioning Server.
DR - אפשרות לגיבוי ה- Resource pool ושחזור באתר המרוחק.
Networking - מעכשיו NIC Bonding עובד בתצורת active\active.
Open Storage API - מאפשר גישה והתממשקות כמעט לכל מוצר צד שלישי עם XenServer לביצוע snapshots, clonning, replications ועוד.
XenServer Express - ההגבלה להרצת 4 מכונות וירטואליות ועד 4gb של זיכרון לשרת בגירסת ה Express הוסרה. מעכשיו אין הגבלה למספר המכונות הרצות במקביל והגבלת הזיכרון איננה שונה משאר הגירסאות (128mb לכל host).
Citrix גם בנו אתר מיוחד עבור ה- XenServer 5 שאת ההאמת נראה מאוד נחמד ומכיל סרטונים והסברים כמעט לכל טכנולוגיה חשובה שה- XenServer מכיל. www.xenserver5.com
היום Citrix שחררה את הגירסא החדשה של מוצר הוירטואליזציה שלה, XenServer 5.
בגירסא החדשה (ד"א רק כשנה לאחר רכישת XenSource) התווספו להם כ-100 יכולות חדשות.
קצת דוגמאות:
- Peer-to-peer self-healing
- אפשרות לקביעת סדר העליה של המכונות הוירטואליות במקרה של נפילת ה Host.
- Dynamic failure planning algorithms המאפשר לדעת האם ה resource pool מספיק "חזק" כדי לסבול נפילת מספר hosts.
- Redundant storage (ע"י multipath ו- NIC bonding).
- קבלת דיווחים ב smtp במקרה של נפילת hosts.
- גיבויים אוטומטיים (או ידניים) של ה metadata.
- תמיכה ב QLogic וב- Emulexe 8GB Fiber Channel HBA.
- XenCenter משופר, המאפשר חיפוש (מילות מפתח,טאגים וכו') בכל הסביבה הוירטואלית.
- שיפור (אפילו יותר מהגירסא הקודמת) של הביצועים של XenApp על XenServer.
הודעה לעיתונות
הדגמה של High Availability ב Provisioning Server.
למרות שעושים streaming לשרתים לא אומר שתיהיה נקודת כשל.
בהדגמה רואים שנעשה streaming לשרת (test1) מ- Provisioning Server בשם server3, שבוא חלק מחווה בה נמצאים גם שרתי Provisioning נוספים (server1 ו- server4, טעיתי בוידאו).
אני מדמה נפילה של server3 ורואים איך המכונה test1 ממשיכה לעבוד רגיל לחלוטין (אפשר לראות שהפינגים לא מפסיקים) ואחרי כמה שניות מתחילה לעבוד מול שרת Provisioning אחד (server4).
כמו שכולם כבר שמעו (אפילו הודיעו על זה בחדשות של גלי צהל, היה ממש מרגש) red hat רכשו את קומרנט הסמי ישראלית תמורת משהו כמו 107 מיליון דולר. קודם כל, ברכות!
למי שעדיין לא הספיק להכיר, חברת Qumranet פיתחה ומפתחת מוצר VDI שמכיל בתוכו למעשה שלושה רכיבים.
KVM שהוא מנוע הוירטואליזציה.
SolidICE שהוא מנוע ה Brokering (כמו XenDesktop), אחראי על הניתוב של התחנות למשתמשים.
ואחרון חביב (אבל חיה רעה) הוא פרוטוקול SPICE שאיתו נעשת כל התעבורה של שכבת התצוגה בין תחנת הקצה למכונה הוירטואלית.
לפי מה שראיתי, ה KVM לא שונה בהרבה ממוצרי וירטואליזציה אחרים דוגמת XenServer,ESX,Hyper-V, אולי רק פרט לזה שהשימוש ואפשרות ההתרחבות איתו קלה יותר.
כך גם עם ה SolidICE, הוא נראה נחמד מאוד, אבל ממש לא שונה מהותית מהמתחרים.
אבל פרוטוקול ה SPICE נראה משמעותית טוב יותר מ RDP ואפילו מה ICA. נכון, הוא יותר כבד מבחינת תעבורה מאשר שני האחרים, אבל מכיוון שהוא מיועד לשימוש אך ורק ב LAN, זה לא נראה כמו חיסרון משמעותי, מה גם שאותה תעבורה "עודפת" עוזרת לו להציג יכולות טובות מאוד באספקת סביבת העבודה לתחנת המשתמש.
לסרטון הדגמה כדי להבין טוב יותר על מה מדובר.
מעניין מאוד מה מבין הרכיבים הנ"ל משך את red hat, קשה לי להאמין שזה ה SolidICE, אני בטוח שאחד השיקולים היה שהם רצו להיכנס לתחום של הגדולים באמת, וירטואליצזיה של חומרה וכנראה רצו לבדל את עצמם (עד עכשיו בכל השרתים שלהם נעשה שימוש ב Xen), אבל אין לי ספק שמה שתפס את העין של red hat זה ה SPICE. רוב הדיבורים סביב ה VDI זה לספק את חווית המשתמש הקרובה ביותר למחשב אישי, והיכולות של ה SPICE יעזרו ל red hat להתמודד עם האתגר.
The Setup
Virtual Box אחד המכיל מכונה וירטואלית אחת שהיא ה DC, מכונה וירטואלית נוספת שהיא ה- Provisioning Server ושלושה מכונות ריקות ללא הארד דיסק המוגדרות לעלות מהרשת (srv1 עד 3).
מה רואים
איך כל שלושת המכונות הריקות מריצות בסופו של דבר מערכת הפעלה, כאשר כל מכונה עובדת עם שם מחשב אחר וכל אחת מהן רשומה ל AD.
במקום שכל מכונה תחזיק הארד דיסק עם מערכת משל עצמה, כל המכונות עובדות מול אותו קובץ vhd (שתופס בסה"כ כ- 1.6 ג'יגה).
בהדגמה ה- Caching נעשה על שרת ה CPVS (ומכאן גם שלושת הקבצים בתיקיית Cache).