مفهوم مجازی سازی سرور (Server Virtualization)
در مجازی سازی سرور (Server Virtualization) منابع موجود در یک سرور فیزیکی شامل منابع پردازشی (CPU)، منابع حافظه ای (RAM) و منابع ذخیره سازی (Disk) در بین چندین ماشین مجازی به اشتراک گذاشته می شود. این فرآیند اجازه می دهد که چندین سیستم عامل (OS) به طور همزمان بر روی یک سرور فیزیکی نصب، راه اندازی و اجرا شوند. در واقع این ماشین های مجازی نمونه های مجازی از یک سرور فیزیکی هستند که دارای محیط مستقل و کارکرد مجزا از یکدیگر هستند.
براساس بررسی های انجام شده سرورهای اختصاصی (Dedicated Servers) در شرایط کار عادی تنها از 15 درصد از منابع سخت افزاری خود استفاده می کنند. در سرورهای اختصاصی تنها یک سیستم عامل بر روی سخت افزار سرور نصب و راه اندازی می شود. سپس برنامه های نرم افزاری در این سیستم عامل نصب می شوند. این کار در بسیاری از مواقع سبب اتلاف منابع سرور سخت افزاری می گردد که از نظر کارکرد به هیچ عنوان بهینه نیست. همچنین در صورت بروز مشکل در سیستم عامل سرور یا به وجود آمدن خطاهای سخت افزاری داده های موجود بر روی سرور فیزیکی با خطر از دست رفتن مواجه می شوند. بنابراین نیاز است تا با استفاده از یک ساختار مجازی سازی کار کنیم تا سرور فیزیکی به چندین سرور مجازی یا به عبارت دیگر چندین ماشین مجازی تبدیل شود. در این راستا شما تنها با داشتن یک سرور فیزیکی می توانید چندین سرور مجازی داشته باشید که هم از نظر هزینه ای مقرون به صرفه است و هم از نظر کارکردی می توانید بیشترین بهره را از سخت افزار سرور موجود ببرید.
مفهوم Hypervisor
Hypervisor نرم افزاری است که ماشین های مجازی را ایجاد و اجرا می کند. در واقع Hypervisor به سرور میزبان اجازه می دهد تا با اشتراک گذاری منابع خود به صورت مجازی از ماشین های مجازی متعددی پشتیبانی کند. این مفهوم به عنوان مانیتور ماشین مجازی (VMM) نیز شناخته می شود که مخفف عبارت Virtual Machine Monitor است. هایپروایزر شرایطی را فراهم می کند تا منابع موجود در سرور فیزیکی به طور بسیار بهینه تری مورد استفاده قرار بگیرند چرا که ماشین های مجازی مهمان یا همان Guest VMs مستقل از سخت افزار سرور میزبان هستند. نرم افزارهای Hypervisor از منابع پردازشی، حافظه ای و ذخیره سازی برای تخصیص به ماشین های مجازی جدید استفاده می کنند. به طور کلی Hyeprvisor برای اجرای ماشین های مجازی به بخش هایی از سیستم عامل مانند مدیریت حافظه، زمان بندی فرآیند، درایورهای دستگاه، مدیریت امنیت و شبکه نیاز دارند.
با توجه به این که ماشین های مجازی می توانند از یک سرور فیزیکی یا Hypervisor استفاده کنند سبب بهینه سازی منابع مورد استفاده می شوند. نرم افزارهای Hypervisor متعددی وجود دارد که یکی از محبوب ترین آن ها VMware است. شرکت VMware پلتفورم های مجازی سازی ESXi و vSphere را ارایه می دهد. یکی دیگر از ساختارهای شناخته شده Hypervisor، ماشین مجازی مبتنی بر هسته (KVM) است که به صورت متن باز (Open Source) بر مبنای هسته Linux پیاده سازی شده است. پلتفورم های دیگر Hypervisor هماننند Citrix Xen و Microsoft Hyper-V نیز شناخته شده هستند.
همانطور که می دانید برای ایجاد سرورهای مجازی می بایست در ابتدا نرم افزار مجازی سازی را نصب و راه اندازی نمایید. این ابزار مجازی ساز همان Hypervisor است که نقش اساسی آن ایجاد لایه مجازی است به طوری که منابع CPU، RAM و Storage را به بخش های مختلفی تقسیم می کند. در زمانی که نرم افزار Hypervisor بر روی سرور فیزیکی میزبان نصب و راه اندازی می شود، به عنوان یک شبیه سازی برای منابع فیزیکی و ایجاد ماشین های مجازی جدید مورد استفاده قرار می گیرد. توجه داشته باشید که مفهوم مجازی سازی سرور متفاوت از مفهوم Multi-tasking است چرا که منظور از Multi-tasking اجرای همزمان چندین برنامه بر روی یک سرور است، در حالی که مجازی سازی سرور شرایطی را فراهم می آورد تا سیستم عامل های مختلف بر روی یک سرور سخت افزاری اجرا شوند.
مدل های مختلف مجازی سازی سرور
در زمینه مجازی سازی سرور سه نوع مدل پیاده سازی که در ادامه آن ها را مورد بررسی قرار می دهیم.
1. مدل مجازی سازی کامل
در این مدل نرم افزار Hypervisor ماشین های مجازی مهمان را به طور کامل راه اندازی و اجرا می کند. در این روش علی رغم این که سخت افزار سرور در بین ماشین های مجازی به اشتراک گذاشته می شود اما ماشین های مجازی به نحوی اجرا می شوند که به نظر می رسد واقعاً روی یک سرور فیزیکی مستقل در حال اجرا هستند و لایه Hypervisor ای وجود ندارد.
2. مدل Paravirtual Machine
در این مدل منابع سخت افزاری سرور فیزیکی برای ماشین های مجازی شبیه سازی می شود. در این راستا سرعت و کارایی افزایش می یابد. البته توجه داشته باشید که این مدل تنها از سیستم عامل های open source استفاده می کند چرا که لایه Hypervisor بایستی بتواند ماشین های مجازی مهمان را مورد ویرایش قرار دهد.
3. مجازی سازی در سطح سیستم عامل
مجازی سازی در سطح سیستم عامل (OS level Virtualization) عمدتاً در ساختارهای Hosting مورد استفاده قرار می گیرد تا منابع موجود در بین کاربرهای زیاد با رعایت سرعت و امنیت به اشتراک گذاشته شود. در این مدل عملاً لایه واسط Hypervisor وجود ندارد و تمامی سخت افزار مجازی می شود. در این ساختار هسته یا کرنل سیستم عامل شرایطی را فراهم می آورد تا تعدادی سیستم عامل مجازی در یک سیستم عامل اصلی وجود داشته باشد.
مزیت های مجازی سازی سرور
مجازی سازی سرور مزیت های متعددی را به همراه دارد که در ذیل به برخی از مهم ترین آن ها می پردازیم.
1.یکپارچه سازی سرور (Server Consolidation)
مجازی سازی سرور شرایطی را فراهم می آورد تا چندین سرور مجازی بر روی یک سرور فیزیکی اجرا شوند که در این شرایط تعداد کل سرورهای فیزیکی کاهش می یابد. این رویکرد به عنوان یکپارچه سازی سرور نامیده می شود.
2.زیرساخت فیزیکی با پیچیدگی کم
با کاهش تعداد سرورهای فیزیکی نیاز به رک (Rack)، کابل کشی و سایر ساختارهای ارتباطی فیزیکی کاهش چشمگیری پیدا می کند که در نتیجه سبب سادگی استقرار و عیب یابی می شود.
3.کاهش هزینه های ساخت افزاری
یکپارچه سازی سرورها سبب کاهش هزینه های سخت افزاری مراکز داده (Datacenter) می شود که به نوبه نیاز به برق و ظرفیت خنک کنندگی (Cooling) را کاهش می هد که در طی زمان صرفه جویی های قابل توجهی را ایجاد می کند.
4.افزایش تطبیق پذیری
هر ماشین مجازی یک سیستم عامل مستقل را اجرا می کند. در ساختار مجازی سازی سرور سیستم عامل های مختلف در ماشین های مجازی مختلف راه اندازی می شوند و در نتیجه می توان ترکیب دلخواهی از سیستم عامل های ویندوز، لینوکس و غیره را در اختیار داشته باشید
5.مدیریت کارآمد و بهینه
پلتفورم های مجازی سازی کنترل منابع سخت افزاری و ماشین های مجازی را به طور متمرکز انجام می دهند. یکی از ویژگی های جالب مجازی سازی سرور، Live Migration است که اجازه می دهد یک ماشین مجازی بدون توقف بار کاری بین دو سرور فیزیکی جابجا شود. یکی دیگر از جنبه های جالب Data protection است که می تواند وضعیت یک ماشین مجازی را در هر نقطه از زمان ثبت کند تا پس از رفع خطاها، عملیات بازیابی انجام شود.
بدون دیدگاه