HPDS Benchmarking VMs
در این مقاله به ضرورت مجازی سازی در مراکز داده مدرن پرداخته و مبانی و معماری مجازی سازی و ارزیابی و کارایی آن را با معرفی محک VMmark بررسی میکنیم.
فصل1 ضرورت مجازی سازی در مراکز داده مدرن
افزایش روزافزون اتکا به فناوری مجازی سازی در مراکز داده مدرن، نیازمند درک روشنی از مزایا و مشخصه های کارایی این بسترها است. معماری سنتی مراکز داده که مبتنی بر استقرار یک سرویس بر روی یک سرور فیزیکی بود، با ناکارآمدی ذاتی در بهره برداری از منابع روبرو بود. در چنین مدلی، حتی در شرایط اوج بار کاری، یک سرویس تنها قادر است حداکثر تا ۸۰ درصد از ظرفیت پردازنده را به کار گیرد و سایر منابع ارزشمند مانند حافظه اصلی نیز بدون استفاده باقی می مانند. برای غلبه بر این محدودیت ها، صنعت به سمت مجازی سازی حرکت کرده است. آمارها نشان می دهد که بیش از ۴۰ درصد از مراکز داده صنعتی به طور کامل بر پایه این فناوری بنا شده اند و تمامی سرویس های نوین مبتنی بر ابر و داده های حجیم بر روی بسترهای مجازی سازی استوار هستند. بخش بعدی به تشریح معماری ای می پردازد که این مشکلات ناکارآمدی را برطرف می کند.
فصل2 مبانی و معماری مجازی سازی
درک معماری بنیادین مجازی سازی برای شناخت کامل مزایای استراتژیک آن ضروری است. این فناوری با افزودن یک لایه نرم افزاری به نام «ابردیده بان» یا Hypervisor، امکان اجرای چندین سیستم عامل مستقل را بر روی یک سخت افزار فیزیکی واحد فراهم می کند. معماری لایه ای یک محیط مجازی سازی شده از اجزای زیر تشکیل شده است:
شکل 1 :معماری لایه ای یک محیط مجازی سازی

سخت افزار: این لایه فیزیکی شامل تمام منابع محاسباتی از جمله پردازنده ، حافظه اصلی، کارت شبکه و دیسک های ذخیره سازی است.
ابردیده بان: این لایه نرم افزاری مستقیماً روی سخت افزار فیزیکی نصب می شود و وظیفه مدیریت، تخصیص و زمان بندی منابع سخت افزاری بین ماشین های مجازی را بر عهده دارد. نمونه های رایج آن شامل Hyper-V، Xen و ESX Server می شود.
سخت افزار مجازی: ابردیده بان برای هر سیستم عامل مهمان، مجموعه ای از منابع سخت افزاری را شبیه سازی می کند که به سیستم عامل مهمان ارائه می شوند.
سیستم عامل مهمان: هر سیستم عامل (مانند ویندوز یا لینوکس) که بر روی سخت افزار مجازی نصب و اجرا می شود و از دید خود، به صورت مستقل عمل می کند.
برنامه: در بالاترین لایه، برنامه ها و سرویس های نهایی بر روی هر سیستم عامل مهمان اجرا می شوند.
این معماری مزایای متعددی را برای سازمان ها فراهم می کند. با توجه به این مزایای قابل توجه، اندازه گیری دقیق و استاندارد کارایی چنین بسترهایی برای تصمیم گیری های فنی و تجاری امری ضروری است. در زیر مهم ترین مزایا به طور ساختاریافته ارائه شده اند:
* پشتیبانی از سیستم عامل های متعدد: مجازی سازی این امکان را فراهم می آورد که سیستم عامل های متنوعی مانند لینوکس و ویندوز به طور همزمان بر روی یک سرور فیزیکی اجرا شوند. این قابلیت برای محیط هایی که نیازمند سرویس های مختلف با پیش نیازهای متفاوت هستند، حیاتی است.
* ایزولاسیون داده و سرویس ها: هر ماشین مجازی در یک محیط کاملاً ایزوله و مجزا از دیگر ماشین ها عمل می کند. این ایزولاسیون تضمین می کند که سرویس های در حال اجرا بر روی سیستم عامل های مهمان مختلف، به داده های یکدیگر دسترسی نداشته باشند که این یک پیشرفت چشمگیر در مقایسه با اجرای چندین سرویس بر روی یک سیستم عامل واحد است.
* انعطاف پذیری در پیکربندی: مدیران سیستم می توانند مشخصات سخت افزار مجازی هر ماشین، از جمله تعداد هسته های پردازنده، میزان حافظه اصلی و حجم دیسک را به صورت دقیق تعریف کرده و حتی در حین کار نیز تغییر دهند. نکته کلیدی این است که منابع اختصاص یافته به یک ماشین مجازی، در صورت عدم استفاده، توسط ابردیده بان برای سایر ماشین های مجازی فعال قابل استفاده خواهد بود.
فصل3 ارزیابی کارایی
با توجه به مزایای انکارناپذیر مجازی سازی، وجود روش های استاندارد برای ارزیابی و مقایسه عملکرد پلتفرم های مختلف مجازی سازی امری حیاتی است. هدف اصلی محک های مجازی سازی، سنجش کارایی هر ماشین مجازی در انجام وظایف محوله و همچنین ارزیابی اثربخشی توزیع بار کاری در میان مجموعه ای از ماشین های مجازی است.
3-1 معرفی محک VMmark
محک VMmark که توسط شرکت VMware توسعه یافته، یکی از معتبرترین ابزارها در این حوزه است. این محک به طور خاص برای مقایسه پیکربندی های مختلف سرور در یک محیط یکپارچه و چند میزبانی (Multi-Host) طراحی شده است که رفتار واقعی مراکز داده را شبیه سازی می کند. در بخش بعدی، اجزای تشکیل دهنده این محک و متدولوژی آن به تفصیل تشریح خواهند شد. طبق اطلاعات منتشر شده، آخرین نسخه VMmark، نسخه 4.0.3 است که به عنوان یک نسخه Patch ارائه شده و شامل بهبودها و اصلاحات زیر است:
** Workload در VMmark 4 به روزرسانی شده اند تا استانداردها و فناوری های طراحی برنامه های Multi-tier مدرن را منعکس کنند، از جمله افزودن Kubernetes، NoSQL، Microservices و کانتینرهای Docker. VMmark 4 پشتیبانی از Fractional Tiles را اضافه می کند و اگرچه قادر به اندازه گیری مصرف انرژی است، اما بنچمارک بهره وری انرژی ارائه نمی دهد.
** فایل .ova در VMmark 4 شامل تمام نرم افزارهای مورد نیاز در قالب یک تمپلیت قابل دانلود است و از راه اندازی خودکار و فرایند کلون کردن Tiles برخوردار است که روند کار رایج را بسیار ساده کرده و زمان لازم برای تولید نتایج ارزشمند را به حداقل می رساند.
** نسخه 4.0.3 امکان جدیدی اضافه کرده که از طریق مکانیزم NMONVisualizer می توان داده های ESXTOP را بعد از اجرای Benchmark پردازش و تحلیل کرد. این قابلیت برای تحلیل دقیق تر عملکرد زیرساخت بسیار کاربردی است.
** در نسخه جدید امکان اجرای خودکار ابزار Disclosure Creator هنگام اجرای Benchmark فراهم شده است. این قابلیت باعث ساده تر شدن فرآیند تولید گزارش نتایج می شود.
** نسخه 4.0.3 قابلیت جدیدی دارد که به صورت موقت DRS را در برخی مراحل اجرا غیرفعال می کند تا از مهاجرت ناگهانی VMها و بروز خطا در جمع آوری داده ها جلوگیری شود.
** اضافه شدن NoSQLBench, SocialNetwork
** بهبود Workload مربوط به Weathervane
** بهبود مدیریت خطا در NoSQLBench
** ارتقاء سیستم امتیازدهی Tile و سیستم گزارش دهی
** افزایش سطح بررسی خطا و شناسایی نتایج نامعتبر
** افزایش جزئیات لاگ ها
** بهبود Mask کردن رمزها
** افزایش زمان Timeout برخی عملیات
** افزودن بررسی همگام سازی NTP
به طور کلی روند توسعه VMmark نشان می دهد که این ابزار به سمت شبیه سازی دقیق تر محیط های Cloud و Hybrid Cloud حرکت کرده و تحلیل عملکرد مجازی سازی را به واقعیت دیتاسنترها نزدیک تر کرده است.
3-1-1 کالبدشکافی محک VMmark
ارزش اصلی محک VMmark در استفاده از ترکیبی از بارهای کاری برنامه ای (Application Workloads) و عملیات زیرساختی (Infrastructure Operations) نهفته است. واحد بنیادین کار در این محک، «Tile» نامیده می شود. هر Tile مجموعه ای از چندین ماشین مجازی است که بارهای کاری متنوعی را به صورت موازی اجرا می کنند. در نسخه VMmark v2، هر Tile از هشت ماشین مجازی تشکیل شده است.
جدول 1: نمونه ای از مشخصات بارهای کاری مختلف محک VMmark
|
standby |
e-commerce front-end |
e-commerce back-end |
Web 2.0 front-end |
Web 2.0 back-end |
Mail server |
Resource |
|
| 1 | 3 | 1 | 1 | 1 | 1 |
VMs |
|
| 1 | 2 | 4 | 4 | 2 | 4 |
vCPU |
|
| 0.5GB | 2GB | 4GB | 6GB | 2GB | 8GB |
Memory |
|
| Windows Server 2003 32-bit | Linux SUSE SLES 11 64-bit | Linux SUSE SLES 11 64-bit | Linux SUSE SLES 11 64-bit | Linux SUSE SLES 11 64-bit | Windows Server 2008 EE 64-bit |
OS |
|
| - | - | MySQL |
|
MySQL | Exchange Server 2007 |
Application |
|
| - | DVD Store2 Web | DVD Store2 DB | Olio Web | Olio DB | LoadGen |
Benchmark |
|
| 4GB | 10GB | 10GB Boot 35GB Load | 10GB Boot 70GB Load | 10GB Boot 4GB Load | 32GB Boot 40GB Load |
Disk Subsystem |
|
در این آزمون، چند سرور میزبان پشتیبانی کننده از بسترهای مجازی به سامانه تحت آزمون متصل می شوند و حجم های منطقی در سامانه ذخیره سازی به این سرورهای میزبان اختصاص می یابد. ماشین های مجازی و سایر داده های سرور مذکور، روی حجم منطقی اختصاص داده شده به سرور قرار می گیرند. پیکربندی و نحوه اتصال سرورها به یکدیگر می تواند از طریق اتصالات iSCSI و فیبر و IB و به صورت مستقیم (point to point) یا از طریق واسط سوئیچ باشد. برای مثال یک نمونه پیکربندی در آمده است.
شکل 2: یک پیکربندی نمونه برای آزمون های بستر مجازی سازی
.png)
بعد از پیاده سازی پیکربندی سخت افزاری و اتصالات سرورها، آزمون های زیر در هر یک از سرور های سرویس گیرنده (دربردارنده بستر مجازی سازی) توسط یک سیستم مستقل انجام می شود.
کپی کردن ماشین های مجازی (داخل خود سرور میزبان و بین دو سرور میزبان)
ساخت ماشین مجازی
جابجا کردن ماشین های مجازی (داخل خود سرور میزبان و بین دو سرور میزبان)
اجرای عملیات توازن بار (Load Balancing)
عملیات مهاجرت یک ماشین مجازی در حالت روشن (vmotion)
عملیات جابجایی فضای داده ی یک سرور (storage vmotion)
این عملیات به طور خاص کارایی ویژگی های کلیدی ابردیده بان مانند vMotion، Storage vMotion و توازن بار خودکار (DRS) را مورد سنجش قرار می دهند. نتایج حاصل از اجرای این بارهای کاری و عملیات، مبنای سیستم امتیازدهی جامع VMmark را تشکیل می دهند.
3-1-2 تفسیر نتایج VMmark
سیستم امتیازدهی VMmark ابزاری استاندارد است که داده های پیچیده عملکرد را به یک معیار واحد و قابل مقایسه تبدیل می کند. نتیجه نهایی این محک به صورت X Score @ Y Tiles گزارش می شود (برای مثال، 73.82@50). این عدد، بیانگر کارایی کلی و توان عملیاتی (Throughput) سیستم تحت آزمون است.
به عنوان مثال در جدول 2 خروجی مربوط به اجرای بارهای کاری مختلف برای اجرای VMmark نشان داده شده است. تجمیع بین نتایج مختلف بارهای کاری مختلف با استفاده از نرمالیزه کردن با یک استاندار تعریف شده امکان پذیر است. برای هر Tile نیز بازه زمانی به سه قسمت مساوی تقسیم می شود و نتیجه برای هر سه قسمت حاصل می¬شود و در نهایت میانه این سه مقدار به عنوان مقدار نهایی گزارش می شود. نتیجه مربوط به بارهای کاری برنامه ای (80%) یا ساختاری (20%) به صورت وزن دار در محاسبه امتیاز نهایی شرکت خواهند کرد.
جدول 2: معیارهای مختلف مربوط به بارهای کاری مختلف
| Metric | Application(s) | Workload Names |
| Actions/minute | Microsoft Exchange | Mail server |
| Operations/minute | Tc Server, MySQL | Olio server |
| None | None | Standby server |
| Transactions/minute | Apache, MySQL | DS2WebA |
| Transactions/minute | Apache, MySQL | DS2WebB |
| Transactions/minute | Apache, MySQL | DS2WebA |
| Clones/hour | None | Clone and deploy |
| VM migrations/hour | None | vMotion |
| VM migrations/hour | None | Storage vMotion ® |
| None | N/A | DRS |
جدول 3: نمونه ای از مقادیر استاندارد مرجع برای نتایج مربوط به اجرای بارهای کاری مختلف
| Score | Workload Name |
| 1000 actions/minute | Mail server |
| None | standby |
| 1000 operations/minute | Olio |
| 1000 Transactions/minute | DS2WebA |
| 1000 Transactions/minute | DS2WebB |
| 1000 Transactions/minute | DS2WebA |
| 10 Clones/hour | Clone and deploy |
| 10 VM migrations/hour | vMotion |
| 10 VM migrations/hour | Storage vMotion ® |
| None | DRS |
جدول 4: مثالی از نحوه محاسبه score برای یک Tile
| Score | Workload Name |
| 950 actions/minute | Mail server |
| None | standby |
| 940 operations/minute | Olio |
| 1020 Transactions/minute | DS2WebA |
| 980 Transactions/minute | DS2WebB |
| 970 Transactions/minute | DS2WebA |
| 9 Clones/hour | Clone and deploy |
| 11 VM migrations/hour | vMotion |
| 9 VM migrations/hour | Storage vMotion |
| None | DRS |
در جدول 3-4 مثالی از نحوه محاسبه امتیاز برای یک Tile نشان داده شده است. در صورت وجود چندین Tile، برای هر یک از Tileها ابتدا میانگین هندسی مقدار نرمال شده محاسبه می شود و برای Tileهای مختلف بارهای کاری برنامه ای جمع می شود. برای محاسبه مقدار نهایی، حاصل جمع بارهای کاری برنامه ای و مقدار نرمال شده مربوط به بارهای کاری ساختاری (که برای Tileهای مختلف هم فقط یک عدد یکسان گزارش می شود) با توجه به وزن با هم جمع می شوند. برای مقایسه نتایج حاصل از آزمون های مختلف،
باید به نکات زیر توجه کرد:
امتیاز (Score) بالاتر همواره بهتر است. صرف نظر از تعداد Tileها، امتیاز بالاتر نشان دهنده عملکرد برتر و توان عملیاتی بالاتر بستر مجازی سازی است.
در صورت برابر بودن امتیاز، تعداد Tile کمتر بهتر است. اگر دو سیستم امتیاز یکسانی کسب کنند، سیستمی که این امتیاز را با تعداد Tile کمتری به دست آورده، برتر تلقی می شود. عدد بالای Tile برای دستیابی به یک امتیاز مشخص، نشان می دهد که منابع سخت افزاری زیرین به درستی متعادل نشده اند و حاکی از ناکارآمدی های بالقوه است.
امتیاز نهایی از طریق یک میانگین وزنی محاسبه می شود. بارهای کاری برنامه ای (مانند سرور ایمیل و پایگاه داده) ۸۰ درصد از وزن امتیاز نهایی را تشکیل می دهند و بارهای کاری ساختاری (مانند vMotion و Cloning) ۲۰ درصد باقی مانده را به خود اختصاص می دهند. برای تجمیع نتایج حاصل از بارهای کاری مختلف، خروجی ها با یک مقدار مرجع استاندارد، نرمال سازی می شوند. درک این سیستم امتیازدهی، نیازمند آشنایی با معماری فیزیکی است که برای تولید این نتایج استاندارد به کار گرفته میشود.
3-1-3 معماری مرجع برای بستر آزمون
برای دستیابی به نتایج معتبر و قابل تکرار، اجرای محک VMmark نیازمند یک بستر آزمون با معماری مشخص و قدرتمند است. این محیط باید به گونهای طراحی شود که بتواند بار کاری سنگینی را بدون ایجاد گلوگاههای ناخواسته بر روی سیستم تحت آزمون اعمال کند. از اهداف اصلی این پیکربندی می توان به آزمون کارایی واقعی که یک کاربر میتواند از سیستم یکپارچه انتظار داشته باشد و اعمال بارکاری به منابع ذخیرهسازی بدون درگیر کردن پردازنده اشاره کرد. همچنین این معماری تضمین میکند که نتایج محک، منعکسکننده عملکرد واقعی زیرساخت در شرایط کاری واقعی باشند. یک نمونه از این معماری شامل اجزای سختافزاری کلیدی زیر است:

شکل 3: بستر اتصال سامانه مورد ارزیابی به بستر مربوط به محک VMmark
میزبانهای VMmark: چندین سرور قدرتمند که بستر مجازیسازی روی آنها نصب شده و Tileهای آزمون را اجرا میکنند.
میزبان vCenter Appliance: یک سرور مستقل برای مدیریت متمرکز میزبانهای مجازیسازی.
کلاینت اصلی (Prime Client) و کلاینتهای مجازی (Virtual Client Hosts): سرورهایی که وظیفه تولید بار کاری و ارسال درخواستها به ماشینهای مجازی را بر عهده دارند.
شبکه پرسرعت: استفاده از فناوریهایی مانند Mellanox InfiniBand برای ارتباطات حیاتی نظیر vMotion و شبکه ماشینهای مجازی جهت جلوگیری از ایجاد گلوگاه در شبکه.
فناوری مجازیسازی نقشی بیبدیل در بهینهسازی و افزایش بهرهوری منابع سختافزاری در مراکز داده مدرن ایفا میکند. با این حال، انتخاب، پیکربندی و مدیریت این بسترها نیازمند دادههای دقیق و قابل اتکا در مورد عملکرد آنهاست. محکهای استاندارد و چندوجهی مانند VMmark، با شبیهسازی بارهای کاری واقعی و عملیات زیرساختی، ابزاری قدرتمند برای ارزیابی و مقایسه پلتفرمهای مختلف فراهم میآورند. استفاده از این ابزارها به سازمانها کمک میکند تا با اتکا به دادههای عینی، تصمیمات آگاهانهای در زمینه طراحی، خرید و بهینهسازی زیرساختهای مجازی خود اتخاذ کرده و از حداکثر بازده سرمایهگذاری خود اطمینان حاصل کنند.
