محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

قابلیت VMware EVC چیست ؟ (Enhanced VMotion Compatibility)

قبلا در خصوص قابلیت VMotion در VMware در انجمن تخصصی فناوری اطلاعات ایران مقاله ای نوشته ام . امروز می خواهیم در خصوص یک قابلیت جالب در VMware به نام EVC صحبت کنیم که مرتبط با بحث VMotion است. زمانیکه شما می خواهید در یک Cluster در VMware ماشین های مجازی خودتان را از Host ای به Host دیگر منتقل کنید حتما باید نوع CPU سرور اول با نوع CPU سرور دوم مشابه باشد تا بتوانید به درستی VMotion را انجام دهید.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

این یک مشکل حاد در VMotion محسوب می شود چراکه همیشه Host های شما از یک نوع سخت افزار نیستند و بعضا ممکن است در یک Cluster چندین Host مختلف با انواع CPU های مختلف داشته باشید که با این شرایط شما نمی توانید عملیات VMotion را انجام دهید. برای حل کردن این مشکل شرکت VMware بعد از معرفی محصول VMware ESX 3.5 Update 2 قابلیتی به نام EVC یا Enhanced VMotion Compatibility را معرفی کرد که دقیقا برای برطرف کردن همین مشکل ارائه شده بود.


VMware EVC چیست و چگونه کار می کند


VMware EVC این قابلیت را به محیط مجازی سازی VMware می دهد که بتوانید VM های خودتان را بین Host های مختلف ESX یا ESXi ای که دارای CPU های مختلف می باشند VMotion کنید. روش کاری EVC به این شکل است که در هنگام انتقال یا VMotion کردن VM ها قابلیت های CPU ای که بین سیستم مبدا و سیستم مقصد یکسان نیستند و یا سیستم مقصد از آنها پشتیبانی نمی کند را از داخل VM ها حذف می کند تا به یک درجه مساوی از قابلیت ها برسد ، برای مثال مواردی از قبلی Clock Speed و یا تعداد Core های CPU را در بین Host ها تغییر می دهد تا با همدیگر تناسب پیدا کنند.

این قابلیت با انواع نسخه های مختلف CPU که از یک سازنده و برند باشند کار می کند. به این مورد کاملا دقت کنید که VMware EVC نمی تواند بین پردازنده های AMD و Intel فرآیند VMotion را انجام دهد اما قبل از اینکه بخواهد فرآیند VMotion را انجام دهد سیستم Host اول و Host دوم را از نظر هماهنگ بودن نوع CPU ها با همدیگر بررسی می کند و اگر عدم هماهنگی وجود داشته باشد به شما گزارش می دهد.

البته به غیر از قابلیت EVC شرکت VMware یک قابلیت ساده تر به نام CPU Compatibility Mask دارد که با استفاده از آن می تواند برخی از قابلیت های CPU را از VM ها پنهان کند اما این قابلیت پیشنهاد نمی شود. درست است که EVC هم تقریبا چنین کاری انجام می دهد اما EVC همیشه هم نمی تواند باعث شود که VM نتواند به قابلیت های CPU دسترسی داشته باشد و این بستگی به نرم افزارها و Application هایی دارد که بر روی ماشین مجازی نصب شده اند.


VMware EVC چیست و چگونه کار می کند


VMotion از نظر من یکی از بهترین قابلیت های است که شرکت VMware در راهکارهای مجازی سازی خود قرار داده است ، اینکه یک VM همانطور که روشن است و بدون ایجاد شدن کوچکترین تداخل در سرویس دهی به یک Host دیگر منتقل شود یک شاهکار مجازی سازی است.اما همانطور که عنوان کردیم شما می توانید بصورت پیشفرض فقط VMotion را بر روی Host هایی انجام دهید که ساختار CPU های آنها یا کاملا مثل هم هستند و یا بسیار شبیه به هم هستند.

این موضوع باعث می شود که سازمان در خرید کردن سرورهای جدید و اضافه کردن آنها در Cluster مجازی سازی خود کمی دچار مشکل شود. تصور کنید که شما در حال حاضر در سازمان خود یک سری سرور Host با برند HP مدل G4 دارید که بر روی آنها از قبل ESX نصب شده است و دارای سری خاصی از CPU های شرکت Intel هستند و در نهایت درون Cluster قرار گرفته اند. حال سازمان شما تصمیم می گیرد که برای رشدی که در آینده خواهد داشت ، یک سری سرور جدید برند HP مدل G8 را به مجموعه Cluster اضافه کندکه آنها هم برای خودشان دارای یک سری خاص CPU هستند.


VMware EVC چیست و چگونه کار می کند


طبیعی است که سرور جدیدی که شما خریداری می کنید از CPU های مشابه سرورهای قدیمی استفاده نمی کند و اصلا نمی توان CPU هایی مشابه با محصولات قبلی قدیمی پیدا کرد. در چنین مواقعی اضافه کردن این Host های جدید با CPU های متفاوت می تواند یک دردسر مدیریتی بسیار زیاد برای مدیران شبکه ایجاد کند. زمانیکه شما می خواهید عملیات VMotion را برای VM های این Host ها که دارای CPU های متفاوتی هستند انجام دهید اتفاقی که می افتد این است.

در لایه سیستم عاملی که در VM نصب شده است ، VM دارای یک سری دستورالعمل ها و اطلاعات درون CPU است که زمانیکه VMotion می شوند و در Host جدید قرار می گیرند به دلیل مشابه نبودن ساختار CPU قادر به اجرا و ادامه کار نخواهند داشت ، این موضوع باعث می شود که در سیستم عامل های ویندوز مجازی شما با صفحات Blue Screen و در سیستم عامل های لینوکس مجازی با مشکل Kernel Crash مواجه شوید ، دلیل بروز مشکل کاملا مشخص است ، دستورات و داده هایی که در CPU وجود داشتند به دلیل عدم هماهنگی بین CPU ها به یکباره دیگر در دسترس نخواهند بود.


VMware EVC چیست و چگونه کار می کند


VMware چگونه از به وجود آمدن اینگونه Crash ها در VMotion جلوگیری می کند ؟

VMware برای جلوگیری از به وجود آمدن اینگونه Crash های سیستم عامل های مجازی دو تکنیک مختلف استفاده می کند. اولین تکنیک بسیار ساده است ، زمانیکه مدیر شبکه درخواست انجام فرآیند VMotion را صادر می کند vCenter Server هم CPU مبدا و هم CPU مقصد را ارزیابی می کند و بررسی می کند که آیا هر دوی این CPU ها توانایی انجام شدن VMotion را دارند یا خیر ، اگر امکان انجام VMotion وجود نداشته باشد در همان لحظه به مدیر شبکه اطلاع رسانی خواهد شد.

اما روش دوم که تا حدودی هم به آن اشاره کردیم به نام CPU Masking معروف است. CPU Masking کاری می کند که قابلیت هایی که بر روی CPU وجود دارند بر روی VM قابل مشاهده نباشند و در واقع به VM گفته نمی شود که CPU ای که از آن استفاده می کند چه قابلیت هایی دارد ، بنابراین سیستم عامل موجود در VM هم هیچ دیدی از نوع CPU ای که استفاده می کند نخواهد داشت این تکنیک باعث می شود که قابلیت های اضافه تری که معمولا باعث ایجاد شدن Crash در VM ها در زمان VMotion می شوند عملا از نظر سیستم عامل مجازی وجود نداشته باشد که باعث به وجود آمدن Crash بشود.

اما تکنیک VMware Enhanced VMotion Compatibility یا EVC یک لایه از CPU Masking معمولی بالاتر است ، در CPU Masking قابلیت های CPU در لایه سیستم عامل مجازی مخفی می شود اما در EVC مخفی کردن یا CPU Masking در لایه Host انجام می شود و طبیعتا در درجه بالاتری انجام می شود. دقت کنید که EVC هم بستگی به نرم افزارهایی دارد که از امکانات خاص CPU مثل CPUID استفاده می کنند ممکن است به درستی کار نکند و دچار مشکل شود اما تعداد نرم افزارهایی که به گونه ی برنامه نویسی می شوند که مثلا با فلان قابلیت خاص CPU کار کنند بسیار معدود است و همین باعث می شود که EVC تقریبا بتواند در بیش از 95 درصد موارد کار را به درستی انجام دهد. امیدوارم مورد توجه شما قرار گرفته باشد. ITPRO باشید


نویسنده : محمد نصیری
منبع : جزیره راهکارهای مجازی سازی وب سایت توسینسو
هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد
#تفاوت_vmotion_و_storage_vmotion #کاربرد_cpu_compatibility_mask #datastore_cluster_چیست #تفاوت_intel_و_amd #cpu_masking_در_vmware #intel_vt_چیست #cpu_compatibility_mask_چیست #enhanced_vmotion_compatibility_چیست #vmware_evc_چیست #flash_read_cache_چیست

محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 50 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم و مقیم کشور ترکیه هستم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات