بخشی از مقاله
بررسی روشهای جدید و بهبود یافته مهاجرت زنده ماشین های مجازی در محاسبات ابری
چکیده - محاسبات ابری مدلی برای ارائه خدمات فناوری اطلاعات (شامل سخت افزار، نرم افزار، اطلاعات، و سایر منابع اشتراکی رایانشی) شبیه به سایر خدمات همگانی (آب، برق، گاز و تلفن) می باشد، که برای رسیدن به این هدف از بستر اینترنت به منظور ارائه سرویس به کاربر استفاده می کند. در واقع محاسبات ابری تکنولوژی جدید محاسبات توزیع شده است که مبتنی بر تکنولوژی مجازی سازی می باشد تکنولوژی مجازی سازی موجب کاهش هزینه ها (سخت افزار و نرم افزار)، عدم محدودیت مکانی و زمانی کاربر، راحتی در اشتراک گذاری منابع وغیره می شود. این تکنولوژی محیطی را فراهم میآورد که به صورت مجازی بوده و میتوان گفت یک ماشین فیزیکی را با تمام حالات و دادههای آن در قالب یک فایل منطقی ارائه میدهد. با توجه به این ویژگی، میتوان ماشینها را از مکانی به مکان دیگر منتقل کرد که این عمل انتقال، مهاجرت نام دارد. از جمله محیطهای پرکاربرد این تکنیک مراکز دادهای هستند که میزان بار و حجم درخواستهابه صورت کاملاً پویا در حال تغییر استبهطور کلی از تکنیک مهاجرت برای اهدافی نظیر توازن و تقسیم بار، تحمل پذیری در برابر خطا، مدیریت انرژی، کاهش زمان پاسخ(بهبود دسترس پذیری) استفاده میشود. ما در این مقاله قصد داریم تا روشهای جدید و بهبود یافته تکنیک مهاجرت ماشین های مجازی را مورد بررسی قرار دهیم و سپس با بیان معیارهای ارزیابیِ موجود، هرکدام از تکنیک ها را از لحاظ میزان کارایی با یکدیگر مقایسه و ارزیابی نماییم.
کلید واژه ها- محاسبات ابری ، مهاجرت زنده ، مجازی سازی، ماشین مجازی.
-1 مقدمه
محاسبات ابری راهکارهایی برای ارائه خدمات فناوری اطلاعات(شامل سخت افزار، نرم افزار، اطلاعات، و سایر منابع اشتراکی رایانشی) به شیوههای مشابه با خدمات همگانی (آب، برق، گاز و تلفن) پیشنهاد می کند. این بدین معنی است که دسترسی به منابع محاسباتی و ذخیره سازی در زمان تقاضا و بر اساس میزان تقاضای کاربر به گونهای انعطافپذیر و مقیاسپذیر از بستر اینترنت به کاربر تحویل داده میشوند.[2] یکی از مهمترین عناصر تشکیل دهنده ی این مدل محاسباتی مراکز داده ای هستند که از تکنولوژی مجازی سازی استفاده می کنند. تکنولوژی مجازی سازی با تبدیل یک سرور واقعی(فیزیکی) به چندین سرور مجازی موجب افزایش ظرفیت پاسخگویی به درخواستها و انعطاف پذیری مرکز داده میشود. زیرا هر سرورمجازی پاسخگوی نیاز چندین کاربر یا مشتری خواهد بود.با توجه به مزایای تکنولوژی مجازیسازی، امروزه اکثر مراکز داده از این روش برای بهبود راندمان کاری و افزایش مشتریان خود استفاده میکنند. این تکنولوژی محیطی را فراهم میآورد که به صورت مجازی بوده و میتوان گفت یک ماشین فیزیکی را با تمام حالات و دادههای آن در قالب یک فایل منطقی ارائه میدهد. با توجه به این ویژگی، میتوان ماشینها را از مکانی به مکان دیگر منتقل کرد که این عمل انتقال، مهاجرت نام دارد. از جمله محیطهای پرکاربرد این تکنیک مراکز دادهای هستند که میزان بار و حجم درخواستها به صورت کاملاً پویا در حال تغییر است.به طور کلی از تکنیک مهاجرت برای اهداف توازن و تقسیم بار، تحمل پذیری در برابر خطا، مدیریت انرژی، کاهش زمان پاسخ(بهبود دسترس پذیری) استفاده میشود. در ادامه و در بخش 2، مهاجرت و انواع تکنیک های آن تشریح می شود. در بخش 3، معیارهای مهم جهت ارزیابی هرکدام از روشهای مهاجرت را بیان کرده و سپس روش های بیان شده را بر اساس همین معیارها با یکدیگر مقایسه و ارزیابی می کنیم.
-2 روشهای مهاجرت
فرایند مهاجرت به دو دسته کلی تقسیم میشود که هر کدام از روشهای ارائه شده جهت جابجایی ماشینمجازی، در زیرشاخه ی یکی از این دو قرار خواهند گرفت:(1 مهاجرت غیر زنده (2 مهاجرت زنده. در مهاجرت غیر زنده: ماشینمجازی در مبدأ به طور کامل متوقف می شود، سپس تمام حالتهای پردازنده، صفحات حافظه و در صورت امکان(با توجه به سیاستهای مورد نظر) داده های دیسک، به ماشین مقصد منتقل میشود. ماشین مقصد پس از دریافت کامل حالات و صفحات، از آخرین حالتِ ماشین که قبل از انتقال ذخیره شده بود، شروع به کار می کند. یکی از معایب این روش طولانی بودن زمان عدم دسترسپذیری به سرویس ارائه شده توسط ماشینمجازی است، اما از جمله مزایای اینروش عدم وجود ناسازگاریهای ناشی از انتقال دادهها، سادگی در پیادهسازی و تضمین ارسال هر صفحه از حافظه تنها برای یک مرتبه است.[1] درشکل یک دستهبندی روشهای مهاجرت را مشاهده میکنید.
شکل:1 دسته بندی روش های مهاجرت
در مهاجرت زنده: ماشین مجازی در حالی که روشن است و به درخواستهای رسیده از سوی کاربران پاسخ میدهد، به ماشین مقصد منتقل میشود. در واقع میتوان اینطور تصور کرد که ماشین به تدریج و رفته رفته به سمت مقصد ارسال میشود. از جمله مزایای این روش میتوان به ارائهی سرویس توسط ماشینمجازی حتی در هنگامی که فرایند مهاجرت و جابجایی صفحات و حالات آن در حال انجام است، اشاره کرد. گفتنی است که تمام تکنیکهایی که جهت مهاجرت ارائه شدهاند و در اینجا بررسی خواهند شد، جزء روشهای زنده میباشند. در ادامه روشهای مهاجرت زنده را مورد بررسی قرار خواهیم داد. در جدول 1 خلاصه ای از هرکدام از روش های مهاجرت بیان شده است.
-1-2 مهاجرت با بکارگیری دیسک اشتراکی
به طور کلی فرایند مهاجرت ماشینهای مجازی در یک شبکهی محلی انجام شودمی . یعنی سرورهایِ فیزیکیِ مبدأ و مقصد به یک دیسک اشتراکی دسترسی دارند. این دیسک اشتراکی که معمولاً SAN1 و یا NAS2است، برای نگهداریِ دیسکِ ماشینهای مجازی و سایر اطلاعاتی که باید توسط تمام سرورها قابل دسترسی باشند، استفاده میشود. در چنین شرایطی، هنگامی که فرایند مهاجرت آغاز شود، دیسک ماشین-مجازی ثابت است(چراکه در دیسک اشتراکی قرار دارد و توسط سرور مبدأ و مقصد قابل دسترسی است) و سایر اجزای آن جابجا میشوند. این اجزا حالتهای پردازنده و صفحات حافظه هستند که انتقال آنها به دلیل حجم بسیار کمی که دارند، مدت زمان زیادی به طول نمیانجامد. بنابراین استفاده از دیسک اشتراکی موجب کاهش مدت زمان کل عملیات مهاجرت می-شود. با توجه به اینکه مهاجرت ماشین مجازی با بکارگیری دیسک اشتراکی، مزایایی از جمله کاهش زمان مهاجرت، کاهش زمان ازکارافتادگی ماشین(عدم سرویسدهی)، کاهش زمان تنزل در کارایی سرویس و کاهش زمان پاسخگویی دارد، امروزه اکثر روشهای مهاجرتی که ارائه میشوند، به دیسک اشتراکی وابسته هستند و در اکثر آنها تنها حافظهی ماشین مجازی به همراه حالتهای پردازنده جابجا میشود. بنابراین تفاوت بین روشهای مختلف مهاجرت، در نحوه انتقال حافظه و حالتهای پردازندهی ماشینمجازی است. در ادامه روشهایی که از دیسک اشتراکی استفاده میکنند را بررسی خواهیم کرد.
-1-1-2 تکنیک پیش کپی
در اکثر فوق ناظرها از این تکنیک جهت مهاجرت ماشینهای مجازی استفاده می شود. این تکنیک شامل سه مرحله است که در مقالات مختلف با افزودن مؤلفههای دیگر، باعث افزایش قابلیتهای آن میشوند. در مرحله اول:ماشین مجازی همچنان در حال سرویسدهی است و در پسزمینه، فوق ناظر صفحاتِ حافظه آن را به سمت مقصد ارسال میکند. به منظور ایجاد سازگاری، در صورتی که صفحاتِ ارسال شده مجدداً تغییر کنند، مجدداً ارسال خواهند شد.
در مرحله دوم:
ماشینمجازی در مبدأ به حالت تعلیق در میآید و سپس سایر صفحات تغییریافته و حالتهای پردازنده که برای راهاندازی ماشین مقصد ضروری هستند نیز ارسال میشود . سپس در مرحله سوم: ماشین مقصد از آخرین حالتی که قبل از تعلیق در مبدأ ذخیره شده بود شروع به کار میکند.[3] تکنیک های بعدی اغلب بر اساس روش پیش کپی هستند و با روشها و الگوریتم های مختلف سعی در بهبود آن دارند.
-2-1-2 مهاجرت زنده بر اساس فشرده سازی حافظه تطبیقی3
به منظور بهبود کارایی در فرایند مهاجرت(با بکارگیری روش پیش کپی) از تکنیک های فشردهسازی استفاده می شود.
فشردهسازی از یک سو موجب افزایش پهنای باند در دسترس جهت انجام عملیات مهاجرت شده (چراکه صفحاتِ فشرده شده در مدت زمان کمتری به مقصد می رسند) و از سوی دیگر، ترافیک شبکهای که ناشی از عملیات مهاجرت ایجاد می شود، به میزان قابل توجهی کاهش مییابد. نکتهی قابل ذکر این است که میزان سربار ناشی از عملیات فشردهسازیِ حافظه باید تا حد ممکن ناچیز و کم باشد. در صورتی که سربار بیشتر از مزیتهای فشردهسازی اهمیت داشته باشد، روش ارائه شده کاربردی نخواهد داشت(چراکه به منظور حذف سربار، عمل فشردهسازی انجام نخواهد شد و عملیات مهاجرت به صورت استاندارد انجام میشود). طراحیِ الگوریتمی که فشردهسازی را انجام دهد ساده است، اما در صورتی که حداکثر نرخ فشردهسازی مورد نیاز باشد، این عمل همراه با سربار زیادی خواهد بود(و دشوار است). بنابراین در طراحیِ چنین الگوریتمی باید تعادل بین سربار بهوجود آماده و میزان تأثیر فشردهسازی تعادلی برقرار شود.
هنگامی که نرخ تغییر صفحاتِ حافظه بیشتر از نرخ ارسال آنها در شبکه باشد، حجم زیادی از صفحات با هر عمل نوشتن بر روی حافظه تغییر می کنند. در چنین شرایطی، عمل فشردهسازیِ این حجم از صفحات، موجب میشود تا زمان مهاجرت افزایش یابد. برای رفع این مشکل، حالت فشردهسازیِ تطبیقی(قابل سازگاری) ارائه شده است. در این روش، سیستم ابتدا مقدار حجمِ صفحات تغییریافته را به صورت بلادرنگ4 تشخیص داده و به شکل خودکار مقدار آستانهای را بین کمترین
و بیشترین ضریبِ شباهت5 تعیین میکند. با این تکنیک، مقدار زمان فشردهسازی نیز کاهش می یابد و به دنبال آن، از مقدار صفحات تغییر یافته نیز به طور قابل توجهی کاسته خواهد شد5]،4،.[3
-3-1-2 مهاجرت زنده بر اساس روش پیش کپی بهبود یافته6
در این روش با اضافه کردن یک نقشه بیتی7 که صفحات تغییرکرده در آن علامتگذاری می شوند، موجب بهبود روش پیش کپی خواهد شد. روش کار به این صورت است که در طی فرآیند ارسال صفحات(مرحله ی دوم مهاجرت)، صفحاتی که اغلب به تغییر می کنند( با نرخ بالا)، در نقشه بیتی ثبت می شوند و این صفحات در آخرین دور ارسال خواهند شد (زیرا ارسال آنها در هر دور به دلیل تغییرِ زیاد عملی بی فایده است). در نتیجه با این عمل مطمئن خواهیم بود که صفحاتی کهدائماً به روز رسانی می شوند، فقط یک بار ارسال خواهند شد(در آخرین دور). بنابراین سربار انتقال صفحات تکراری در تکنیک پیش کپی به طور قابل توجهی کاهش می یابد. نتایج نشان می دهد که این روش در مقایسه با روش پیش کپی(استاندارد) %35 زمان کل مهاجرت و %34 کل داده های منتقل شده را کاهش می دهد و فرآیند تکرار با بیش از 5 برابر سرعت پیش کپی کامل شده و خاتمه می یابد6]،.[3