מבוא ל-Xen

כתריאל טראום
14.05.2006
היסטוריית גירסאות
גירסה א 27-07-2006 כתריאל טראום
גירסא ראשונה

סיכום

מדריך זה הוא מבוא להבנת Xen והתקנה בסיסית של מערכת מארחת (Host OS) ואורח (Guest OS)

מבוא

וירטואליזציה

וירטואליזציה (Virtualization), בעולם המיחשוב, היא מושג רחב, שמתייחס ליצירת שכבת הפשטה כללית שמאפשרת שיתוף משאב אחד, פיזי, ע”י מערכות רבות.
כאשר מדברים על וירטוזליזציה של חומרה ע”י שימוש בתוכנה, שיטה אשר מאפשרת הרצה של כמה מערכות הפעלה, ישנן כמה גישות:

  • וירטואליזציה מלאה: בשיטה זו, מספקת המערכת המארחת סביבת מחשב מלאה למערכת האורחת. גישה זה מאפשרת הרצה של מערכת הפעלה מלאה, ללא צורך בשינויים במערכת המתארחת (לדוגמא: VMWare, VirtualPC, BOCHS)
  • פארה-וירטואליזציה (para-virtualization): גישה זו אינה מספקת הדמיה של מחשב מלא, אלא מספקת גישת API למשאבי המחשב המארח, גישה אשר, ללא חומרה מסויימת, דורשת שינויים במערכת התארחת (לדוגמא: Xen)

Xen

Xen פותחה במעבדות אוניברסיטת קיימברידג' (Cambridge University), וזמינה תחת רשיון קוד פתוח.
Xen היא מערכת VMM (Virtual Machine Monitor), אשר מאפשרת הרצה של מספר מערכות הפעלה במקביל, על חומרה פיזית אחת. ל- Xen מספר אופציות כמו העברה בזמן אמת של מערכות בין מחשבים מאחרים, הפרדה מלאה בין מערכות אורחות ושימוש בוירטואליזציה “קרובה לחומרה” (Bare metal) גורמת לנפילת ביצועים נמוכה ב- Guests.

Xen מסוגלת היום להריץ כמערכת מאורחת (Guest) לינוקס, Free/NetBSD ו- Windows.
בעבר, בגלל דרך היישום של Xen, לא ניתן היה להריץ מ”ה שלא עברה התאמה (Porting) מעל Xen. לאחרונה, שחררו אינטל(VT-i/x) ו- AMD (SVM) תוספת למעבדיהם שמאפשרת וירטואליזציה ברמת המעבד, תכונה שמאפשרת ל- Xen להריץ מ”ה שלא עברה שינויים (בעיקר מדובר על Windows, אבל גם לינוקס).

Xen יודעת היום לרוץ על מעבדי x86, x86_64 ו- IA64 (איטניום). כרגע ישנו מאמץ פיתוח, שיאפשר ל Xen לרוץ על חומרת PPC.

זכויות יוצרים ורשיון

כל הזכויות שמורות © 2006, כתריאל טראום, הרשות ניתנת להעתיק, לשנות ולהפיץ מדריך זה תחת התנאים של רשיון ה-GFDL

Linux הוא סימן מסחרי רשום של Linus Torvalds.

הסרת אחריות

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

משוב

תגובות, תלונות, הערות והארות לכתובת: katriel@penguin-it.co.il.

מחשב מארח (Host OS)

תקציר

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

הפצות שכוללות Xen

פדורה

חבילות דרושות:

  • xen
  • kernel-xen0
  • kernel-xenU

פרויקט פדורה התחיל לבנות חבילות Xen וקרנל תואם Xen כבר בפדורה 4. השינוי העיקרי בין גרסאות 4 ו-5, הוא עליה בגירסאת ה- Xen מגירסא 2.0 ל 3.0.2, והוספת כלי התקנה אוטומאטי.
שינוי מעמיק יותר שהתבצע, הוא תוספות ל- Anaconda, ה- installer של פדורה, שמאפשרות לו לרוץ בתוך מערכת אורחת ב-Xen, ובעצם לבצע התקנה מלאה בתוך Xen.
פרויקט פדורה חילק את הקרנל ל-2 חבילות: kernel-xen0, עבור Domain 0 (הדומיין הראשי, בעל גישה לחומרה), ו- kernel-xenU, קרנל עבור מערכות אורחות (קרנל רק עם התקני Xen).

openSuSE

חבילות דרושות:

  • xen
  • kernel-xen
  • yast-vm

Xen הוכנסה רק לאחרונה (יחסית, גירסא 10.1) כחלק מובנה ב openSuSE של Novell. בשונה מפדורה, Novell נקטו גישה קצת יותר “מתקדמת” , וביצעו שינויים ל- installer שלהם (YaST) שיוכל להתקין בתוך סביבת וירטואלית. בנוסף, הוסיפו מודול ניהול (yast-vm) שנוסף ל-YaST ומאפשר בניית מכונות והתקנתן בעזרת ממשק גראפי נוח יחסית. הממשק מאפשר התקנה ללא צורך בהכרה מיוחדת של Xen.
openSuSE לא חילקו את הקרנל כמו פדורה, והם משתמשים באותו הקרנל גם עבר הדומיין הראשי (Domain 0) וגם עבור המערכות האורחות.

התקנת Xen ידנית

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

מערכות אורחות (Guest OS)

תקציר

בפרק זה אדגים בקצרה כיצד מבצעים התקנה של מערכות אורחות (Guest OS) על ההפצות שעליהן דיברתי בפרק הקודם.
חשוב לציין: כיום, כברירת מחדל, כל הפצה מאפשרת התקנה (בלי שימוש ב Image Files) רק של עצמה (פדורה מאפשרת התקנה של פדורה, ו-openSuSE של openSuSE).
בעזרת Image Files, ניתן להריץ מגוון רחב יותר של מערכות, בלי תלות במערכת המארחת (Host OS). בסוף המדריך ישנם כמה קישורים לאתרים המספקים מערכות מוכנות שניתן להוריד ולהריץ ללא צרוך בהתקנה.

פדורה 5

xenguest-install.py

כדי להתקין מערכתת אורחת בפדורה, בשלב ראשון, נצטרך לעלות את המערכת עם kernel-xen0 ולדאוג כי xen רץ ע”י הרצת הפדודה “service xend start”. מכיוון שלמכונות האורחות אין גישה ישירה לדיסקים (למעט הדיסק שאנו “חושפים” עבורה) של המערכת המארחת, כלי ההתקנה (xenguest-install.py אם לא ניחשתם עד עכשיו) מבצע התקנת רשת. לכן, בתור הכנה, נצטרך לבנות שרת התקנה ברשת או על המחשב המארח. ניתן לעשות התקנה מהאינטרנט ישירות, אבל זה לרוב יקח הרבה זמן.
הקמת שרת התקנות רשתי אינו תהליך מסובך, אבל מחוץ לתחום המדובר מדריך זה; התהליך מוסבר ומתואר עבור כמה הפצות בקישור הבא

כאשר יש לנו שרת התקנות מוכן, נוכל להריץ את הסקריפט:

[root@xen ~]# xenguest-install.py
What is the name of your virtual machine? vm1
How much RAM should be allocated (in megabytes)? 256
What would you like to use as the disk (path)? /storage/xen/vm1
How large would you like the disk to be (in gigabytes)? 5
What is the install location? http://10.0.0.1/fc5

תוכנת ההתקנה תטען את Anaconda (ה-installer של פדורה, זוכרים?) מהרשת, ותריץ זיהוי חומרה (בכאילו). בשלב אחרון לפני התחלת ההתקנה עצמה, תשאלו האם אתם רוצים לבצע התקנה טקסטואלית או התקנה דרך VNC.
במידה ותבחרו ב-VNC, יורץ שרת VNC, ותקבלו הודעה לאיזה כתובת תצטרכו להתחבר. ברגע שמתחברים, מתחילה ההתקנה הגראפית, באופן זהה לחלוטין להתקנה סטנדרטית מ-CD.

openSuSE 10.1

בכדי להתקין Xen Guest על openSuSE, בדומה לפדורה, נצטרך קודם להעלות את המערכת עם kernel-xen ולוודא כי xen רץ ע”י הפקודה “rcxend start”
שלב הבא, נפתח את מנהל המערכת (YaST2), ונבחר תחת “System” את “Virtual Machine Management”. משם נוכל לצור מכונה, לבצע התקנה ועוד. כמה תמונות מסך מתהליך ההתקנה הראשוני:

הכנת המכונה (לחץ להגדלה) סוג ההתקנה (לחץ להגדלה)
קינפוג ה- VM (לחץ להגדלה) תהליך ההתקנה (לחץ להגדלה)

שאר התהליך זהה להתקנת openSuSE רגילה. במידה ותרצו לבצע התקנה גראפית, שנו במסך הקונפיגורציה של ה-VM את האופציה textmode=1 ל- vnc=1. ההתקנה תריץ שרת VNC ותספק לכם את כתובת ה-IP והפורט אליהם יש להתחבר כדי להתחיל את ההתקנה בצורה גראפית.

מידע נוסף

מדריכים/מבוא_ל-xen.txt · שונה לאחרונה ב: 2008/06/19 18:34 (עריכה חיצונית)
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0