كيف يعمل وضع VMware EVC: نظرة عامة شاملة

إذا كنت ملمًا بميزة vMotion، فمن المحتمل أنك تتذكر أن الممارسة الموصى بها هي استخدام نفس المعالجات على جميع خوادم ESXi لهجرة VM بشكل مباشر. إذا كنت ترغب في استخدام خوادم تحتوي على موديلات معالجات مختلفة في العنقود، فمن الأفضل استخدام معالجات من نفس الجيل. علاوة على ذلك، المتطلب الصارم هو أن تكون المعالجات من تصنيع نفس البائع، مثل إنتل أو AMD. وإلا، فمن المحتمل أن تواجه خطأ عند استخدام vMotion.

صممت VMware برنامجها vSphere مع مراعاة الحالات التي قد تحدث في بيئة الإنتاج، بما في ذلك توسيع العنقود عن طريق إضافة خوادم جديدة تحتوي على معالجات مختلفة. هذه هي حالة شائعة – تخيل أن لديك عنقود يحتوي على 5 عقد ESXi اشتريتها قبل 3 سنوات وتحتاج إلى إضافة عقدين إضافيين لتشغيل المزيد من VMs لتلبية احتياجات عملك. المعالجات التي اشتريتها قبل 3 سنوات لم يعد تتم إنتاجها حاليًا ولا تُباع في السوق؛ يمكنك شراء فقط معالجات العائلة الأحدث. ليس هناك سبب للقلق – يمكنك استخدام عناقيد التوافر العالي في vSphere، إضافة العقد بمعالجات مختلفة، واستخدام vMotion لتحريك VM بين الخوادم التي تحتوي على معالجات مختلفة. يتم ذلك بفضل ميزة التحسين المحسنة لإمكانية vMotion (EVC) التي يمكن تمكينها للعناقيد في VMware vSphere.

مبدأ عمل وضع VMware EVC

كل جيل جديد من المعالجات يتضمن مجموعات تعليمات جديدة بالإضافة إلى مجموعات التعليمات المتاحة للجيل السابق من المعالج. تقوم الميزات الجديدة عادةً بتحسين أداء أو أمان تشغيل التطبيقات. على سبيل المثال، تحتوي معالجات جيل 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، ونتيجة لذلك ستعمل جميع المعالجات بنفس مجموعات التعليمات. بالتالي، ستحصل على بيئة موحدة معتمدة على ترحيل الآلات الظاهرية باستخدام vMotion. يتم توفير التوافق الموحد لـ vMotion عن طريق فرض نفس مجموعة تعليمات CPUID الأساسية لجميع الآلات الظاهرية التي تعمل على مضيفات ESXi بمعالجات غير موحدة. يمكن اعتبار CPUID واجهة برمجة تطبيقات للمعالج المركزي.

على الجانب الأول، تضيع مزايا مجموعة تعليمات SGX عند تمكين وضع Haswell EVC، ولكن على الجانب الآخر، لا يتم تقليل أداء العقدة الحالية إذا تمت إضافة مضيفين بمعالجات أحدث إلى العقدة. إذا قمت بإضافة مضيفي ESXi بمعالجات أقدم إلى العقدة الحالية، قد تلاحظ تقليلًا في الأداء في حالات معينة.

ملاحظة: تسمح SGX (توسيعات الحراسة البرمجية) لك بتنظيم مقاطع الكود والبيانات المحمية (التي تُسمى أيضًا بالحواجز) لضمان مستوى عالٍ من الحماية للبيانات المعالجة في التطبيقات ضد الهجمات الإلكترونية. يمكن للمطورين الذين يستخدمون تعليمات SGX لتطبيقاتهم حماية التطبيقات ضد الوصول غير المصرح به أو التعديل حتى لو كان لدى التطبيق المهاجم امتيازات أعلى.

ملاحظة: تضمن TSX (توسيعات المزامنة التراكمية) نقل غالبية المهام الجارية لتوزيع الموارد بين أنوية المعالج إلى مستوى الأجهزة (المعالج نفسه). بدون دعم تعليمات TSX من قبل معالج، يتم أداء هذا التوزيع على مستوى البرنامج من قبل نظام التشغيل والتطبيقات. إذا تم تعطيل مجموعة تعليمات TSX لمعالج Haswell الخاص بك عبر رمز برمجي دقيق، قد تحتاج إلى ضبط مستوى أقدم (Ivy Bridge) لوضع EVC.

عموماً، يجب إغلاق الآليات الظاهرة وتشغيلها لتطبيق إعدادات وضع EVC المتغيرة. إذا كنت تستخدم vCenter 4.1 أو الأحدث، قد لا تتم إيقاف تشغيل الآليات التي تعمل على مضيف ESXi بأقدم معالج (يمكنك تركها في حالة التشغيل). في هذه الحالة، يجب أن يكون وضع EVC متساويًا مع جيل ذلك المعالج الأقدم. يجب إيقاف تشغيل الآليات التي تعمل على مضيفات ESXi التي تحتوي على معالجات تحتوي على ميزات معالج أحدث قبل تمكين وضع EVC في كامل العنقود. عند استبعاد مضيف ESXi من عنقود، يستمر في العمل بوضع EVC معطل.

إصدار VMware vSphere / التوافق مع المعالج لـ EVC

يعتمد وضع EVC المطلوب على نماذج المعالج وإصدار خادم vCenter. يدعم وضع EVC على أحدث إصدار من خادم vCenter أحدث المعالجات. النظر في استخدام خوادم vCenter من الإصدارات الأحدث إذا كان لديك خوادم مع معالجات من أحدث الأجيال. في الجدول أدناه، يمكنك رؤية التوافق بين أجيال معالجات إنتل وإصدارات خوادم vCenter المدعومة لتحديد الخط الأساسي لعنقود EVC لبيئتك.

يتم تحديد وضع EVC الأكثر ملاءمة بواسطة نموذج أقدم معالج في خادم ESXi داخل المجموعة. من الناحية التقنية ، من الممكن تحديد مستوى EVC الأقدم (الأدنى) من جيل أقدم المعالج ، ولكن عمومًا ليس هناك سبب لإجراء هذه الإعدادات. تدعم الإصدارات الأقدم من ESXi و vSphere معالجات جديدة ، ولكن يتم الاحتفاظ بالحد الأقصى لقاعدة EVC على مستوى المعالجات الأقدم التي كانت تعمل عند إصدار تلك الإصدارة من vSphere وكانت تعتبر الأحدث المتاحة في ذلك الوقت.

عند تغيير مستوى وضع EVC ، يجب إيقاف تشغيل الآلات الظاهرة وتشغيلها لتطبيق الإعدادات على تلك الآلات الظاهرة ؛ إعادة تشغيل الآلة الظاهرة غير كافية.

دليل توافق VMware

يمكنك التحقق من توافق المعالجات وأعلى وضع ممكن للمعالج EVC على خادم vCenter الخاص بك على موقع VMware. من أجل التحقق من التوافق، افتح صفحة دليل التوافق مع VMware، حدد “سلسلة المعالج” في القائمة المنسدلة (أي ما الذي تبحث عنه)، في قائمة “إصدار المنتج” حدد إصدار ESXi الخاص بك، في قائمة “سلسلة المعالج” اضغط على زر “Ctrl” وحدد المعالجات المثبتة على مضيفات ESXi الخاصة بك (انقر بزر الماوس الأيسر). بمجرد اختيارك للمعلمات اللازمة، انقر فوق زر “مصفوفة المعالج / EVC” لرؤية جدول وضع EVC المتاح لمضيفات ESXi الخاصة بك. في المثال الموضح في اللقطة أدناه، تم اختيار ESXi 6.5 (مُدير بواسطة vCenter 6.5)، معالجات Intel Xeon E3-1500-v5، Xeon E5-4600-v3 و Xeon Platinum 8100. أعلى مستوى لوضع EVC مدعوم بواسطة جميع المعالجات المحددة هو “جيل Intel Haswell”.

المتطلبات

لضمان عمل التحرك الافتراضي بشكل صحيح بعد تمكين وضع EVC، يجب توفر الشروط التالية:

  • يجب أن تكون معالجات جميع مضيفي ESXi إما Intel فقط أو AMD فقط.
  • يجب تمكين ميزات تجاوز الافتراضي للمعالج مثل Intel VT-x أو AMD-V في UEFI/BIOS لمضيفي ESXi.
  • يجب أن تكون مضيفات ESXi تُدار بواسطة نفس خادم vCenter.
  • يجب تكوين مضيفات ESXi لاستخدام التحرك الافتراضي.كيفية تمكين وتكوين EVC

كيفية تمكين وتكوين EVC

بعد التعرف على النظرية، دعنا نستعرض تكوين وضع EVC عمليًا. قد تحتاج إلى إيقاف تشغيل الجهاز الظاهري الخاص بك على مضيف ESXi الذي يجب أن يتم تخفيض مستوى EVC فيه. تأكد من عدم تعطيل ميزات المعالج في UEFI/BIOS لتجنب المشاكل المحتملة.

افتح عميل VMware vSphere Web في متصفح الويب الخاص بك عن طريق إدخال عنوان IP لخادم vCenter الخاص بك في شريط العنوان للمتصفح. انتقل إلى vCenter > المضيفين والمجموعات وحدد كل مضيف ESXi للتحقق من تكوين وحدة المعالجة المركزية (CPU). في المثال الحالي، نعتبر مضيفين يعملان بنظام ESXi 5.5 تمت إضافتهما إلى العنقود وإدارتهما بواسطة خادم vCenter 5.5. كما يمكنك رؤية في اللقطة أدناه، نموذج المعالج لأول مضيف ESXi هو Intel Xeon E3110 والمعالج المثبت على الثاني هو Intel Xeon X3430.

إذا تمت إضافة مضيفات ESXi إلى العنقود بالفعل، اختر عنقودك (temp-cluster في مثالنا)، انقر على علامة التبويب Manage، ثم افتح علامة التبويب Settings، حدد Configuration > VMware EVC وانقر على زر Edit.

الآن، قبل تحديد وضع EVC في vCenter، افتح علامة تبويب جديدة في متصفح الويب الخاص بك وافتح دليل توافق VMware كما هو موضح في هذا المنشور في هذه المدونة. في المثال الحالي، يجب علينا تحديد ESXi 5.5، سلسلة Intel Xeon 31xx و سلسلة Intel Xeon 34xx. بعد النقر فوق زر مصفوفة المعالج/ EVC، يمكنك أن ترى في لقطة الشاشة أنه يجب تحديد جيل Intel Penryn في إعدادات وضع EVC.

ارجع إلى علامة تبويب متصفح الويب الخاص بك مع عميل ويب vSphere وافتح إعدادات وضع EVC للعنقود. انقر فوق تمكين EVC لمضيفي Intel. في قائمة السحب لوضع VMware EVC، يجب علينا تحديد جيل Intel Penryn. في أسفل النافذة، يجب أن ترى تم التحقق من الصحة في القسم التوافق. الآن يمكنك النقر فوق موافق لحفظ إعدادات وضع EVC.

بعد ذلك، في قسم VMware EVC، يتم عرض المعلومات التي تم تمكين VMware EVC. انقر فوق تفاصيل CPUID الحالية لتوسيع القسم بتفاصيل حول السجلات وقيم القناع.

يمكن أيضًا تمكين وضع EVC أثناء إنشاء عنقود جديد؛ تروج VMware لهذا الاحتمال كممارسات موصى بها. تمكين وضع EVC أثناء إنشاء عنقود جديد يمنعك من مواجهة مشاكل تتعلق بإيقاف تشغيل وترحيل الآليات الظاهرة في العنقود (كما تتذكر، عادةً ما يجب إيقاف تشغيل الآلية وتشغيلها لتطبيق إعدادات EVC الجديدة).

تقنية تقنين CPUID

بالإضافة إلى وضع EVC العالمي الذي يُطبق على جميع الآليات الظاهرية ومضيفي ESXi في العنقود بأكمله، يسمح vCenter Server لك بتكوين علامات CPUID يدويًا لآلة ظاهرية مخصصة. يقارن vCenter بين مجموعة معلمات CPUID المُعينة للآلة الظاهرية ومعلمات CPUID المتاحة على مضيف ESXi الوجهة. إذا كانت هذه المعلمات متطابقة، يُسمح بترحيل الآلة الظاهرية باستخدام vMotion. ميزة تقنية إخفاء CPUID أقدم من ميزة وضع EVC.

لتكوين أقنعة CPUID لآلة ظاهرية، قم بأداء الإجراءات التالية:

حدد الآلة الظاهرية الضرورية، انقر بزر الماوس الأيمن على الآلة الظاهرية وحدد تحرير الإعدادات. في نافذة تحرير الإعدادات المفتوحة، افتح الأجهزة الظاهرية > وحدة المعالجة المركزية، حدد قناع CPUID، وانقر على متقدم.

في نافذة قناع تحديد وحدة المعالجة المركزية، حدد سلسلة التسجيل الضرورية وانقر على القيمة لتحرير القناع على مستوى البت. اضغط على زر الأسطورة لعرض معاني كل حرف يُستخدم لتعيين القناع.

تحذير! يرجى عدم تحرير الأقنعة قبل أن تتعرف على قاعدة معرفة VMware أو تعليمات دعم VMware. يمكن أن يتسبب تحرير أقنعة التوافق مع وحدة المعالجة المركزية يدويًا في تكوين آلة ظاهرية غير مدعومة. على سبيل المثال، قد تفشل آلات الظواهرية التي تعمل بنظام Windows مع شاشة الوفاة الزرقاء.

التحقق من تكوين وضع EVC في PowerCLI

يمكنك التحقق من تكوين وضع EVC للعنقود بأكمله وللآلات الظاهرية المخصصة في VMware PowerCLI باستخدام الأمر:

Get-VM | اختر الاسم، الإصدار الأجهزة،

@{Name=’وضع_VM_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 لكل جهاز افتراضي وهو مفيد لهجرة الأجهزة الافتراضية عبر مجموعات مختلفة أو خوادم vCenter ويوفر لك مزيدًا من التفصيل. يتم تعيين وضع EVC لكل جهاز افتراضي كخاصية لإعدادات الجهاز الافتراضي ويضيف مزيدًا من المرونة لإدارة الأجهزة الافتراضية التي يجب أن تهاجر مع vMotion. يجب أن تكون توافقية الأجهزة الافتراضية للإصدار 14 أو أعلى. يتم حفظ تكوين وضع EVC لكل جهاز افتراضي في ملف تكوين VMX للجهاز الافتراضي كسلاسل تحتوي على سلسلة featMask.vm.cpuid. عندما يتم هجرة جهاز افتراضي مع تكوين وضع EVC لكل جهاز افتراضي، يتم هجرة تكوين EVC الخاص به المخزن في ملف VMX مع الجهاز الافتراضي. يمكن تغيير إعدادات وضع EVC لكل جهاز افتراضي عندما يتم إيقاف تشغيل الجهاز الافتراضي (قم بإيقاف تشغيل الجهاز الافتراضي وتشغيله مرة أخرى لتطبيق تغييرات إعدادات وضع EVC لكل جهاز افتراضي).

إذا قمت بتمكين وضع EVC لكل جهاز افتراضي في الآلة الافتراضية المتواجدة في العنقود الذي تم بالفعل تكوين وضع EVC العام فيه، فيمكن أن يكون وضع EVC لكل جهاز افتراضي مساويًا أو أقل من وضع EVC المحدد في العنقود بأكمله. وبالتالي، فمن الممكن تكوين كل من وضع EVC العام ووضع EVC لكل جهاز افتراضي في نفس الوقت. بعد استنساخ جهاز افتراضي، يتم استنساخ إعدادات EVC لكل جهاز افتراضي.

لتكوين وضع EVC لكل جهاز افتراضي، افتح عميل VMware vSphere HTML5، انتقل إلى المضيفات والمجموعات، ثم حدد الجهاز الافتراضي اللازم. افتح علامة التبويب تكوين، حدد المزيد > VMware EVC واضغط تحرير.

كيفية تمكين وضع EVC في العنقود دون تعطل

في بعض الحالات، يمكنك تمكين وضع EVC في العنقود بأكمله دون أي تعطل للجهاز الافتراضي (عمومًا، يجب إيقاف تشغيل الجهاز الافتراضي وتشغيله لتطبيق إعدادات وضع EVC للعنقود). هذا ممكن إذا توفرت المتطلبات التالية:

  • تتواجد الآلات الافتراضية العاملة على المضيف ESXi ذي المعالج الأقدم
  • تم تكوين وضع EVC في العنقود لاستخدام مجموعة تعليمات وحدة المعالجة المركزية تتوافق مع جيل المعالج الأقدم

تمكين وضع EVC لجهاز الخادم vCenter

قد تواجه الوضعية التالية التي تكون شائعة في بيئات VMware vSphere:

يتم تشغيل خادم vCenter كجهاز افتراضي على مضيف ESXi يجب إضافته إلى عنقود تم تمكين وضع EVC فيه.

المشكلة هي أن مضيف ESXi الذي يعمل به الآلات الظاهرية (بما في ذلك الآلة الظاهرية التي تعمل بها vCenter) لا يمكن إضافته إلى العنقود بعد تمكين EVC حتى يتم إيقاف تشغيل جميع الآلات الظاهرية. من ناحية أخرى، الآلة الظاهرية التي تعمل بها vCenter مطلوبة لإدارة العنقود، ولا يمكننا إيقاف تشغيل الآلة الظاهرية vCenter لأنها قيد الاستخدام الآن. هذه المشكلة تكون خطيرة بشكل خاص عندما تكون الآلة الظاهرية vCenter تعمل على مضيف ESXi بمعالج أحدث.

ملاحظة: يُوصى باستخدام مفتاح تبديل قياسي vSwitch (وليس مفتاح تبديل موزع) لربط الآلة الظاهرية التي تعمل بها vCenter بالشبكة في هذه الحالة.

A possible solution. Consider the algorithm that can help you to resolve the issue for VMware vSphere 5.5:

  1. قم بنقل خادم ESXi آخر (الذي لا يعمل به آلة ظاهرية vCenter) إلى العنقود إذا لم يكن هناك خوادم ESXi في العنقود بعد. يجب إيقاف تشغيل الآلات الظاهرية على خادم ESXi الذي يتم نقله إلى العنقود.
  2. أوقف تشغيل آلة تشغيل vCenter Server. اتصل بمضيف ESXi الذي تتواجد فيه الآلة الظاهرية vCenter باستخدام عميل VMware Host لإلغاء تسجيل الآلة الظاهرية أو اتصل بعميل SSH لنسخ الملفات. في عميل VMware Host، انقر بزر الماوس الأيمن فوق الآلة الظاهرية vCenter واضغط على إلغاء التسجيل. انسخ يدويًا جميع ملفات الآلة الظاهرية vCenter إلى مستودع البيانات المتصل بخادم ESXi الذي قمت بنقله بالفعل إلى العنقود في الخطوة 1. إذا كان هناك تخزين مشترك بواسطة كل من مضيفي ESXi، مثل NFS أو iSCSI، فلن تحتاج إلى نسخ ملفات الآلة الظاهرية إلى موقع آخر.

ملاحظة: قد تحتاج إلى تعيين عنوان MAC لمحول الشبكة الظاهرية لآلة تشغيل vCenter Server يدويًا قبل نقل الآلة من مضيف ESXi إلى آخر.

  1. سجّل جهاز الـ VM الخاص بـ vCenter على مضيف ESXi الذي تم نقله إلى العنقود (قم بالاتصال بمضيف ESXi باستخدام عميل VMware Host، افتح مستودع البيانات، اعثر على ملفات جهاز الـ vCenter VM، حدد ملف VMX، انقر بزر الماوس الأيمن على الملف واضغط تسجيل الـ VM). قم بتشغيل جهاز الـ vCenter VM على هذا المضيف ESXi في العنقود. قم بتسجيل الدخول إلى vCenter باستخدام عميل VMware vSphere للتأكد من قدرتك على إدارة بيئة vSphere الخاصة بك باستخدام vCenter. قد تحتاج إلى تعطيل التحكم في القبول مؤقتًا.
  2. انقل مضيف ESXi المصدر الذي كان يعمل عليه جهاز الـ vCenter إلى العنقود. قم بإيقاف تشغيل الـ VMs الأخرى على ذلك المضيف ESXi إذا لزم الأمر قبل نقل المضيف.

الاستنتاج

قدرة vMotion المحسّنة (EVC) هي ميزة مفيدة في VMware vSphere تحافظ على قابلية توسيع عنقودك وتسمح لك بإضافة عقدات بمعالجات أجيال مختلفة إلى العنقود لأداء ترحيل الـ VM بين مضيفي ESXi باستخدام vMotion. يقوم وضع EVC بإخفاء ميزات معالجات الأجيال الجديدة لإنشاء خط أساسي موحّد يتطابق مع ميزات معالجات أقدم جيل تستخدمها مضيفات ESXi في العنقود. نتيجة لذلك، لديك بيئة متجانسة حيث تستخدم جميع المعالجات نفس مجموعات التعليمات ويمكن للـ VMs الجاري تشغيلها الترحيل بواسطة vMotion. يستخدم عدد كبير من عملاء VMware العناقيد وضع EVC. من المستحسن تمكين وضع EVC في مرحلة إنشاء العنقود لتجنب المشاكل المحتملة المتعلقة بإضافة مضيفات ESXi وترحيل الـ VMs الجاري تشغيلها، بما في ذلك الـ VM الذي يعمل كخادم vCenter.

بغض النظر عما إذا كنت تستخدم مجموعة أو لا، لا تنسَ نسخ الاحتياطي لآلات الافتراض الخاصة بـ VMware. NAKIVO Backup & Replication هو حلاً سريعًا وموثوقًا وبأسعار معقولة لحماية البيانات يمكنه حماية آلات VMware الافتراضية حتى لو كانت تتنقل عبر مضيفي ESXi في مجموعات.

Source:
https://www.nakivo.com/blog/how-vmware-evc-mode-works-overview/