השוואת פתרונות וירטואליזציה תחת Debian Etch 64.

ב־28.6.2007, מאת ארתיום; פורסם תחת: לינוקס, פיתוח, תכנה ומחשבים; ‏6 תגובות

וירטואליזציה זה נושא מתפתח ומעניין. מי היום לא שמע על VMWare? אכן, וירטאליזציה פותחת עולם אפשרויות שלם: בדיקות מערכות אקזוטיות, ביצוע ניסויים ופעולות מסוכנים בתוך "תנאי מעבדה", פיתוח תוכנה ועוד. אם מישהו לא מכיר, קזית 3 פותחה בתוך מכונה וירטאלית של qemu. היא הקלה משמעותית על פיתוח, או אפשר להגיד, היא בעצם איפשרה לעשות אותו בלי סיכונים מיותרים למחשב הקיים.

בעקבות מעבר ל־64 ביט גיליתי ש־qemu פחות יציבה במקרה זה, מה שגרם לי לבדוק מספר פתרונות וירטאליזציה השונים:

  • פתרון קנייני VMWare Player.
  • פתרון חופשי לחלוטין qemu+kqemu ששוחררו לא מזמן תחת רישיון GPL.
  • פתרון חופשי עם כלי ניהול קניינים VirtualBox שצובר תאוצה.

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

פתרון -- qemu

זה הפתרון הותיק והידוע שעובד צורה מאוד טובה תחת מערכות 32 ביט. היתרון המשמעותי ביותר שלו, זה תמיכה בחומרות שהן לא x86, כמו PPC או ARM שלא קיים במערכות וירטואליזציה אחרות. הממשק שלו לא ידידותי במיוחד -- שורת פקודות, אבל הוא מספיק גמיש על מנת לספק את כל הדרישות האפשריות. בד"כ אין בעיה עם הרצת מערכות 32 ביט תחת qemu-system-x86_64 עם האצה בחומרה kqemu, אבל כשמדובר במערכות 64 ביט זה כבר לא תמיד עובד:

  • טעינת מנדריבה 2007 גרסת אביב גרמה לקריסה של qemu.
  • אובונטו לא הצליחה לעלות בכלל.

עם כל זה, הצלחתי לעלות עם LiveCD של Fedora 7 של 64 ביט ולבדוק אותו. כלומר יש בעיות בסימולציה של 64 ביט עם חלק מההפצות. אבל מערכות של 32 ביט עובדות כראוי: XP Pro, CentOS, Kazit 3 ועוד.

בנוסף, qemu עדיין נשאר יחסית איטי, השוואה לפתרונות אחרים מבציעה על ירידה של כ־50-60% מהביצועים . זה מורגש במיוחד בממשק משתמש שמגיב באיטיות.

פתרון -- VMWare Player

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

היתרון המשמעותי -- היא מהירה ותומכת ללא בעיות באורחים של 64 ביט. (אם כי, אובונטו לא עלתה, אבל זה נראה יותר כבעיית אובונטו עצמה).

פתרון -- VirtualBox

נתחיל ממספר בעיות:

  • הפעלה שלו דרשה הוספת פרמטר לקרנל nmi_watchdog=0 שבכלל לא מצא חן בעיני (לפחות שהייתי יודע למה זה יכול לגרום)
  • אין תמיכה באורחים של 64 ביט בכלל.
  • יש בעיה עם שעון שגרמה לקבלת תוצאות לא הגיוניות של פקודת time ולחיצות מרובות של מקשים ללא סיבה (אילו לחיצה ארוכה).

אבל יש גם יתרונות משמעותיים:

  • מהירות שממש לא נופלת על VMWare Player.
  • כלי ניהול -- ממשק גרפי ממש נוח וקל, מאפשר לנהל רשימת מערכות וירטואליות כוננים, תקליטורים ועוד. פשוט הרבה יותר נוחה לתפעול השווא לשאר הפתרונות.

השוואות ביצועים:

מערכת הפעלה פעולה qemu VMWare VirtualBox
Fedora 7 x86_64 עליה 190s 100s N/A
Fedora 7 x86_64 ירידה 50s 30s N/A
Fedora 7 x86_64 דחיסת קובץ 2.0s 0.9s N/A
Kazit 3 x86 עליה 215s 90s 87s
Kazit 3 x86 ירידה 32s 25s 20s
Kazit 3 x86 דחיסת קובץ 3.8s 1.45s בין 1-2 שניות

לסיכום

לא חסרים פתרונות טובים לאורחי 32 ביט, הפתרון היציב היחיד עבור אורח 64 ביט הוא VMWare. המהירות של qemu נופלת על זו של VMWare ו-VirtualBox בצורה משמעותית.

תגובות

שרון, ב־29.6.2007, 0:26

מה עם KVM?

ארתיום, ב־29.6.2007, 6:32

כפי שכתבתי לעיל, אני לא הולך לסקור פתרונות וירטואליזציה שמבוססות על תמיכה בחומרה (AMD-V או Intel-VT) מסיבה פשוטה שאין לי חומרה שתומכת בזה.

kvm וגם Xen מתשתמשים ביכולות האלו.

אילן שביט, ב־29.6.2007, 21:08

ארתיום שלום הרשימות שלך תמיד מעניינות וברמה גבוהה!!!

ארתיום, ב־30.6.2007, 17:08

תודה :oops:

name, ב־13.7.2007, 0:33

חשבתי Virtualbox מבוסס על QEMU... אם כמה שיפורים בניהול זיכרון

ארתיום, ב־13.7.2007, 7:28

לפי מה שקראתי, יש קוד משותף בין qemu לבין VB.

הוסף תגובה:

 
 כתובת דוא"ל לא תוצג
 

ניתן לכתוב תגובות עם שימוש בתחביר Markdown.

חובה לאפשר JavaScript כדי להגיב.

דפים

נושאים