כמה מילים על VDI

ב-3 השנים האחרונות לערך, חברות רבות מנסות (בעזרת כל מיני אנליסטים, כנסים, קידום מכירות וכו') לדחוף את פתרון ה-VDI לחברות, עסקים וארגונים, מהקטנים ביותר ועד הגדולים ביותר.

למי שלא מכיר את רעיון ה-VDI, הנה הסבר בכמה מילים: VDI (ר"ת Virtual Desktop infrastructure) היא בעצם דרך/שיטה חדשה לתת למשתמשים דסקטופ משלהם. בניגוד לדרך שרוב החברות והארגונים משתמשים כיום, עם VDI למשתמש הפשוט אין יותר PC (או שיש לו Thin Client או שה-PC שלו "מומר" למערכת הפעלה שכל תפקידה הוא להפוך ל-Thin Client), וכל ה-Windows רצים כמכונות וירטואליות על שרתים שמריצים Hypervisor כמו vSphere, Hyper-V או Xen (וגם KVM שאליו אתייחס בהמשך). אין יותר טכנאים שרצים בין המשתמשים להחליף דיסקים קשיחים או תקלות חומרה אחרות וכל האחסון של המכונות הוירטואליות נמצא על NAS או SAN חזקים מבוססי SSD.

היתרון? חסכון בעלויות. כאן כל חברה משווקת שולפת איזה גרף שמראה איך ה-TCO יורד ואיך ה-ROI עולה תוך כך וכך רבעונים/שנים, איך בצורה כזו צריך פחות טכנאים (נכון בצורה מאוד חלקית – עדיין יש צורך בלטפל בתקלות מקלדות/עכבר/מסך, חיבורי רשת וכו') ואיך אנשי ה-IT יכולים "לתקתק" תקלות בצורה הרבה יותר מהירה. יתרונות נוספים:

  • זמן הקמת מכונה חדשה נמדד בשניות בודדות, כאשר המכונה החדשה כוללת את כל מה שעובד הקצה צריך.
  • צורת הגיבוי יותר יעילה (Snapshots לדוגמא) והרבה יותר מהירה.
  • עלויות החומרה יורדות כי אין צורך להחליף דיסקים קשיחים, שדרוגי מחשבים וכו'.
  • אפשר להמשיך להשתמש בכלים הקיימים אצלך כיום לשליטה מרחוק וטיפול מרחוק בתקלות
  • וכמובן – היתרונות של וירטואליזציה כמו זכרון דינמי, thin provisioning, ניהול דינמי של משאבי וירטואליזציה ועוד.

מנהלי רשתות ותיקים יכולים להרגיש תחושה של Deja Vu. כבר היינו ב"סרט" הזה בעבר. חברה כמו Citrix מוכרת קרוב ל-20 שנה פתרונות קרובים לכך (פתרונות כמו XenDesktop ו-XenApp לדוגמא) ומיקרוסופט מוכרת פתרון די דומה (שברובו בין כה נמכר למיקרוסופט ע"י Citrix) ב-8 שנים האחרונות לפחות. נכון, לא היתה וירטואליזציה כמו שיש כיום והכל רץ על שרתים עם שרותי Remote Desktop Service (מה שהיה בעבר Terminal Services). אצל 2 החברות, הפתרון היה שרת Windows Server שהמשתמש היה מקבל עליו Session עם אפליקציות שהיו מותקנות בצורה מרוכזת והמשתמשים היו מקבלים מעין Shortcuts. אגב, הפתרון הזה קיים יותר מ-30 שנה בעולם היוניקס עם X server/Client.

ההבדל המהותי בין אז להיום הוא שכיום עם VDI המשתמש מקבל את "כל העוגה", הוא מקבל מכונת Desktop, מכונה וירטואלית שכוללת הכל, בדיוק כמו ה-PC שלו.

מכיוון שעניין ה-VDI קיבל Hype בשנים האחרונות, חברות כמו מיקרוסופט, Citrix ו-VMWare החלו לשחרר מוצרים ל-VDI. להלן מספר דוגמאות:

  • מיקרוסופט כוללת פתרון VDI בתוך Windows Server 2012, כאשר הפתרון יכול להיות כמו המצב ה"קלאסי" (שרת שמריץ אפליקציות והמשתמשים מתחברים רק לסשן עם אפליקציה) או מצב VDI מלא כאשר מכונת Windows וירטואלית רצה פר משתמש עם Hyper-V, והמשתמש מתחבר דרך Thin Client עם RDP למכונה הוירטואלית שלו. לפתרון הזה יש יתרון שעקומת ההקמה/מעבר הוא די קטן (כל עוד יש לך ברזלים או תקציב לערימת ברזלים ואחסון רציניים). המחיר הנוסף (חוץ מהשרתים והאחסון) הוא על רשיונות ל-RDS (פר משתמש).
  • ל-VMWare יש את VMWare View (שנקרא כיום VMWare Horizon). בפתרון הזה ישנו פתרון PCOIP והיתרון שלו הוא שאפשר לחבר יותר מסכים (עד 4) עם רזולוציה יותר גבוהה פר מסך (עד 2560X1600), ויש תמיכה ב-OpenGL (שלא קיימת בפתרון של מיקרוסופט). הפתרון של VMWare מצריך תשתית של vSphere שעליה ירוץ Horizon. הפתרון גם תומך ב-RDP, אם כי התמיכה אינה כוללת תמיכה מתקדמת של RDP כמו RemoteFX (וגם על כך יש סייג – VMWare View 6 יכול "לתפוס טרמפ" על שרת RDS ולשמש בעצם כ-Gateway).
  • הפתרון של Citrix הוא XenDesktop (שמורכב מכמה חלקים) והוא מאפשר פתרון די זהה למה שמיקרוסופט מציעה, רק שהפתרון של Citrix יכול לרוץ על HyperVisor מסוגים שונים כולל Hyper-V, vSphere ו-Xen.

מבחינת דרישות חומרה – כל הפתרונות הנ"ל דורשים כמו תשתית וירטואליזציה מאוד גדולה עם עדיפות לאחסון ב-SSD. (מה לעשות, כל VM דסקטופי בממוצע כותב 75% מהזמן שהוא חי וקורא 25% לערך), כך שיש צורך לא רק בשרתים חזקים אלא גם בפתרון אחסון גדול מאוד, ומאוד מומלץ שהשרתים יחוברו בתשתית של 10 ג'יגהביט (VDI מצריך המון משאבי רשת).

דרישה נוספת ויחודית בתחום ה-VDI זה GPU Hardware Accelerator. אם המשתמש גולש הרבה או שיש לו המון פעילות בדסקטופ (ומה לעשות, אתרים ישראליים "טוחנים" את ה-CPU עם פרסומות Flash) – השרתים שלך יהיו עמוסים (חשוב לזכור: 30 פריימים לשניה ברזולוציה ממוצעת של 1280X1024 דורשת לא מעט משאבים, במיוחד אם המשתמש השאיר אתר חדשות ישראלי ממוצע ב-TAB או חלון פתוח – ה-Flash "יטחן" את מעבדי ה-Xeon שלכם, ועוד לא דיברתי על ניגון וידאו!). במקרה של מיקרוסופט, החברה ממליצה בחום להכניס כמה כרטיסי GPU לשרתים על מנת להוריד את העומס שקשור ל-Display (כך שהכרטיס הגרפי בשרת יבצע את עבודת רינדור המסך וישלח את התוצאה ב-RemoteFX [שהוא חלק מ-RDP] ל-Thin Client).

ב-VMware Horizon אין אמנם דרישה לכרטיסי GPU שישבו על השרת אלא אם המכונות הוירטואליות יריצו אפליקציות גרפיות כבדות כמו פוטושופ/עריכת וידאו/3D ועוד או במקרים בהם יש לך יותר מ-100 מכונות דסקטופ וירטואליות. במקרים כאלו תצטרך או להכניס כרטיסים מבוססי OpenGL כמו Quadro של nVidia או להסתכל על פתרון ה-Teradici PCoIP Hardware Accelerator. במקרים בהם יש לך אלפי מכונות וירטואליות שצריכות עבודה גרפית אינטיסיבית, תצטרך לשוחח עם nVidia לגבי פתרון קופסאות ה-GRiD שלהם. זול – זה לא.

כשזה מגיע ל-Citrix, כהרגלם בקודש, אם אפשר לסבך דברים – הם יסבכו. הנה לינק עם ערימת תנאים והתניות. בשורה התחתונה – כל עוד לא תריץ דברים גרפיים כבדים (או מאות VM דסקטופ ומעלה), אתה לא חייב כרטיסי GPU, אבל זה יכול לעזור.

מוצר שהיה עד לפני חודשיים ל-Citrix (לצערי הם הרגו את המוצר) שנקרא VDI-in-a-box. המוצר היה Appliance וירטואלי שרץ על התשתית הוירטואלית שלך, היה קל מאוד להגדרה (לוקח משהו כמו 20 דקות להגדיר ולהכין הכל) והיה מאוד מתאים להרצה במקומות קטנים (כמה עשרות דסקטופים וירטואליים עד מאות בודדים). ב-Citrix הודיעו שאת הטכנולוגיה הם ישלבו בפתרון Xen Desktop בעתיד.

KVM: ל-KVM יש פתרון שהוא "בדרך". ניתן כיום להקים פתרון VDI מבוסס KVM כל עוד יש לך כלי ניהול ל-KVM שידע להעביר מכונות בזמן עומסים לשרתים פנויים יותר (כמו Convirt). הבעיה המרכזית עם KVM היא שאין אפשרות להכניס GPU לשרתים ולבצע offload של פעילות גרפית לכרטיסי GPU כמו המתחרים, ושוב – יש Flash פועל אצל המשתמש – תראו את ה-Xeon "מזיע" ממאמץ ולכן KVM כיום יכול להתאים לפתרון VDI אם מדובר ב-pilot/POC כשמדובר בכמות קטנה (כמה עשרות מקסימום) של מכונות דסקטופ וירטואליות.

אחת השאלות שנשאלתי לא פעם בעבר לגבי עניין ה-VDI היא מדוע לא קיים פתרון שיודע להשתמש במעבד הגרפי שקיים ב-Client. אחרי הכל, אפילו טאבלטים ומחשבים שהם Low end ממוצעים כיום יכולים לנגן וידאו ולהראות גרפיקה בצורה חלקה ויפה. התשובה לכך היא שפעילות כזו תצטרך תקשורת ישירה ורצופה 30 פעם בשניה בין הכרטיס הגרפי ב-thin client ל-CPU שנמצא בשרת, מה שמצריך המון רוחב פס ו-Latency נמוך ואת זה לא ניתן בקלות לפתור. הפתרונות של Citrix ושל VMWare נותנים פתרון עקיף, וברוב הזמן למשתמש ממוצע בחברה זה יספיק, אבל במקרים של שימוש גרפי רציני, הפתרון מגיע מפרוטוקולים קנייניים שמשתמשים ב-GPU שרץ על השרתים במקום להשתמש שימוש מלא ב-GPU שקיים ב-Thin Client.

אז האם כדאי לעבור ל-VDI? לעניות דעתי – תלוי.

אם יש בארגון שלכם סניפים – פתרון VDI יכול לסייע (במיוחד כתחליף ל-Terminal Services, לתשומת לב חברות תקשורת סלולריות מסויימות…), פרטוקולים כמו HDX או RDP או PCOIP יודעים להתמודד להתמודד עם Latency תלת ספרתי. אם יש לכם קבוצה גדולה של משתמשים שמריצים אופיס ודפדפן – אפשר בהחלט לשקול להעביר אותם לפתרון VDI (לא לשכוח לבטל להם Flash, בין כה השימוש העיקרי בו היום הוא פרסומות). לעומת זאת, אם יש לכם בארגון כמה מאות/אלפי משתמשים ואתם חושבים על מעבר ל-VDI, אני ממליץ לבדוק את השיקול הכלכלי שוב, אני אישית מתקשה להאמין שתמצאו לכך הצדקה כלכלית רצינית.

טכנולוגיה אינה דת

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

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

ישנם דברים שיכולים מאוד להתאים לאיש IT מקצועי עם שנים רבות של נסיון שפשוט לא יכולים להתאים למשתמשים רבים. אני יכול לתת דוגמא פשוטה: אני כותב את הפוסט הזה עם מחשב ASUS ChromeBox שמריץ את ChromeOS שרוב הזמן אני עובד עליו. מדוע? כי אני מקבל את החוויה של שימוש בכרום תוך 6 שניות מהפעלת המכשיר, אין לי חשש מבעיה של תקלת אחסון (הכל בענן או ברשת) ואין שום דבר שיכול לגרום למכונה הקטנה הזו "להיתקע". אם אני צריך דברים יותר מורכבים, אז אני משתמש ב-Crouton באותה מכונה ואז יש לי בנוסף ל-ChromeOS אובונטו או Debian ובלחיצה על צירוף מקשים יש לי Shell כדי לעשות דברים פשוטים או מורכבים ואני אפילו יכול להריץ אפליקציות Android על ה-ChromeBox הזה ללא צורך במכשיר סלולרי או טאבלט.

האם אני ממליץ את הקונפיגורציה הזו לאנשי IT? אם הם הטיפוסים שאוהבים "לחטט" ו"לשחק" עם דברים – אז כן, בהחלט. האם אני ממליץ להעביר תחנות של מזכירות ומשתמשים קלים אחרים ל-ChromeBox? לא, כי אין עדיין ב-ChromeOS שום תמיכה פנימית ל-Active Directory, לניהול מרוכז עם כלי System Center של מיקרוסופט (שחברות רבות משתמשות בו), אין עדיין מספיק כלים שיכולים להחליף או לתת חוויית שימוש דומה בכלים שיש בעולם של מיקרוסופט למשתמש הסופי. היכן כן אמליץ להטמיע אותו למשתמשי קצה? באותן חברות קטנות שהחליטו להשתמש בשרותי Google Apps (או מה שנקרא היום Google for Work) ושכל העבודה מתבצעת דרך דפדפן. עלויות התחזוקה שם הן מאוד קטנות וגם אם מתקלקלת קופסא כלשהי, שום מידע לא הולך לאיבוד.

דוגמא אחרת היא בתחום הוירטואליזציה. התחום הזה נחלק בין 2 חברות גדולות (VMWare, מיקרוסופט) ויש גם את המתחרים כמו Xen, אורקל (VM Server). בעולם חברות רבות החלו במעבר מוירטואליזציות שרצות מקומית על השרתים של החברה לשרותי ענן כמו Amazon, Azure וגם ל-Google Cloud. בישראל, לעומת זאת, המעבר לשרותים הנ"ל עדיין איטי וחלק גדול מהחברות לא חושבות לעבור (אם כי כן להשתמש בשרותים אחרים כמו אחסון, DNS וכו')

אם אנחנו מדברים על וירטואליזציה, ושוב – אנשי ה-IT שאוהבים "לשחק", אני ממליץ להם על הכרות עם KVM. זו וירטואליזציה בקוד פתוח שנותנת ביצועים כמו ESXI. למי שמצפה ל-GUI כמו שיש עם vCenter (או VCSA/VSA) או כמו כלים של מיקרוסופט – יתאכזב. ה-GUI שיש מהרגע הראשון הוא מאוד פשוט. KVM נבנה יותר לכיוון אנשים שאוהבים Command Line ומכיוון שהוא נכתב כך, ישנם עשרות כלים, חלקם חינמיים וחלקם בתשלום – שמאפשרים לך ניהול של שרתים פיזיים שמריצים KVM. אפשרות שתעניין אתכם אולי זה להריץ את oVirt (המנהל הרשמי להרצת מכונות KVM, זה יותר מזכיר את ה-vCenter). אפשרות נוספת בבית שלכם (אם יש לכם כרטיס nVidia במחשב וגם כרטיס onboard) היא להריץ Windows עם משחקים בביצועים של בערך 95-99% בהשוואה ל-Native. הנה הדגמה:

אגב, ספריה טובה שאני ממליץ עליה (לאלו שכותבים ב-Python, PHP וכו') היא ספריית libvirt. בעזרת ספריה זו אתם יכולים להתחבר גם ל-ESXi, גם ל-Hyper-V, גם ל-Xen, ל-VirtualBox ועוד כמה מערכות וירטואליזציה ולהריץ עליהם אפליקציות שאתם תכתבו, כך שאם יש לכם סביבה מעורבת, ספריה זו יכולה לעזור לכם לכתוב כלים לנהל, לדגום ביתר קלות.

אלו הן דוגמאות בודדות לכלים שאפשר להשתמש בהם פה ועכשיו. הם לא באים להחליף את המערכות העיקריות, הם כלים משלימים שיכולים לתת לכם פתרונות במצבים שונים, מבלי לפרוץ את תקציב מחלקת ה-IT (שכמו שאנחנו יודעים – אף פעם אינו מספיק).

טכנולוגיות וירטואליזציה מבוססות מעבד

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

כשזה מגיע לרכישת מחשב אישי, חשוב מאוד לפני שרוכשים לבדוק האם במעבד שיהיה במחשב החדש ישנה תמיכת וירטואליזציה. אינטל קוראים לזה Intel-VT ו-AMD קוראים לזה AMD-V. רבים נוטים לחשוב כי אם הטכנולוגיה ותיקה (היא קיימת משנת 2005), היא נמצאת על כל מעבד חדש שיוצר לאחרונה, אולם אין הדבר כך. אדרבא, במקרים רבים (במיוחד במעבדים של אינטל) המחיר הזול של המעבד כולל גם "הפתעה" קטנה: אין תמיכת VT במעבד, לכן כשאתם נמצאים בחנות לרכוש מחשב, בדקו איזה דגם המעבד, והריצו חיפוש בגוגל (בד"כ התוצאה הראשונה תהיה דף המפרט הטכני באתר של אינטל). כנסו לדף זה, והסתכלו כמעט בסוף הדף: האם קיימת תמיכת VT? (זה יופיע כ-Yes או No).

אם יש תמיכת VT, אז כל פתרונות הוירטואליזציה יעבדו. אם אין, רק VMWare Workstation יעבוד וגם אז במהירות מוערכת של חצי ממה שהמעבד שלכם מסוגל להנפיק. פתרונות תוכנה כמו VirtualBox, או פתרונות של מיקרוסופט (Hyper-V) לא יעבדו.

כשזה מגיע לשרתים.. כאן הסיפור נהיה יותר מסובך. לאינטל יש 2 טכנולוגיות נוספות שמסייעות בוירטואליזציה:

  • אם אתם הולכים לרכוש שרת שתהיה בו עבודה רבה של תקשורת (בין אם מדובר בתקשורת בין המכונות הוירטואליות בשרת עצמו או בין שרתים פיזיים אחרים), כדאי לבדוק אם המעבדים שאתם רוכשים לשרת כוללים תמיכה של VT-C, או בשם המפוצץ שאינטל נתנה לכך: Intel® Ethernet Virtualization Technology for Connectivity. טכנולוגיה זו משפרת (במקרים מסויימים במעט, במקרים מסויימים בצורה רבה) את התקשורת Ethernet.

יש עוד טכנולוגיה שנקראת VT-D (מסמך PDF). הטכנולוגיה הזו מאפשרת לעשות משהו מעניין והוא למפות כרטיס PCI אל מכונה וירטואלית. כך לדוגמא, אם אתם מריצים שרת SQL עצבני שאוכל דיסקים כאילו אין מחר, אפשר למפות אליו מערך דיסקים+כרטיס RAID, ושאר המכונות הוירטואליות יהיו מחוברות לדיסקים הרגילים שבשרת (או ל-NFS, iSCSI, NAS וכו'). היתרון העצום? מערכת ההפעלה הוירטואלית תקבל אקסלוסיביות לציוד הנ"ל מבלי שמערכות אחרות או הוירטואליזציה "תפריע באמצע".

אבל.. ל-VT-D יש בעיה קטנה הקשורה יותר להחלטות של חברות טכנולוגיה. אינטל כוללת VT-d רק בחלק קטן מהמעבדים, וגם אם יש לך במעבד תמיכת VT-d, יש סיכוי לא קטן שב-BIOS בלוח האם אין תמיכה לזה (הבעיה הזו קיימת עוד מ-2006!), כך שאם החברה שלכם חושבת להשתמש בטכנולוגיה זו, יש לבדוק עם המשווק שיש תמיכה גם במעבד וגם בלוח האם.

יש תמיכה ב-VT-d גם במעבד וגם בלוח? מצוין. עוד לא סיימנו עם הבעיות…

איזו טכנולוגיית וירטואליזציה אתה הולך להשתמש בחברה? Hyper-V של מיקרוסופט? סורי, אין תמיכה. ל-ESX/I של VMWare, ל-KVM של רד-האט, ל-Xen של Citrix יש תמיכה, אולם לעיתים היא חלקית (כמו במקרה של Xen), לכן מומלץ לבדוק לגבי הוירטואליזציה שאתה הולך להשתמש אם יש תמיכה ל-VT-d.

ולבסוף, כמיטב המסורת של אינטל, יש גם מידע קצת סותר: יכול להיות שתפגוש את המושג VT-x. מה שהיה בעבר VT-x (ואינטל דובקת במושג זה) נקרא היום מחוץ לאינטל VT, כך שאם יש במעבד שלך תמיכה ב-VT, יש לך תמיכה ב-VT-x.

ההבדל העצום בין VPS אמיתי ל-VPS “כאילו”

היום ב-6 בבוקר קיבלתי צלצול מ-חבר שיש לו VPS אצל ספק ידוע בחו”ל. הבעיה? כל החומר שלו נעלם וגם כששיחזרו לו את החומר והוא לא מפעיל את האתר – מישהו מצליח להיכנס ולמחוק לו את התוכן. לאחר שבדקתי קצת את המערכת, הצלחתי להבין שהפריצה לא מגיעה מהחשבון של אותו בחור, אלא שמישהו מצליח להיכנס דרך חור ישן בשרת Apache והצליח ליצור יוזר, לעשות אסקלציית הרשאות ל-root ואותו פורץ יכול להיכנס לכל חשבון באותו שרת ולעשות כרצונו.

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

בסופו של דבר נתתי לאותו חבר VPS מהשרתים הוירטואליים שלנו באירופה עד שיחליט מה הוא מעוניין לעשות, והסברתי לו את הדברים הבאים שאני רוצה להסביר כאן:

המושג VPS “נמתח” על ידי כל מיני ספקים לכאן ולכאן, וחלק מאותה “מתיחה” היא בעצם מתיחה, בלוף. כאשר ספק כמו Dreamhost מציע VPS, אותה הצעה היא לא יותר מאשר אחסון משותף עם Shell. אומרים לך שיש לך root access אבל אין לך באמת גישת root. נסה להתקין חבילות RPM או DEB על הפצת הלינוקס שם ותמצא מהר מאוד שהמערכת לא מאפשרת לך זאת. אותו root כביכול שיש לך מוגבל אך ורק לתיקיה שלך, אתה לא יכול להגיע לתיקיות בתוך var/ (שם מאוחסנים קבצי ה-RPM וה-DB של כל החבילות), וזה בדיוק המצב בחבילת אחסון משותפת, רק ששם לא עובדים עליך עם root מזויף.

שרת VPS אמיתי מאפשר לך לשנות את כל המערכת שלך, מה-Kernel ועד קבצי ההגדרות. הכל אתה יכול להגדיר, למחוק, לשנות ולעשות כרצונך. מערכת וירטואליזציה רצינית תגביל אותך במשאבים בלבד (זכרון, גודל דיסק, כמות כח עיבוד, רוחב פס) אך לא ב-File system או ב-Guest (כלומר במערכת הפעלה שלך).

חברות רבות מציעות בארה”ב ובאירופה VPS בזול, כי הם רוכשים Virtuozzo ואז מקבלים פאנל ללקוחות בחינם, אבל ה”זול” הזה הוא בדיוק הדבר שיכול לעלות לך ביוקר, במיוחד שיש צורך להתקין עדכוני מערכת דחופים וספקים לא עושים זאת כי יש צורך ב-Reboot של השרתים הפיזיים וזה הדבר האחרון שהם מחפשים לעשות, אז דוחים ואז מגיעים פורצים שמנסים לפרוץ עם אותם חורים – ואז יש “שמחה וששון” ובעברית – הבלאגן מתחיל.

לכן, כאשר מסתכלים על חבילות שרתי VPS, חשוב מאוד לבדוק מהי הוירטואליזציה שרצה שם. אם הנציג אומר SolusVM, OpenVZ, Virtuozzo או Proxmoxx (עם OpenVZ כוירטואליזציה) מומלץ לחפש ספק אחר. זו שיטת וירטואליזציה ישנה שגם לא תמיד תואמת אפליקציות, עם אבטחה גרועה, וחוסר אפשרות הפרדת ביצועים בין לקוח אחד למישנהו (ובעברית: כשלקוח אחד מנצל 100% מעבד, השאר סובלים).

אלו וירטואליזציות כן מומלצות? Xen, KVM, או VMWare. כל הוירטואליזציות הנ”ל בנויות עם לקחים מהוירטואליזציות הקודמות, והן הרבה יותר מתקדמות. איזו וירטואליזציה לא הזכרתי? Hyper-V של מיקרוסופט. הסיבה? הוירטואליזציה א-י-ט-י-ת בהשוואה לשלושת הפתרונות הנ”ל.

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