איזו וירטואליזציה מומלצת?

אנשים, עסקים וחברות אשר שוכרים שרתים וירטואליים (VPS) בודקים כל מיני פרמטרים לפני שהם סוגרים עיסקה, אך אינם תמיד מודעים לאיזו תוכנת וירטואליזציה רצה על השרת הפיזי. אחרי הכל, כולם נותנים לך root (בלינוקס) או Administrator (ב-Windows), אז מה כבר ההבדל?

יש הבדל לא קטן. אתה משלם על שרת, אז לא עדיף שהשרת שלך ירוץ בצורה הכי מהירה, הכי טובה ותואמת את מערכת ההפעלה שבחרת?

להלן רשימת ה"חשודים העיקריים", ברשותכם:

  • Virtuozzo (או OpenVZ בגירסת הקוד הפתוח): אחת התוכנות הותיקות ביותר בשוק שבעצם די קיבעה בשוק מושג כמו Over-selling (שהספק מבטיח לך 1 ג'יגה זכרון, יש לו 20 לקוחות ויש במכונה 8 ג'יגהבייט זכרון) ואת המושג VPS בעצם (למרות שהוא לא ממש נתן לך באמת Private Server בהשוואה למצב כיום).
    יתרונות: במצב "טבעי" (הווה אומר: לא הרבה לקוחות על שרת פיזי אחד) המכונה נותנת ביצועים שהם כמעט כמו לרוץ על שרת פיזי. הטריק הוא כמובן שהמכונה לא ממש מריצה וירטואליזציה, אלא עושה הפרדה ע"י chroot (שזה root "כלוא"), כך שהאפליקציות שלך רצות במצב רגיל על השרת בלי תוכנה שצריך להמיר פקודות או לעבור מצבים שונים מבחינת מעבד, מערכת הפעלה וכו'.
    חסרונות: לא חסר! ספקים רבים "דוחפים" כמה שיותר לקוחות לשרת פיזי, מגדירים יותר זכרון ממה שיש במכונה, כך שהמכונה צריכה לעשות סימולציית זכרון נוסף ע"י שימוש בדיסק הקשיח, מה שמבטיח שהביצועים ירדו, נוסיף לכך שאין בוירטואליזציה הזו הפרדה ממשית בין הלקוחות, וכך לקוח שיש לו תהליך שתופס 100% מהמעבד יאיט את המכונה לכולם (אם כי יש כלים "להרוג" את זה, אבל אז יש לנו תהליך מת ולקוח עצבני).
    בנוסף, לא ניתן להתקין מערכות הפעלה שונות – יש CentOS 5.3 על השרת? זה מה יש ואי אפשר להתקין שום גירסת לינוקס אחרת (המצב שונה עם OpenVZ אך עדיין רוב הספקים לא מוכנים לתת מערכות לינוקס שונות על OpenVZ עקב עלויות תמיכה פנימיות) וכמובן לא Windows או כל מערכת הפעלה אחרת.
    והנקודה הכי בעייתית: המכונה משתמשת בקרנל (Kernel, ליבה) שמגיע עם ה"וירטואליזציה" וניתן רק להחליף לקרנל חדש יותר עם תמיכה באותה וירטואליזציה. הצרה היא שלשם כך יש צורך בלעשות Reboot והרבה ספקים חוששים לעשות Reboot פיזי לשרת כי הלקוחות יצעקו, וכך נוצר מצב עצוב שיש חורי אבטחה ואם מישהו עולה על חור אבטחה כזה, הוא יכול לגשת לכל החשבונות של הלקוחות ולעשות בהם כרצונו.
    המלצה: אם אפשר, לא לקחת חבילת VPS עם וירטואליזציה כזו. ישנם פתרונות אחרים טובים בהרבה.
  • Xen – וירטואליזציית קוד פתוח שב-5-9 שנים האחרונות תופסת מקום של כבוד בשוק ספקי שרת VPS. היא נכתבה ע"י סטודנטים וכיום היא בבעלות של חברת Citrix שגם משחררת מוצר עסקי (XenServer) וגם משחררת גירסת קוד פתוח של Xen.
    יתרונות: יש אפשרות להריץ גירסאות לינוקס אשר מקומפלות עם תמיכה ל-Xen ואז לקבל ביצועים כמו עם Virtuozzo, וגם אפשר להריץ מערכות הפעלה זרות (Windows, Linux, FreeBSD, Solaris ועוד). ל-Xen יש דרייברים מיוחדים (PV – Paravirtualized) אשר יודעים לשוחח ישירות עם החומרה הפיזית ובכך להאיץ ביצועים של דיסק, רשת ועוד.
    חסרונות: מבחינת ביצועים, המערכת נותנת ביצועים ממש לא רעים, אך לא בהשוואה למתחרה אחר בקוד פתוח (KVM) וגם לא מול המתחרה (VMWare). חסרון נוסף שלה הוא עניין התזמון (Scheduling) של מערכות הוירטואליות שרצות עליה (מי שמשתמש ב-Linode אולי מכיר את זה שלפעמים צריך לחכות כמה שניות עד שהמכונה מתחילה "לזוז" כמו שצריך ברגע שעושים אליה SSH). הבעיה מוכרת למפתחי Xen והם עובדים עליה בגירסה 4.3.
    לסיכום: Xen היא אפשרות לא רעה בשרת VPS, רק מומלץ לבדוק את הביצועים של המכונה לפני שסוגרים חוזה.
  • Hyper-V של מיקרוסופט: כמו תמיד, מיקרוסופט נכנסה לשוק באיחור רב, ומכיוון שלא היה להם טכנולוגיית וירטואליזציה, אז הם קנו חברה (Connectix) שהמוצר שלהם ממש לא היווה תחרות, וכיום המצב עדיין כך. Hyper-V הוא פתרון הוירטואליזציה של מיקרוסופט, הוא מגיע עם כל שרת Windows 2008 (יש גם גירסת Stand Alone) והוא תומך במספר מצומצם של מערכות הפעלה אורחות. הוא נמצא בשימוש רב אצל חברות וארגונים שמתעקשים אך ורק להשתמש בטכנולוגיות של מיקרוסופט ובשל מחירו ה"חינמי" כביכול.
    יתרונות: זהו מוצר הוירטואליזציה היחיד שמיקרוסופט תומכת בו רשמית מ-א' ועד ת', בין אם אתה מריץ עליו שרתי Windows אחרים כ"אורחים" או גרסאות לינוקס שונות. המוצר קל (יחסית) לשימוש ומהווה פיתוי לא קטן לחברות להשתמש בו במקום להשתמש במוצר המוביל או מוצרים מבוססים קוד פתוח – כי הוא "חינמי". כיום כבר יש לו ביצועים לא רעים.
    חסרונות: תמיכה במערכות הפעלה – מאוד סלקטיבית. רק לאחרונה נוספה תמיכה רשמית ל-CentOS, הוא תומך כבר זמן רב ב-Red Hat וב-SuSE. הוא עדיין לא תומך רשמית בהפצעות חופשיות אחרות כמו Debian ו-Ubuntu אם כי יש אפשרות לעבוד איתן תחת Hyper-V. מבחינת ביצועים הוא עדיין מפגר הרבה אחרי VMWare ואחרי KVM של RedHat.
    למעט אצל ספקים מסויימים (כמדומני בארץ אצל LiveDNS) רוב הספקיות שרתי VPS אינן משתמשות במוצר זה.
  • KVM – הפתרון של RedHat. זהו מוצר וירטואליזציה די צעיר (מ-2006 אם אינני טועה) שפותח ע"י חברת Qumranet הישראלית ונרכש ע"י רד-האט. אחד הדברים היפים ב-KVM זה שהוא בעצם לקח מה ש-Virtuozzo עשו ועשה את זה בצורה נכונה (עם טכנולוגיית VT של אינטל ו-AMD): כל מערכת הפעלה היא Process עצמאי, שאפשר להפעיל עליו כלים שונים כמו nice כדי להאיט/להאיץ/לתעדף ביצועים של מערכת הפעלה אורחת. KVM שואב הרבה מ-Xen ופרויקט קוד פתוח אחר (שלעבדכם הנאמן היה הכבוד ללוות): QEMU. כיום המוצר נמכר ע"י RedHat תחת השם RHEV (שאגב, גירסה 3.0 שלו יצאה היום) והוא גם קיים בכל הפצת לינוקס עם כלי ניהול חדש (שיצא רשמית ב-31/1 השנה) בשם Ovirt.
    יתרונות: ביצועים ביצועים ביצועים – KVM יודע לתת פייט מאוד רציני למוביל (VMWare) בכל הקשור לביצועי וירטואליזציה ואם חברות חושבות לעזוב את המוביל לטובת פתרון קוד פתוח, אז מומלץ לנסות את KVM. בנוסף KVM יודע לתמוך בכל מערכות ההפעלה, הוא חלק מליבת הלינוקס, וקל להתחיל להשתמש בו (בהתקנה של Fedora לדוגמא, כל מה שצריך להפעיל פקודת virt-manager וכבר יופיע ממשק גרפי להגדרות וכו').
    חסרונות: המערכת בגירסת הקוד הפתוח עד היום לא היתה קלה לניהול. לא שהיו חסרים כלים לניהול (ישנם ספריות, מערכת ניהול דרך command line בשם virsh שיודעת גם להתממשק למערכות וירטואליזציה אחרות), אבל היה צריך להושיב מפתח כדי להרים מערכת נורמלית להקמה והטמעה של KVM. כיום יש כבר את Ovirt שאפשר להוריד ולהתקין, והוא מאפשר חיים יותר קלים בניהול.
    חסרון נוסף הוא שמכיון שהמערכת צעירה ומשתנה מאוד (עד לפני שנה היה צריך שרת Windows כדי לנהל את המערכת), עדיין חסר לה ספרות ודוקומנטציה מלאה לכל הדברים. בנוסף, עדיין יש פה ושם בעיות (כמו: התקנת Windows 2008 בפעם הראשונה לוקחת יותר מחצי שעה, פי 5 מכל פתרון אחר!).
    KVM נמצאת בשימוש אצל ספקים מסויימים (עם Proxmox), אך מערכות אלו עדיין לא מספיק חזקות ויציבות (גירסה 2.0 של Proxmox תתמוך בגרסאות האחרונות של KVM והספריות הנלוות). במהלך החודשים הקרובים יכנס Ovirt לשימוש וכלים אחרים, ולספקים יהיה יותר נוח להטמיע פתרון מלא מבוסס KVM. (אצלנו ב"חץ ביז" התחלנו להשתמש ב-KVM למערכות לא חיוניות ואנחנו לאט לאט מפתחים פאנל חדש ולקוחות שירצו יוכלו במהלך השנה לבחור את הוירטואליזציה שירצו)
  • VMWare – המובילים, ה"מלכים" בכל תחום הוירטואליזציה. אין הרבה מה לאמר עליהם חוץ מהעובדה שזה התחום שהם מובילים בו בכל העולם (70% משוק הוירטואליזציה נשלט על ידם לפני גרטנר).
    יתרונות: אין סוף. יציבות, מהירות, תמיכה בציודים שונים, מתפתחים די מהר ובקיצור – אם יש לך פתרון מבוסס vSphere של VMWare, אין לך מה להסתכל אצל אחרים.
    חסרונות: מגירסה 5 המחירים טיפסו בטירוף מעלה, מה שגרם לחברות רבות להישאר בגירסה 4.1 האחרונה. יש תוספות מאוד נחמדות ל-vSphere-5 (כמו האפשרות לאחד מספר שרתים וליצור Storage מכובד ועוד דברים), אבל המחיר אוי המחיר שהם מבקשים..
    מבחינת ספקי שרתי VPS – בארץ לא מעט ספקים משתמשים בגירסת ה-ESXI החינמית, בחו"ל יש ספקים שמאפשרים וירטואליזציה עם VMWare תמורת מחיר של 50$ חודשי עבור הרשיון (פר מכונה וירטואלית).

לסיכום: לכל וירטואליזציה יש יתרונות וחסרונות. יש וירטואליזציות מהירות אך שהאבטחה בהן גרועה מאוד (Virtuozzo). יש וירטואליזציה מעולה אך שתצטרך להוסיף תשלום עליה (VMWare), ויש טכנולוגיות וירטואליזציות שונות בשימוש נרחב (Xen אצל Amazon, Linode) אך הן אינן נותנות את מיטב הביצועי וירטואליזציה.

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

בהצלחה

Comments

comments

5 תגובות בנושא “איזו וירטואליזציה מומלצת?”

  1. חץ, שכחת עוד אחד – את VirtualBox. עד שסאן הפכו ל"אורקל" – לדעתי זו היתה התכנה המובילה (חלקית בקוד פתוח). אאל"ט כיום היא כולה בקוד פתוח, מאוד קלה לניהול (יש מישק גרפי לא רע גם על לינוקס), ומשתמשת כיאות במעבד. לא בדקתי על אותה מכונה גם את הוירטואליזציות האחרות שזמינות ולכן לא יכול ממש להשוות.

    1. לא, לא שכחתי, אבל לצערי אין ל-VirtualBox כלים מספיק טובים ו-API רציני כדי להפעיל אותו על שרתים, וגם אין לו שום Scheduler לתזמן מערכות וירטואליות וכו'. זו הסיבה שבתעשיה הזו אף אחד לא משתמש ב-VirtualBox חוץ משימוש ביתי

  2. שלום,

    בגלל העלות הגבוהה של הvmware  אנו שוקלים לעבור ל-hyper-v . מה דעתך, האם בגרסה החדשה של מייקרוסופט הצטמצמו הפערים?

    האם מה שכתבת בכתבה שלעיל עדיין "תופס"

     

    תודה מראש

     

    איימי בנטולילה

    מנהלת רשת

    מכללת אורות ישראל

  3. שלום,

    מתלבט בין רכישה של vmware ל hiper v, להפעלה בערך 10-11  שרתים וירטאלים על שתי שרותים פיזיים וסטורג'. שמעתי שגרסה אחרונה של hiper -v לא נופלת בהרבה מvnware.

    אשמח לדעתך

כתיבת תגובה

האימייל לא יוצג באתר. שדות החובה מסומנים *