אתמול פרסמתי בבלוג שבמסגרת העסק של מכירת שרתי VPS, אני הולך להשתמש ב-VMWare. לא חשבתי שזה ישנה להרבה, עד שפתחתי בבוקר את תיבת ה-GMAIL שלי לגלות לא פחות מ-15 מיילים של אנשים שנדהמו שאני משתמש בכלי ה"משוקץ" הזה במקום להשתמש בפייבוריט של כולם: XEN.
אני כותב את הפוסט הזה בשביל להבהיר ספציפית ובאופן כללי את היחס שלי אישית לגבי הכלים הללו.
אתחיל מדוגמא פשוטה: לקוח מחר שירצה לשכור את שרותיי, להרים 200 מכונות וירטואליות בחברה שלו וישאל אותי על איזו טכנולוגיה להשתמש, רוב הסיכויים שאומר לו ללכת על XEN, ואם הוא ירצה לשכור את שרותיי להרים את השרתים הללו, אקים אותם בשמחה. הקמתי לא שרת אחד ולא שתיים של XEN ואני מכיר את השטיקים פחות או יותר (אם כי עדיין לא "חרשתי" על גירסה 4, אבל זה בדרך. אני צריך פה בבית 2 מחשבים נוספים דחוף)
אז מדוע בעצם הלכתי על VMWare?
הסיבות הן פשוטות וברשותכם אפרט:
- להקים שרתי XEN לוקח זמן. כמה זמן? המון זמן. את קובץ הקונפיגורציה פר מכונה אפשר ליצור דרך סקריפט PHP פשוט עם ממשק וובי עם כמה כפתורים לבחור מה יהיה במכונה, ה-PHP יצור קובץ, ודרך פקודות xm (או virsh אם משתמשים ב-RedHat/CentOS) אפשר להפעיל את המכונה, אבל אם אתה רוצה יותר (ואתה צריך יותר) דברים כמו Traffic Shaping (מה לעשות, לתת לילד בן 17 שרת VPS די מבטיח שהוא יחנוק לך את הקו ולא חשוב כמה תתן לו), או Load Balancing או שימוש באחסון (בין אם זה iSCSI או AoE וכמובן שצריך LVM לביצועים טובים) – הדברים האלו מצריכים זמן כדי לתכנן אותם בצורה יסודית, ועוד לא התחלתי לדבר על איזון בין השרתים הוירטואליים בתוך המכונה עצמה (XEN בהגדרות הרגילות שלו לא משהו בזה, במיוחד כשלא משייכים מכונה וירטואלית לליבה ספציפית. מנסיון!)
- עלויות: אם יש משהו אחד שאתה לא יכול לעשות בביזנס, זה לשחק בלקוחות שלך, להרים להם מכונה, לשכוח הגדרה ולהוריד לו אותה ככה, מבלי לחטוף צעקות ואיומים מהלקוחות (הייתי בסרט הזה בעבר). אני יכול לשכור לשכור שרת עם 2 מעבדי XEON מרובעי ליבות עם 8 ג'יגה זכרון ב-350 דולר לחודש ואז לשחק, אבל אז גם בזבזתי 1400 שקל, וגם אני מפסיד כסף כי אני לא יכול באותו זמן לשרת לקוחות כפרילנסר, בזמן שאני "משחק" עם ההגדרות של XEN, מוסיף חוקי iptables, כותב סקריפטים מחדש, מחפש פאנל כלשהו (וגם זה בתשלום כמובן) עד שאני מגיע למשהו יציב שמאפשר להריץ לקוחות בצורה יציבה, כלומר ההפסד הוא גדול.
- השקעה: אם היה לי איזה מיליונר שבא, נותן טפיחת שכם שפורקת את הכתף, שם צ'ק שמן של כמה עשרות אלפי דולרים ואומר לי "חץ, תרים לי הוסטינג!", אז בהחלט היה מקום להרים שרתי XEN, לקחת את הזמן ולעשות את כל העבודה הגדולה. במקרה שלי, זה חלום של כמה שנים לתת משהו יותר טוב מהאחרים עם מחירים שוברי שוק, רוחב פס מכובד ו"ברזלים" רציניים. את כל הדברים האלו אני צריך לממן מכיסי, ו-XEN כרגע, כמו שאמרתי מקודם, יכניס אותי להפסדים לפני שאקבל לקוח ראשון.
אז עשיתי את החישובים שלי והגעתי למסקנות:
- VMWare נותן לי פתרון יציב ומהיר פה ועכשיו. איתו אני יכול להרים תוך מס' דקות מכונות ללקוחות וגם לתת Trial ללקוחות פוטנציאליים.
- בניגוד לאחרים שמשתמשים ב-VMWare ומגלגלים את העלות העצומה שלו על הלקוח (לי פה בארץ לקחו פעם על מכונה מבוססת VMWARE עם 5 ג'יגה מקום מחיר של 60 דולר, וזה היה רק לפני 3 שנים), אני לא מגלגל כלום כי לי הרשיון של VMWare עולה … 0 (לא, לא גירסה פרוצה ולא עם שימוש ב-Keygen, חוקי לחלוטין). ככה זה שמכירים את המייסדים היהודיים של VMWare ושולחים להם "שנה טובה" כל שנה ואיחולים בחגים. יש יתרון בלהיות יהודי 🙂
- VMWare נותן לי לעשות דברים ש-XEN לא נותן. עם שניהם ניתן להגדיל זכרון על מכונה "חיה" (בתקווה שה-Guest יכיר בכך: לינוקס מכיר, Windows 2003 לא), אבל מה עם הוספה של CPU? לקוח רוצה שאוסיף לו עוד ליבה מבלי שאעשה לו ריבוט, ב-VMWare לוקח 3 שניות לעשות את זה וה-Guest יכיר בכך (תחת מגבלות, שוב, Windows 2003 לא מכיר, Windows 2008 Data Center כן מכיר, לינוקס מכיר חופשי כל עוד יש לך קרנל די עדכני) ויש עוד עשרות פונקציות שאני יכול להציע ללקוחות שלי ללא תשלום נוסף שאותם אני לא יכול להציע עם XEN
- מי שחושב שלהשתמש ב-XEN כתוכנה של קוד פתוח עוזר לתוכנה חופשית, עדיף שיזכר מי הבעלים של XEN.. סיטריקס, והם לא רד-האט שמשחררים קוד ברגע שיש להם מוצר שנרכש כמו Netscape Directory וכו'. לא מאמינים? תשוו בין הפתרון המסחרי של XenServer ל-Xen קוד פתוח.
לסיכום: יש יתרון ל-XEN ויש יתרונות ל-VMWare, אבל כשזה מגיע לביזנס, תעדוף הדברים שונה.
פרויקט מעניין.
מסכים לגבי VWMWARE ו-XEN.
בהצלחה !
מה עם לעשות שימוש בכלים שסיטרקיס מספקת? הלקוח במילא משלם על רשיונות.
רם, תחשוב לרגע בראש כאילו אתה לקוח שלי:
1. אני לא מעוניין לגלגל עליך עלות רשיונות. אני מרים ביזנס בשביל להוזיל לך עלויות, לא להוסיף. אחרי הכל – הרווח שלך הוא בכיס, כמה שאתה תגבה מהלקוח שלך הוא עניין שלך, אבל כלקוח שלי, אני רוצה שאתה תשלם תשלום הגון.
2. הכלים שסיטריקס מספקת מספיקים אולי, אולי לבסיס. קח דוגמא: תרים 5-7 מכונות וירטואליות על XEN ותראה שאין ביניהם Load Balancing אוטומטי. למה? כי סיטריקס רוצה על הדבר הזה 2500 דולר. מה אם אני רוצה לעשות Snapshot Live ולחזור אחורה גם תוך כדי שהמכונה חיה? גם, רק בגירסת ה-2500$. רוצה גרפים ודוחו"ת על ביצועי השרת הפיזי והמכונות הוירטואליות? בכיף! זה יש בגירסת ה-1000$. לא מאמין? הנה לינק:
http://www.citrix.com/English/ps2/products/subfeature.asp?contentID=2300456
אז בשביל מה לי להוציא 2500$ כשאת הפתרון השני (VMWare) אני יכול להשיג בחינם?
ברור שצריך לספק את ללקוח את הפתרון הטוב ביותר. להשכלתי , מה חוץ מ-loadbalancer המערכת של vmware לוקחת?
מהניסיון שלי עם כלקוח על vmware הם מבצעים reboot על הוספת ליבה והוספת זכרון עבור מערכות לינוקס.
לא כל כך הבנתי את שאלך.
לגבי reboot – אולי הגיע הזמן שילמדו קצת VMWare 🙂 (אלא אם הם מריצים VMWare Server החופשי)
שלפי דעתי אוכלת את ה VMware ESX, בגירסא החינמית של Citrix XenServer יש לך גם אפשרויות כמו vMotion של VMware בחינם ועוד.. (כולל את מה שרשמת כאן)
תסתכל בתגובה שלי לרם.
ולגבי "אוכל", צר לי, אבל בשביל הפונקציות המתקדמות אתה צריך לשלם. תסתכל בלינק ששמתי באותה תגובה.
הפתרון של VMWARE לא יעלה לך כסף??
אכן, הצלחתי להגיע להסדר מיוחד איתם 🙂
בסופו של דבר, יש לך יתרון מובהק והוא העלות.
יכלת לוותר על כל הפוסט הזה ופשוט לכתוב: "אני משתמש בVMWare כי אני מקבל אותו בחינם".
אין פה שום עניין של מה יותר טוב. כי לכל אחד היתרונות והחסרונות שלו.
אם לא היית מקבל אותו בחינם, אני בטוח שלשבת ולכתוב סקריפטים היה נכנס כחלק מעלויות אל מול VMWare ולא סתם כ"כאב ראש".
לא, זה שאני מקבל בחינם לא אומר שדווקא בגלל זה אני משתמש בו. גם XenServer אני יכול להוריד בחינם. VMWare באמת עוזר לי ונותן לי הרבה יותר מ-Xen. זה שאני מקבל בחינם אינו השיקול הקובע שלי.
לשבת ולכתוב סקריפטים זה נחמד, אבל בזמן שאתה יושב ושובר את הראש על קונפיגורציות של vif ואיך לעשות 1001 דברים לוקח זמן והשקעה, ולהיות גם המפתח, גם איש המכירות וגם איש התמיכה זה מתכון בטוח לנפילה.
זה לא סותר את מה שאמרתי.
את xen אתה מתקין בחינם, אבל צריך להשקיע עוד זמן (כסף) בכדי להביא אותו למה שאתה מקבל בחינם מ VMWare.
ניסית פעם לעדכן שרת XenServer מרוחק מחיבור ADSL שלך? בהצלחה, צריך להעלות קובץ של 300 מגה, כי המפגרים לא יכלו להכניס עדכון דרך האינטרנט לשרת עצמו…
זה למה כמעט כל שרת היום (קשה לי להאמין שיש כאלו שכבר בלי) מגיע עם IPMI, קודם כל יש לך KVM over LAN וגם Serial over LAN או בקצרה Console Redirection, דבר שני יש לך אפשרות לחבר כונן וירטואלי, למשל לחבר קובץ iso על גבי NFS/HTTP/CIFS.
ולעדכן VMware לא דורש להתקין קובץ ISO מסוים? ועוד איך דורש. (למשל מגירסא 3 ל 4 לדוגמא).
דווקא ל Citrix יש Repos משלהם, גם למערכות הפעלה (מה של VMware אין כל כך), נסה לעדכן 100 מכונות ב VMware עם כלים חדשים.
אבל זה וויכוח מיותר, כי אתה כנראה לא אובייקטיבי, יכול להיות מאוד ש VMware יותר מתאים לך, כי הוא בחינם, אבל אני בספק שהוא יותר טוב מ Xen, לי אישית ה Overhed של VMware לא עושה טוב.
אבל יש דוגמאות מפה עד להודעה חדשה, כמו למשל ש Amazon משתמשים ב Xen ב EC2.
אני לא אומר ש VMware לא טובים, אבל להגיד שהם הכי טובים בגלל שקיבלתי אותם בחינם זה הממ קצת, לא אובייקטיבי, לא?
למה אתם מסתכלים רק על Xen לעומת vmware?
למה לא KVM?
KVM הוא טוב ונחמד, אבל בשביל התכונות המתקדמות שלו (Load balancing בין מכונות וירטואליות ובין מספר שרתי KVM) מצריך רכישה של התוכנה הסגורה של קומרנט.
אתה יכול להרחיב למה אתה מתכוון בדיוק ב-"load balancing בין מכונות וירטואליות ובין מספר שרתי KVM"?
אני לא משתמש ב-KVM עדיין (מתכוון לעבור אליו מ-Xen בהזדמנות הבאה) ואולי בגלל זה זו פעם ראשונה שאני שומע שזו לא תוכנה פתוחה לגמרי – הרי היא חלק מלינוקס היום, לא?
אישית אנחנו לא משתמשים ב-guest migration, אם זה מה שאתה מתכוון אליו. אנחנו מריצים Redhat Cluster Suite על השרתים הוירטואלים להשגת HA (הכל בחינם על CentOS, לפחות בארבע השנים האחרונות).
החלק שפתוח היום ובתוך הקרנל הוא כל העניין שהליבה של המכונה הוירטואלית שלך נמצא מאחורי dev/ ובעצם כל מכונה זו אפליקציה, מה שאומר שאם אתה מריץ 20 מכונות על ברזל, אתה תלוי בחסדיו של ה-scheduler לגבי מי המכונות תרוץ יותר מהר או לאט ובתלוי גם ב-scheduler כמה זמן יקח למכונה שלא השתמשו בה זמן רב (idle) לחזור להגיב. מכיוון שזו אפליקציה, אתה יכול להשתמש בטריקים כמו nice כדי לתעדף את הביצועים שלה כלפי מעלה או מטה.
עכשיו תחשוב שבמקום ברזל אחד יש לך 20 ברזלים, ולאזן ביצועים של מכונות וירטואליות כבר נהיה סיפור מההפטרה, ועוד לא דיברתי על איזוני ביצועים בין השרתים. לקומרנט (עכשיו רד האט) יש מוצר קנייני סגור (שרץ .. אההמ.. רק על Windows) שעושה את הדברים הנ"ל ועוד כמה וכמה דברים בצורה לא רעה.
רד האט מפתחים דברים שלאט לאט יחליפו את זה בספריות ואפליקציות אחרות (libvirt, ovirt ועוד) בקוד פתוח, אבל זה עדיין רחוק מלהתחרות בפתרונות כמו של VMWare או Xen Server.
תודה על ההסבר.
עכשיו בקשר למונחים שאתה משתמש בהם בתשובה הקודמת שלך – איך "מאזנים ביצועים בין 20 ברזלים"?
האם אתה מתכוון ל-migration של מכונה וירטואלית על כל ה-RAM ה"חי" שלה בין ברזלים? לא צריך גם שטח דיסק משותף בין שרתים כדי לעשות את זה? (ז"א SAN על FC, כדי שיהיה במהירות סבירה?)
יש לי 20 ברזלים ואני מריץ עליהם מכונות Xen אבל אני לא משתמש באפשרות של migration אלא ב-RHCS כדי להחליט איפה לעצור אפליקציה ולהעביר למכונת Xen אחרת אם צריך.
אני לא רק מדבר על מיגרציה בין שרתים, ב-VMWare יש לך גם תמיכת NUMA (תלוי בברזלים כמובן), וה-VMWare עצמו דואג לקחת את כל המשאבים שיש ולאזן את הדברים אוטומטית. אתה יכול לעקוף אותו, אבל כל המומחים ממליצים שלא, כי גירסה 4 עושה עבודה מעולה.
אגב, לא חייבים FC, הכל תלוי כמה הדברים קריטיים, אפשר להשתמש עם FCoE או אפילו יחסית ב-Ethernet, הכל בהתאם לשיקולים (העברתי מכונה שהיתה על NFS עם שרת אחר שלי פה בבית והיה השהיה של 2-3 שניות אם אני זוכר נכון, ואין לי סיבים בבית)
אז בתכל'ס ב-VMWare אתה לא צריך לעצור את המכונה, אבל אתה יכול בהחלט עם Xen רגיל לעשות Live Migration.
לא זה ולא זה. אני מציע לך לבדוק את Proxmox PVE, מערבת שנותנת לך גם KVM בקלאסטר (עם נדידה חיה) וגם OpenVZ על אותן קופסאות, תומכת בדיסקים וירטואליים שונים, כולל קבצי qcow או LVM לכל דיסק, מה שנותן המון יתרונות לגיבויים וכדומה. הביצועים אוכלים את VMWARE וקלות השליטה ופריסה של מכונות חדשות משתווה לVMWARE כמעט. פשוט כיף של מערכת, וכולה מבוססת דביאן וחופשית לגמרי.