ویژگی vMotion در vSphere به خوبی بروزرسانی شدهاست، که منجر به Live-Migrations سریعتر و در عین حال کاهش چشمگیر تاثیر عملکرد Guest در طی فرآیند vMotion میشود و همچنین با روشی بسیار کارآمدتر برای جابجایی ماشین مجازی یا به عبارتی VM، بین مبداو مقصد ESXi میزبان عمل میکند. علاوه براین vSphere 7 پیشرفتهایی را برای فرآیند Fast Suspend And Resume (FSR) ارائه میدهد، زیرا FSR برخی از ویژگیهای vMotion را داراست.
FSR نه تنها در هنگام ذخیرهسازی Live-Migration ماشین مجازی با Storage vMotion، بلکه برای VM Hot Add هم استفاده میشود. Hot Add قابلیت اضافه کردن vCPU، حافظه و سایر دستگاههای سختافزاری منتخب را به یک VM روشن میدهد. هنگامی که VM خاموش است، اضافهکردن منابع محاسباتی یا دستگاههای سختافزاری مجازی، فقط یک تغییر فایل پیکربندی vmx است. FSR برای انجام همین کار در Live VMها استفاده میشود. ولی باید به این نکته توجه داشت که با استفاده از vCPU Hot Add میتوان اثر عملکرد بارِکاری را همانگونه که در این مقاله آمده معرفی کرد.
فرآیند FSR چیست
فرآیند FSR شباهتهای زیادی با ویژگی vMotion دارد. بزرگترین تفاوت این است که FSR یک Local Live-Migration است. منظور از Local یعنی در همان Host ESXi است. برای محاسبهی vMotion، دادههای حافظه باید از مبدا به مقصد ESXi میزبان کپی شوند. با FSR، صفحات حافظه در همان میزبان باقی میمانند.
هنگامی که یک Storage vMotion آغاز میشود یا Hot Add مورد استفاده قرار میگیرد، VM مقصد ایجاد میشود. این نام میتواند گمراهکننده باشد زیرا VM ایجاد شده یک Ghost است که در همان ESXi میزبان اجرا میشود. با ایجاد VM مقصد، فرآیند FSR، قبل از انتقال وضعیت دستگاه و حافظهی Metadata، ماشین مجازی مبدا را از کار کردن باز میدارد. از آنجا که انتقال به میزبان، Local است، نیاز به کپی صفحات حافظه نیست، بلکه فقط Metadataباید کپی شود. پس از انجام این کار، VM مقصد ادامه پیدا میکند و VM مبدا پاک شده، خاموش و حذف میگردد.
مانند ویژگی vMotion باید حداقل کمتر از یک ثانیه بین تعلیق و از سرگیری VM فاصله بیفتد تا تاثیر سیستم عامل مهمان به حداقل برسد. البته به طور معمول، این موضوع هیچگاه مشکلی برای اندازهگیریهای کوچکتر VM ایجاد نمیکند. با این وجود، با بارهای کاری بالا (VMهای (Monster، بسته به اندازه VM و ویژگیهای بارکاری ، تاثیر آن قابل توجه است.
چگونگی انتقال حافظهی Metadata
در طی فرآیند FSR، بیشترین زمان در انتقال Metadataی حافظه صرف میشود. Metadataی حافظه به عنوان نشانگرهایی برای VM در نظر گرفته میشوند تا بتوان فهمید دادهها در کدام قسمت حافظهی سیستم جهانی قرار دارند. Metadataی حافظه از Page Frameها یا به عبارتی (PFrame)ها استفاده میکند، که طراحی بین حافظهی مجازی VM و Machine Page Number یا به اختصار MPN واقعی را فراهم مینماید و دادهها را در حافظهی فیزیکی مشخص میکند. از آنجا که نیازی به کپی کردن دادههای حافظه نیست ، FSR فقط باید Metadataی (PFrames)را به VM مقصد در همان میزبان کپی کند، و مکان جستجو در حافظه سیستم را مشخص کند.
در نسخههای vSphere قبل از vSphere 7، انتقالMetadata ی حافظه به صورت Single Threaded است. فقط یک vCPU میخواهد که برای انتقال PFrames در Batchها استفاده می شود. تمام vCPU های دیگر در هنگام انتقال Metadata در حالت Sleep هستند، زیرا به طور خلاصه میتوان گفت که VM به حالت تعلیق در آمده است. این روش برای VMهای کوچکتر مناسب نیست، اما میتواند چالشی را برای VMهای بزرگ به خصوص بصورت تاثیر جدی روی حافظه، ایجاد کند.
این انتقال Single threated با پیکربندیهای بزرگ VM متناسب نیست، به طور بالقوه منجر به تغییر زمان Switch-over به بیش از یک ثانیه میشود. بنابراین، مانند ویژگی vMotion در vSphere 7، هنگام استفاده از FSR، نیاز به کاهش زمان Switch-Over (Aka Stun-Time) ندارد.
بهبود FSR در vSphere 7
با این اوصاف چرا تمام vCPUهای VM برای انتقال داده استفاده نمیشوند؟ زیرا VM هنگام انتقال داده به حالت تعلیق در میآید، بنابراین هیچ فایدهای ندارد که اجازه دهید vCPUها در حالت بیکار باقی بمانند. بلکه برای سرعت بخشیدن به انتقال Pframeها باید از آنها استفاده شود. حافظهی VMs به بخشهایی تقسیم میشود و به هر vCPU یک بخش Metadataی حافظه برای انتقال اختصاص مییابد.
در vSphere 7، FSR Logic از روش سریالی به روش توزیع شده تبدیل میشود. یعنی انتقال PFrameها اکنون در کلیه vCPUهایی که برای VM پیکربندی شدهاند به صورت موازی انجام میشود.
تاثیر توانمندسازی همهی vCPUها
نتیجهی نهایی توانمندسازی vCPUها برای انتقال Metadataی حافظه در طی فرآیند FSR، کاهش شدید زمان Switch-Over است. تیم عملکرد چندین پیکربندی و بارِکاری VM را با Storage vMotion و Hot Add آزمایش کردند. آنها با استفاده از یک VM تنظیم شده با 1 ترابایت حافظه و vCPU 48 انتظار کاهش زمان Switch-Over کمتر از 7.7 ثانیه را با استفاده از 1 vCPU برای انتقال Metadata به 500 میلیثانیه در زمان استفاده از همهی vCPUها داشتند.
ارتقاء FSR به شدت به اندازهی VM و ویژگیهای بارِکاری بستگی دارد. با نسخههای vSphere حداکثر تا نسخهی 6.7، استفاده از عملیات Storage vMotion یا Hot Add با 1 ثانیه SLA به نوعی یک چالش بود ولی با اجرای vSphere 7 ، مشتریان به دلیل پایین آمدن زمان Switch-Over دوباره میتوانند با استفاده از این قابلیتها احساس راحتی کنند!