مجازی سازی سرور یک فناوری جدید است که هدف اصلی آن کاهش هزینهها و منابع فیزیکی است. به عبارت بهتر با استفاده از این فناوری شما میتوانید با داشتن یک سرور فیزیکی، چندین سرور مجازی را مدیریت کنید. درنتیجه تعداد سرورهای فیزیکی کاهش یافته و شما میتوانید از هر سرور مجازی همان خدماتی را دریافت کنید که از سرورهای فیزیکی دریافت میکردید. مجازی سازی سرور انواع مختلفی دارد و درنتیجه به شیوههای مختلفی انجام میشود. در این مقاله قصد داریم بهطور ذرهبینی این فناوری را بررسی کرده و شما را با جنبههای مختلف آن آشنا کنیم.
مجازی سازی سرور چیست؟
مجازی سازی سرور روشی است که با استفاده از آن شما میتوانید با داشتن یک سرور سختافزاری، چندین سیستمعامل را بهطور همزمان و مستقل اجرا کنید. واضح است که تعداد سرورهای مجازی که با استفاده از این روش در اختیار شما قرار میگیرند، نامحدود نیست. هر سرور فیزیکی یا سختافزاری ظرفیت مخصوص به خود را دارد که تعداد سرورهای مجازی قابل حصول با توجه به آن تعیین میشود. به عبارت بهتر در این روش تجهیزات سختافزاری موجود در خدمت نصب و میزبانی چندین سیستمعامل قرار میگیرند. البته میتوان با استفاده از روشهایی این منابع سختافزاری را افزایش داده یا به اشتراک گذاشت.
مجازی سازی سرور چگونه انجام میشود؟
برای virtualization نیاز به یک لایه نرمافزاری به نام هایپروایزر یا Hypervisor داریم. این لایه نرمافزاری وظیفه دارد که قسمتهای اصلی سختافزار مانند پردازنده مرکزی، ترافیک شبکه و ورودیها و خروجیها را شبیهسازی کند. بهاینترتیب میتواند چند نمونه از منبع فیزیکی موجود به دست آورده و در قسمت مجازی از آنها بهره بگیرد. سیستمعاملهای مهمان بر روی این نمونههای نرمافزاری پیادهسازی شده و کار خود را با استفاده از سختافزارهای شبیهسازیشده انجام میدهند.
بنابراین در ابتدای کار باید نرمافزار هایپروایزر را بر روی سختافزار نصب کرد. با نصب این نرمافزار، هایپروایزرها منابع فیزیکی را شبیهسازی کرده و به محیطهای مجازی موردنیاز تقسیم کنند. پس از آن دادهها در این محیطهای مجازی پردازش شده و وظایف موردنظر در آنها انجام میشود. اگر در این مرحله کاربران نیاز به فضای فیزیکی بیشتری داشتند، باید فرمانی را برای درخواست منابع فیزیکی بیشتر ارسال کنند. این پیام توسط هایپروایزر به سامانه فیزیکی منتقل شده و تغییرات اعمالشده در درون آن ذخیره میشود. همچنین این تخصیص منابع فیزیکی به سرورهای مختلف توسط هایپروایزر موقتی است. یعنی پس از اتمام کار سرور مجازی منابع فیزیکی آزاد شده و درنتیجه میتوانند بهسرعت در اختیار بخش دیگری قرار بگیرند.
واضح است که استفاده از نمونههای نرمافزاری هیچگاه نمیتواند همانند سختافزار واقعی کارایی داشته باشد. اما فلسفه مجازی سازی سرور از آنجا نشات میگیرد که سیستمعاملها در هنگام کار نیاز به تمامی قسمتهای سختافزار ندارند. درنتیجه میتوان وابستگی آنها را به تمامیت سختافزاری از بین برده و بهاینترتیب کنترل بیشتری را بر روی آنها داشت.
مجازی سازی سرور بهصورت پیشرفته چگونه انجام میشود؟
در حالت پیشرفته میتوان با تجمیع سختافزار چندین سرور و استفاده از یک هایپروایزر، تمامی فرایند مجازی سازی را تنها با استفاده از یک هایپروایزر پیادهسازی کرد. درنتیجه این افزایش منابع سختافزاری، سیستمعاملهایی که بر روی سرورهای مجازی نصب شدهاند، تصور میکنند که بهطور مستقیم با سختافزار اصلی در ارتباط هستند.
بهاینترتیب اگر بار کاری بر روی یک سرور مجازی افزایش یافت، سختافزارهای تجمیع شده به کمک آن سرور آمده و درنتیجه بار کاری آن کاهش پیدا میکند. درنتیجه بازدهی کار افزایش پیدا میکند. چراکه در طی این فرایند هیچ سختافزاری بیکار نمیماند و این اشتراکگذاری سختافزاری باعث افزایش سرعت و بهرهوری سامانه میشود. در حالتهای پیشرفتهتر این سیستمعاملهای مجازی بهصورت موازی بر روی یک CPU اجرا شده و درنتیجه سرعت کار تا حد زیادی افزایش پیدا میکند.
مجازی سازی سرور چه مزیتهایی دارد؟
یکی از اصلیترین مزایای مجازی سازی سرور که باعث شده بیشتر شرکتها استفاده از این شیوه را در دستور کار خود قرار دهند، کاهش چشمگیر هزینهها است. با استفاده از این فناوری میتوان یک منبع فیزیکی را بهگونهای تکثیر کرد که هر منبع شبیهسازیشده عملکردی مشابه با منبع اصلی داشته باشد. بهاینترتیب چند سرور مجازی مشابه با یک سرور فیزیکی به وجود خواهد آمد و هزینههای موردنیاز برای افزایش تعداد سرورهای فیزیکی بهطور چشمگیری کاهش خواهد یافت. کاهش سرورهای فیزیکی در کنار کاهش هزینهها فرایندهای مدیریتی را سادهتر کرده و درنتیجه بهرهوری را افزایش میدهد.
با استفاده از این شیوه میتوانید شبیهسازی سرور را در کوتاهترین زمان انجام داده و درنتیجه تا حد زیادی در زمان خود صرفهجویی کنید. در کنار این پیادهسازی سریع، مجازی سازی سرور میتواند باعث افزایش امنیت دادهها و سرعت انتقال آنها در میان سرورهای مختلف شود. بهاینترتیب در هر قسمت از مسیر میتوان دادهها را ذخیره کرده و یا مسیر ارسال آنها را تغییر داد.