הבלוג של ארתיום
בלוג על לינוקס, תוכנה חופשית, מוזיקה, סלסה, ומה לא!
השוואת פתרונות וירטואליזציה תחת Debian Etch 64.
וירטואליזציה זה נושא מתפתח ומעניין. מי היום לא שמע על 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 בצורה משמעותית.
תגובות
מה עם KVM?
כפי שכתבתי לעיל, אני לא הולך לסקור פתרונות וירטואליזציה שמבוססות על תמיכה בחומרה (AMD-V או Intel-VT) מסיבה פשוטה שאין לי חומרה שתומכת בזה.
kvm וגם Xen מתשתמשים ביכולות האלו.
ארתיום שלום הרשימות שלך תמיד מעניינות וברמה גבוהה!!!
תודה :oops:
חשבתי Virtualbox מבוסס על QEMU... אם כמה שיפורים בניהול זיכרון
לפי מה שקראתי, יש קוד משותף בין qemu לבין VB.
הוסף תגובה:
חובה לאפשר JavaScript כדי להגיב.