אם אתה מכיר את התכונה vMotion, סביר להניח שאתה זוכר שהפרקטיקה המומלצת היא להשתמש באותם עובדי העיבוד בכל שרתי ESXi לצורך העברת מכונות וירטואליות בזמן אמת. אם ברצונך להשתמש בשרתים עם מודלי עיבוד שונים באשכול, כדאי להפעיל עבורם מעבדים מאותה דור. בנוסף, הדרישה המחמירה היא שהמעבדים חייבים להיות יצרנים על ידי אותו יצרן, כמו אינטל או AMD. אחרת, יש סיכוי גבוה שתקבל שגיאה בעת שימוש ב-vMotion.
VMware פיתחה את תוכנת ה-vSphere שלה עם תשומת לב למצבים שיכולים להתרחש בסביבת הייצור, כולל הרחבת אשכול על ידי הוספת שרתים חדשים עם מעבדים שונים. זהו מצב נפוץ – דמיינו שיש לכם אשכול עם 5 צמתי ESXi שקניתם לפני 3 שנים ואתם צריכים להוסיף שני צמתים נוספים כדי להפעיל יותר מכונות וירטואליות כדי לעמוד בצרכי העסק שלכם. המעבדים שקניתם לפני 3 שנים אינם יוצרים מכיוון שהם אינם מוצעים עוד בשוק; תוכלו לקנות רק מעבדים ממשפחת המוצרים החדשה ביותר. אין סיבה לדאוג – תוכלו להשתמש באשכולי זמינות גבוהה (High Availability clusters) ב-vSphere, להוסיף צמתים עם מעבדים שונים ולהשתמש ב-vMotion להעברת מכונות וירטואליות בין מארחים שיש להם מעבדים שונים. זה אפשרי בזכות התכונה המשופרת של vMotion (EVC) שניתן להפעיל עבור אשכולים ב-vSphere של VMware.
עקרון הפעולה של מצב ה-EVC של VMware
כל דור חדש של מעבדים כולל סטים חדשים של הוראות נוספות לצד הסטים הקיימים לדור הקודם של המעבד. תכונות חדשות משפרות בדרך כלל את ביצועי המערכות או את האבטחה של היישומים הרצים. לדוגמה, מעבדים מדור SkyLake כוללים סט הוראות חדש (SGX) בהשוואה למעבדים מדור Haswell. בואו נבחן את סטי ההוראות של שני הדורות האלה של מעבדים ונבדוק את פרטיהם.
סטי הוראות של המעבדים מדור Haswell (2013):
x86-64, MMX, AES-NI, CLMUL, FMA3, SSE, SSE2, SSE3, SSSE3, SSE4, SSE4.1, SSE4.2, AVX, AVX2, TXT, VT-x, VT-d. ההוראות TSX מנוטרלות באמצעות מיקרוקוד עבור מעבדי Haswell עקב באג, חוץ מ-Haswell-EX.
סטי הוראות של המעבדים מדור SkyLake (2017):
x86-64, MMX, AES-NI, CLMUL, FMA3, SSE, SSE2, SSE3, SSSE3, SSE4, SSE4.1, SSE4.2, AVX, AVX2, TXT, TSX, SGX, VT-x, VT-d.
כך שאם תבחרו ברמת תאימות של Haswell בהגדרות EVC, יש לנטרל (למסכת, לדיוק יותר) את סט ההוראות SGX על השרתים עם מעבדי SkyLake, ובתוצאה כל המעבדים יעבדו עם אותם סטי הוראות. לכן, תהיה לכם סביבת אחידה המותאמת להטמעה והעברת VM על ידי השתמשות ב-vMotion. התאימות אחידה ל-vMotion מסופקת על ידי כך שמכריחים את אותו סט ההוראות של CPUID עבור כל ה-VM הרצים על מארחי ESXi בלי מעבדים אחידים. CPUID ניתן לראות כ-API עבור המעבד.
באחת הידיים, היתרונות של סט ההוראות SGX אבודים כאשר מופעל מצב ה-EVC של Haswell, אך מאידך, ביצועי האשכול הקיים שלך לא מופחתים אם אתה מוסיף מארחים עם מעבדים חדשים לאשכול. אם אתה מוסיף מארחי ESXi עם מעבדים ישנים לאשכול הקיים, עשוי להיות שתן להפחתת ביצועים במקרים מסוימים.
הערה: SGX (הרחבות לשומר התוכנה) מאפשר לך לארגן רסיסים מוגנים של קוד ונתונים (כן נקראים כמו מבני נפצל) להבטחת רמה גבוהה של הגנת הנתונים ליישומים עובדים נגד תקיפות האקרים. מפתחים שמשתמשים בהוראות SGX עבור יישומיהם יכולים להגן על היישומים נגד גישה או שינויים שאינם מורשים אפילו אם היישום התוקף יש לו הרשאות גבוהות יותר.
הערה: TSX (הרחבות לסנכרון תחרותי) מבטיח עבור רוב המשימות שפועלות להפצת משאבים בין ליבות המעבד לרמת החומרה (המעבד עצמו). ללא תמיכה בהוראות TSX על ידי מעבד, ההפצה הזו מתבצעת ברמת תוכנה על ידי מערכת ההפעלה והיישומים. אם סט ההוראות TSX מושבת עבור מעבד Haswell שלך דרך המיקרוקוד, עשוי להיות עליך להגדיר את הרמה הישנה (Ivy Bridge) עבור מצב ה-EVC.
בדרך כלל, עליך לכבות ולהדליק מחדש מכונות וירטואליות כדי להחיל את הגדרות מצב EVC ששונו. אם אתה משתמש ב-vCenter 4.1 או מאוחר יותר, ייתכן שמכונות ה-VM הרצות על המארח ESXi עם המעבד הקטן ביותר לא ייכבו (ניתן להשאיר אותם במצב הרצה). במקרה זה, על מצב ה-EVC להיות שווה לדור של המעבד הקטן ביותר הזה. מכונות ה-VM הרצות על מארחי ESXi שיש להם מעבדים עם תכונות מעבד חדשות יותר חייבות להיות מוכבות לפני הפעלת מצב ה-EVC בכל אשכול. כאשר המארח ESXi מובלע מאשכול, הוא ממשיך לפעול עם מצב ה-EVC מנוטרל.
גרסת VMware vSphere / תאימות למעבד ל-EVC
המצב הנדרש של EVC תלוי בדגמי המעבד ובגרסת שרת ה-vCenter. המצב EVC בגרסה האחרונה ביותר של שרת ה-vCenter תומך במעבדים האחרונים. שקול להשתמש ב-vCenter של הגרסאות האחרונות אם יש לך שרתים עם מעבדים מדורים החדשים ביותר. בטבלה למטה, תוכל לראות אילו שילובים של דורי מעבדי Intel וגרסאות של vCenter נתמכים לקביעת הבסיס לאשכול EVC בסביבתך.
כאשר משנים את רמת מצב EVC, יש לכבות ולהדליק מחדש מכונות וירטואליות פועלות כדי להחיל את ההגדרות במכונות וירטואליות אלה; אין נגיעה מחדש של המכונה הווירטואלית מספקת.
מדריך תאימות VMware
תוכל לבדוק את התאימות של המעבדים שלך ואת המצב הגבוה ביותר של EVC הזמין עבור שרת ה-vCenter שלך באתר של VMware. כדי לבדוק את התאימות, פתח את הדף של מדריך התאימות של VMware, בחר סדרת המעבד בתפריט הנפתח (כלומר, מה אתה מחפש), ברשימת גרסת השחרור המוצר בחר את גרסת ה-ESXi שלך, ברשימת סדרת המעבד החזק את הכפתור Ctrl ובחר את המעבדים המותקנים במארחי ה-ESXi שלך (לחץ על כפתור העכבר השמאלי). לאחר שבחרת את הפרמטרים הנדרשים, לחץ על כפתור ה-CPU/EVC Matrix כדי לראות את טבלת המצבים הזמינים של EVC עבור שרתי ה-ESXi שלך. בדוגמה שמוצגת בתמונה מטה, נבחרו ESXi 6.5 (נמנה באמצעות vCenter 6.5), מעבדים Intel Xeon E3-1500-v5, Xeon E5-4600-v3 ו-Xeon Platinum 8100. הרמה הגבוהה ביותר של מצב ה-EVC הנתמך על ידי כל המעבדים שנבחרו היא דור ה-Haswell של Intel.
דרישות
כדי ש-vMotion יעבוד כראוי לאחר הפעלת מצב ה-EVC, יש לעמוד בדרישות הבאות:
- המעבדים בכל מארחי ה-ESXi חייבים להיות מסוג Intel או AMD בלבד.
- תכונות הווירטואליזציה של המעבד כגון Intel VT-x או AMD-V יש להפעיל ב-UEFI/BIOS של מארחי ה-ESXi.
- מארחי ה-ESXi חייבים להיות ניהולים על ידי אותו שרת vCenter.
- מארחי ה-ESXi חייבים להיות מוגדרים לשימוש ב-vMotion.
איך להפעיל ולהגדיר EVC
לאחר שהתמכרנו עם התיאוריה, בואו נבדוק את הגדרת מצב EVC בפועל. עשוי להיות נחוץ לכבות את המכונה הווירטואלית שלך במארח ESXi שבו יש להוריד את רמת ה-EVC. ודא שאין תכונות מעבד מנוטרלות ב-UEFI/BIOS כדי למנוע בעיות אפשריות.
פתח את לקוח האינטרנט של VMware vSphere בדפדפן האינטרנט שלך על ידי הזנת כתובת ה-IP של שרת ה-vCenter שלך בשורת הכתובת של הדפדפן. עבור אל vCenter > מארחים ואשכולות ובחר בכל מארח ESXi כדי לאמת את התצורה של המעבד (Central Processor Unit). בדוגמה הנוכחית, אנו עובדים עם שני מארחים הרצים ESXi 5.5 שנוספו לאשכול ומנוהלים על ידי שרת vCenter 5.5. כפי שניתן לראות בצילום המסך למטה, דגם המעבד של המארח ESXi הראשון הוא Intel Xeon E3110 והמעבד המותקן על המארח ESXi השני הוא Intel Xeon X3430.
אם מארחי ESXi כבר נוספו לאשכול, בחר באשכול שלך (temp-cluster בדוגמה שלנו), לחץ על כרטיסיית ניהול, ואז פתח את כרטיסיית הגדרות, בחר תצורה > VMware EVC ולחץ על הכפתור עריכה.
עכשיו, לפני בחירת מצב EVC ב-vCenter, פתח כרטיסייה חדשה בדפדפן האינטרנט שלך ופתח את מדריך התאימות של VMware כפי שמוצג למעלה בפוסט הבלוג הזה. בדוגמה הנוכחית, עלינו לבחור ESXi 5.5, סדרת Intel Xeon 31xx ו־סדרת Intel Xeon 34xx. לאחר לחיצה על כפתור מטריצת CPU/EVC, תוכל לראות בצילום המסך שעליך לבחור את דור Intel Penryn בהגדרות מצב EVC.
חזור לכרטיסיית דפדפן האינטרנט שלך עם לקוח האינטרנט של vSphere ופתח את הגדרות מצב EVC עבור האשכול. לחץ על הפעל EVC עבור מארחים של Intel. בתפריט הנפתח של מצב VMware EVC, עלינו לבחור דור Intel Penryn. בתחתית החלון, תראה אימות הצליח בקטע ה-תאימות. כעת תוכל ללחוץ על אישור כדי לשמור את הגדרות מצב EVC.
לאחר מכן, בקטע ה-VMware EVC, מוצגת המידע ש־ה-EVC של VMware מופעל. לחץ על פרטי CPUID נוכחיים כדי להרחיב את הקטע עם פרטים אודות רשומות וערכי מסיכה.
מצב ה-EVC יכול גם להיות מופעל במהלך יצירת אשכול חדש; VMware מקדישה אפשרות זו כפרקטיקה מומלצת. הפעלת מצב ה-EVC במהלך יצירת אשכול חדש מונעת ממך להתמודד עם בעיות הקשורות לכיבוי והעברת מכונות וירטואליות שהן מופעלות באשכול (כפי שאתה זוכר, כללית עליך לכבות ולהדליק מחדש מכונה וירטואלית כדי ליישם את הגדרות ה-EVC החדשות).
מיסוך CPUID
בנוסף למצב ה-EVC הגלובלי שיושם על כל ה-VMs וה-ESXi hosts בקרבה לכל הקבוצה, שרת ה-vCenter מאפשר לך להגדיר דגלי CPUID באופן ידני עבור VM מותאם אישית. ה-vCenter משווה את הפרמטרים שהוגדרו עבור ה-VM עם הפרמטרים הזמינים ב-ESXi host היעד. אם הפרמטרים הללו תואמים, המיגרציה של ה-VM עם ה-vMotion מתאפשרת. תכונת ה-Masking של ה-CPUID ישנה יותר מתכונת ה-EVC.
כדי להגדיר מסכות של ה-CPUID עבור VM, עליך לבצע את הפעולות הבאות:
בחר את ה-VM הרצויה, לחץ ימינה על ה-VM ובחר ערוך הגדרות. בחלון ערוך הגדרות שנפתח, פתח חומרה וירטואלית > עיבוד קור, בחר מסכת CPUID, ולחץ על מתקדם.
בחלון מסכת זיהוי ה-CPU, בחר את מחרוזת הרשומה הרצויה ולחץ על הערך כדי לערוך את המסכה על רמת הביט. לחץ על הכפתור מקרא כדי להציג את המשמעויות של כל תו המשמש להגדרת המסכה.
הזהרה! אנא אל תערוכה את המסיכות לפני שתתעסק ביסודות בקרת הידע של VMware או הוראות התמיכה של VMware. עריכת מסכי התאימות של ה-CPU באופן ידני עשויה לגרום להגדרת VM לא נתמכת. לדוגמא, VMs של Windows עשויות להיכשל עם BSOD.
בדיקת הגדרת מצב ה-EVC ב-PowerCLI
ניתן לבדוק את הגדרת מצב ה-EVC עבור כל הקבוצה ועבור VMs מותאמות אישית ב-VMware PowerCLI על ידי השימוש בפקודה:
Get-VM | בחר שם, גרסת חומרה,
@{Name=’מצב_EVC’;Expression={$_.ExtensionData.Runtime.MinRequiredEVCModeKey}},
@{Name=’שם_קבוצה’;Expression={$_.VMHost.Parent}},
@{Name=’מצב_EVC_קבוצה’;Expression={$_.VMHost.Parent.EVCMode}} | ft
ניתן גם לבדוק את רמת הEVC המתקבלת הגבוהה ביותר עבור כל המארחים של הקבוצה אחרי הרצת הפקודה:
Get-VMHost | Select-Object Name,ProcessorType,MaxEVCMode
מצב_EVC_למחשב_פרטי
המצב_EVC המדובר בעלי האפשרויות הזו הוא ברמה של הקבוצה. VMware vSphere 6.7 מעניק את היכולת להגדיר מצב_EVC_פרטי_למחשב שיכול להיות שימושי להעברת VMs מעבר לקבוצות שונות או vCenter Servers ומעניק את הפינגריציות העדכנית. המצב_EVC_פרטי_למחשב מוגדר כתג של ההגדרות של המחשב הוירטואלי ומוסיף פלרטיות לניהול הVMs שצריכים להעבר עם vMotion. ההתאמה לתוצרת המחשב צריכה להיות בגרסה 14 או מעלה. ההגדרה של המצב_EVC_פרטי_למחשב נשמרת בקובץ ההגדרות VMX של המחשב בפונקציות הכתובות בתווי featMask.vm.cpuid. כשמחשב עם מצב_EVC_פרטי מועבר, ההגדרה של המצב_EVC הנאחסena בקובץ VMX מועברת עם המחשב. ההגדרות של המצב_EVC_פרטי_למחשב יכולות להשתנות בעוד מחשב מכועף (כפל והפעל מחשב כדי ליישם את ההגדרות השונות של המצב_EVC_פרטי_למחשב).
אם תאפשר מצב EVC ל-VM בסבך שכבר מוגדר במצב EVC גלובלי, מצב EVC ל-VM יכול להיות שווה או נמוך מהמצב EVC שנוצר בכל הסבך. לכן, אפשר להגדיר גם מצב EVC גלובלי וגם מצב EVC ל-VM בו-זמנית. אחרי שיכולת הVM תישכולת, ההגדרות EVC ל-VM ישורות ביחד עם הVM.
על מנת להגדיר את המצב EVC ל-VM, פתחו את הלקוח העולם של VMware vSphere, עברו אל מאסים וסבכות, אחר כך בחרו את הVM הנחוץ. פתחו את הלוח הגדרות, בחרו עוד > VMware EVC ולחצו ערוך.
איך להפעיל את מצב הEVC בסבך ללא הפסקת העבודה
במקרים מסוימים, אתם יכולים להפעיל את המצב EVC בכל הסבך ללא הפסקת העבודה של הVM (בדרך כלל, VM חייבים להיכבס ולהדליק מחדש כדי ליישם את ההגדרות של המצב EVC של הסבך). זה אפשרי אם הדרישות הבאות מוגשות:
- VM בהם אנחנו מקיימים מסתובבים על המאסים ESXi עם המעבדה הכי ישנה
- מצב EVC בסבך מוגדר כך שיש לו את האינסטרקציות המעבדה המתאימות לדור המעבדה הכי ישן
איך להפעיל EVC עבור VM vCenter
אתם עלולים לחוות את המצב הבא שנראה בסבכות VMware vSphere:
vCenter Server מופעל כVM על מאסי ESXi שצריך להוספת לסבך ועל פיו המצב EVC מוגדר
הבעיה היא שמארח ESXi עם מכונות וירטואליות פועלות (כולל המכונה הווירטואלית המפעילה את vCenter) לא ניתן להוסיף לאשכול לאחר הפעלת EVC עד שכל המכונות הווירטואליות יושבת. מצד שני, המכונה הווירטואלית המפעילה את vCenter נחוצה כדי לנהל את האשכול, ואין לנו אפשרות לכבות את מכונת ה-vCenter מכיוון שהיא בשימוש כרגע. בעיה זו נחותה במיוחד כאשר מכונת ה-vCenter רצה על המארח ESXi עם מעבד חדש יותר.
הערה: מומלץ להשתמש ב-vSwitch סטנדרטי (ולא ב-vSwitch מבוזר) כדי לחבר את מכונת ה-vCenter לרשת במקרה זה.
A possible solution. Consider the algorithm that can help you to resolve the issue for VMware vSphere 5.5:
- העברת מארח ESXi נוסף (שאינו מפעיל מכונת vCenter) לאשכול אם אין מארחי ESXi באשכול עדיין. מכונות הווירטואליות על מארח ESXi שמתועבר לאשכול חייבות להיות מכובות.
- כבה את מכונת ה-vCenter Server. התחבר למארח ESXi בו ממוקמת מכונת ה-vCenter באמצעות VMware Host Client כדי להסיר את הרישום של המכונה הווירטואלית או התחבר באמצעות לקוח SSH כדי להעתיק קבצים. ב-VMware Host Client, לחץ על המכונה הווירטואלית של ה-vCenter ולחץ הסר רישום. העתק את כל הקבצים של מכונת ה-vCenter לאחסון הנתון למארח ESXi שכבר העברת לאשכול בשלב 1. אם מארחי ESXi משתמשים באחסון משותף NFS או iSCSI, אינך צריך להעתיק את קבצי ה-VM למיקום אחר.
הערה: עשוי להיות צורך להגדיר את כתובת ה-MAC עבור מתאם הרשת הווירטואלי של מכונת ה-vCenter Server באופן ידני לפני העברת ה-VM ממארח ESxi למארח אחר.
- רשום את מכונת ה-VCenter על המארח של ESXi שהועבר לאשכול (התחבר למארח של ESXi עם VMware Host Client, פתח את אחסון הנתונים, אתר את קבצי מכונת ה-VCenter, בחר את קובץ ה-VMX, לחץ עליו כפתור ימני ולחץ על הרשם את ה-VM). הפעל את מכונת ה-VCenter על המארח של ESXi באשכול. התחבר ל-VCenter עם תוכנת VMware vSphere Client כדי לוודא שניתן לנהל את סביבת ה-vSphere שלך עם VCenter. עשוי להיות נדרש להשבית את בקרת הכניסה זמנית.
- העבר את מארח המקור שבו הפעילה מכונת ה-VCenter מקורית לאשכול. כבה מכונות וירטואליות אחרות במארח של ESXi אם נדרש לפני העברת המארח.
מסקנה
יכולת ה-VMotion המשופרת (EVC) היא תכונה שימושית ב-VMware vSphere ששומרת על הקידמות של האשכול שלך ומאפשרת לך להוסיף צמתים עם עיבודי מחשב שונים לאשכול כדי לבצע העברת חיים של מכונות וירטואליות בין מארחי ESXi עם VMotion. מצב ה-EVC מסתיר את יכולות העיבוד של מעבדי הדור החדש ליצירת נקודת בסיס מאוחדת המתאימה ליכולות של דור המעבד הישן ביותר בשימוש על ידי מארחי ESXi באשכול. כתוצאה, יש לך סביבה הומוגנית בה כל המעבדים משתמשים בסט אותיות זהה ומכונות המופעלות יכולות להיעבר עם VMotion. מספר גבוה של לקוחות של VMware שמשתמשים באשכולים משתמשים במצב EVC. מומלץ להפעיל את מצב ה-EVC בשלב של יצירת האשכול כדי למנוע בעיות אפשריות הנוגעות להוספת מארחי ESXi והגירה של מכונות וירטואליות בעת ריצתם, כולל מכונת ה-VCenter Server.
ללא קשר לשימוש בצביר או לא, אל תשכח לגבות את מכונות ה-VM של VMware. NAKIVO Backup & Replication הוא פתרון הגנה על נתונים מהיר, אמין ובמחיר סביר שיכול להגן על מכונות ה-VM שלך גם אם מכונות אלו מתמקמות בין מארחי ESXi בצבירים.
Source:
https://www.nakivo.com/blog/how-vmware-evc-mode-works-overview/