ISMدانشنامهمجازی سازی

Compute System and Virtualization

Compute system چیست؟

یک سیستم محاسباتی است که از سخت افزار و نرم افزار تشکیل شده است که در نهایت نرم افزارهای مورد نیاز کسب و کار را اجرا می کند. نمونه هایی از این سیستم ها عبارتند از سرورها، کامپیوترهای عادی کاربری، لپ تاپ ها و موبایل ها. اما در مباحث مربوط به ISM وقتی صحبت از سیستم های محاسباتی یا همان compute system می شود منظور همان سرورها می باشد.

در یک مرکز داده اینترپرایز معمولا نرم افزارها بر روی سیستم های کلاستر اجرا می شوند. Cluster عبارت است از مجموعه ای از دو یا چند سرور که به منظور تامین high availability و load balancing در کنار هم قرار می گیرند.

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

بعد از قسمت سخت افزاری سرورها، می بایست به اجزای نرم افزاری آنها نیز توجه لازم را نماییم. اجزایی مانند سیستم عامل، فایل سیستم، حافظه مجازی و پارتیشن بندی درایوها.

انواع سرورها

سرورها در سه دسته بندی مختلف قرار می گیرند:

دسته اول سرورهای ایستاده یا Tower Server هستند که عموما در محیط های کوچک مورد استفاده قرار می گیرند و فضای زیادی را به خود اختصاص می دهند.

دسته دوم سرورهای Rack Mount هستند که بصورت افقی در درون رک نصب می شوند و فضایی که اشغال می کنند نیز بسیار کاهش پیدا می کند. استفاده از این دسته از سرورها در مراکز داده بسیار رایج است.

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

عکس 20مجازی سازی سرور

مجازی سازی سرور یا Compute virtualization تکنیکی است که در طی آن بجای آنکه سخت افزار فیزیکی سرور در اختیار یک سیستم عامل قرار گیرد، به یک نرم افزار مجازی سازی به نام hypervisor، اختصاص داده می شود. از این طریق می توانیم چندین سیستم عامل را بصورت همزمان بر روی سرور اجرا نماییم. به هر کدام از این سیستم عامل ها در اصطلاح یک ماشین مجازی و یا Virtual Machine می گویند.

هر ماشین مجازی دارای سیستم عامل و نرم افزارهای مختص به خود است و کاملا نسبت به ماشین های مجازی دیگر در همان سرور، ایزوله است. نرم افزار هایپروایزر که این امکان را برای ما ایجاد می کند، قادر است که تمامی سخت افزارهای سرور مانند CPU، RAM، استوریج و کارت شبکه را به تمامی ماشین های مجازی اختصاص دهد و در واقع این اجزا را بین ماشین ها به اشتراک گذارد. با توجه به توانایی های سخت افزاری هر سرور می توان تعداد زیادی ماشین مجازی ساخت.

ماشین مجازی یک واحد منطقی است، ولی برای سیستم عاملی که بر روی آن نصب می شود به عنوان یک سرور سخت افزاری فیزیکی شناخته می شود، به عبارت بهتر سیستم عامل به هیچ وجه از زیرساخت مجازی سازی سرور آگاهی ندارد.

عکس 21

یکی از دلایل مهمی که صنعت آی تی به سمت مجازی سازی سرورها پیش رفت، استفاده از نرم افزارهای متنوع بود. ممکن است چند نرم افزار نیاز به تغییرات مختلفی در یک گزینه مشخص در رجیستری را داشته باشند و یا اینکه هر کدام نیازمند ورژن های مختلف از DLL ها باشند. در نتیجه این تداخل باعث می شد که شرکت ها برای هر نرم افزار خود از یک سرور مجزا استفاده کنند. بسیاری از منابع سرورها به هدر می رفت و استفاده ای از آنها نمی شد.

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

هایپروایزر چیست؟

هایپروایزر نرم افزار مجازی سازی سرور است که بر روی آن نصب می گردد. این نرم افزار منابع موجود در سرور را به شکل انتزاعی در آورده و اجازه می دهد که چندین ماشین مجازی بر روی آن سرور ایجاد نماییم. هر ماشین مجازی که VM نیز نامیده می شود دارای سیستم عامل مخصوص به خود است و همه ی آنها می توانند بصورت همزمان فعال باشند. هایپروایز تمامی منابع سخت افزار سرور را بین این ماشین های مجازی به اشتراک می گذارد.

اجزای هایپروایزر

هر هایپروایزر دارای دو جزء اصلی است: کرنل و (VMM (Virtual Machine Manager

قسمت کرنل دقیقا به مانند کرنل سیستم عامل عمل می کند. عملیاتی مانند مدیریت پردازش ها، مدیریت فایل سیستم و مدیریت حافظه. کرنل، درخواست منابع سخت افزار را از VMM دریافت کرده و آنها را به سخت افزار فیزیکی ارسال می کند. به هر ماشین مجازی یک VMM اختصاص داده شده است که وظیفه انتزاعی سازی منابع سخت افزاری سرور و اینکه آنها را به شکل یک سخت افزار فیزیکی واقعی به سیستم عامل و نرم افزارها، نشان دهند، بر عهده دارد. به عبارت بهتر ابتدا VMM درخواست منابع را از ماشین مجازی دریافت کرده و آن را به سمت کرنل ارسال می کند، کرنل نیز آن را به سخت افزار فیزیکی ارسال و سپس پاسخ دریافتی را مجدد را به VMM منتقل می کند، بدین صورت آن منابع مورد درخواست به ماشین مجازی ارائه می گردد.

هایپروایزرها به دو دسته تقسیم می شوند. دسته اول bare-metal نام دارد که در آن هایپروایزر بصورت مستقیم بر روی سرور نصب می شود و با سخت افزار سرور در ارتباط است، درست به مانند سیستم عامل. این روش در مراکز داده و پلتفرم ۳ مورد استفاده قرار می گیرد برای مثال محصول VMware ESXi از این نوع است. در مقابل hosted-hypervisor را داریم که به عنوان یک نرم افزار بر روی سیستم عامل نصب می شود و در نتیجه از طریق سیستم عامل با سخت افزار در ارتباط است و نه بصورت مستقیم. عموما از این روش در محیط های تستی استفاده می شود برای مثال محصول VMware Workstation از این نوع است.

عکس 22

 

ماشین های مجازی

همانطور که توضیح داده شد هدف از مجازی سازی سرورها، ساخت چندین ماشین مجازی یا همان Virtual Machine بر روی یک سرور است که هر کدام بصورت مجزا عمل می کنند. از دید هایپروایزر هر ماشین مجازی دارای یک رشته گسسته از فایل های متفاوت است که هر کدام برای هدف خاصی ساخته می شوند.

فایل اول مربوط به پیکربندی ماشین های مجازی می باشد که configuration file نامیده می شود و پسوند فایل مربوط به آن vmx. است. تمامی اطلاعات مربوط به پیکربندی ماشین مجازی شامل نام ماشین، مکان، اطلاعات BIOS، نوع سیستم عامل، پارامترهای دیسک ها، تعداد پردازشگرها، سایز حافظه RAM، تعداد آداپتورهای شبکه، نوع کنترولر SCSI و از این دست اطلاعات در این فایل ذخیره می گردند.

فایل کلیدی دوم مربوط به دیسک های مجازی یا Virtual disk می باشد که پسوند فایل مربوط به آن نیز vmdk. است. تمامی محتویات مربوط به دیسک درایوها در این فایل ذخیره می گردند. یک ماشین مجازی می تواند چندین دیسک داشته باشد که بدین ترتیب هر کدام در یک فایل مجزا قرار می گیرند.

فایل سوم memory state file است که همیشه یک کپی از حافظه RAM موجود در ماشین مجازی در آن فایل قرار می گیرد و پسوند آن فایل نیز vmem. است.

فایل چهارم snapshot است که در واقع یک کپی از ماشین مجازی که شامل تنظیمات و دیسک درایوها است، در این فایل با پسوند vmsn. قرار می گیرد. همچنین می توانیم بصورت اختیاری حافظه RAM را نیز جزئی از این snapshot بکنیم. معمولا این فایل برای برگرداندن به حالت قبل، بسیار مورد استفاده قرار می گیرد. وقتی ما از یک ماشین مجازی snapshot می گیریم، از آن نقطه به بعد، هر تغییر جدیدی که در آن ماشین اتفاق میافتد در فایل vmsn. ذخیره می گردد و فایل اصلی که vmdk. است دیگر ثابت باقی می ماند.

فایلی با پسوند log. نیز وجود دارد که گزارش های سیستم در آن قرار می گیرند و برای رفع عیب استفاده می شود. همچنین فایل nvram. نیز برای ذخیره BIOS ماشین مجازی استفاده می شود.

بطور کلی هایپروایزر از دو روش برای مدیریت فایل های VM استفاده می کند. روش اول استفاده از فایل سیستم های محلی است که عموما بر روی استوریج های FC و یا iSCSI پیاده سازی می گردند. روش دوم نیز استفاده از فایل سیستم NFS است که بر روی استوریج های NAS پیاده سازی می گردد. در رابطه با انواع این استوریج ها در ماژول های آینده مفصل بحث خواهد شد.

نمایش بیشتر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید
بستن
دکمه بازگشت به بالا