مجازی سازی سرور چیست؟
مجازی سازی سرور فرایندی است که چندین نمونه مجازی را در یک سرور ایجاد و انتزاع می کند. مجازی سازی سرور همچنین منابع سرور (از جمله تعداد و هویت سرورهای فیزیکی، پردازنده ها و سیستم عامل های منفرد) را پنهان می کند.
طراحی های سخت افزار و نرم افزار سیستم های سنتی معمولا از برنامه های کاربردی واحد پشتیبانی می کنند. اغلب؛ این امر سرورها را مجبور می کند تا هر یک؛ یک بار کاری واحد را اجرا کنند و به طوری کلی پردازنده ها استفاده نشده، ظرفیت حافظه و سایر منابع سخت افزاری را هدر می دهند. با استقرار برنامه ها و سرویس های بیشتر، در سرار سازمان تعداد سخت افزار سرور افزایش پیدا کرد. هزینه های مربوطه و افزایش تقاضا برای فضا، نیرو، خنک کننده و اتصال؛ دیتاسنتر را به محدودیت های خود رساند.
ظهور مجازی سازی سرور همه اینها را تغییر دادو مجازی سازی لایه ای از نرم افزار به نام Hypervisor را به سیستم اضافه می کند که سخت افزار زیربنایی را از همه نرم افزارهایی که در بالا اجرا می شوند انتزاع می کند. یک هایپروایزر منابع مجازی کامپیوتر را سازماندهی و مدیریت می کند و این منابع مجازی شده را در نمونه های منطقی به نام ماشین های مجازی (VM) فراهم می کند که هر کدام می توانند به عنوان یک سرور مجزا و مستقل عمل کنند.
مجازیسازی میتواند یک سیستم را قادر سازد تا کار چندین سیستم را انجام دهد و از 100 درصد سختافزار موجود سرور برای مدیریت بارهای کاری متعدد به طور همزمان استفاده کند. این امر تعداد سرورها را کاهش می دهد، فشار بر روی امکانات دیتاسنتر را کاهش می دهد، انعطاف پذیری فناوری اطلاعات را بهبود می بخشد و هزینه فناوری اطلاعات را برای شرکت کاهش می دهد.
مجازیسازی عملیات محاسبات سازمانی را تغییر داده است، اما مزایای فراوان آن گاهی اوقات با عواملی مانند پیچیدگی لایسنس و مدیریت و همچنین مشکلات احتمالی در دسترس بودن کاهش مییابد. سازمانها باید بفهمند مجازیسازی چیست، چگونه کار میکند، و چه استفاده ای دارد. تنها در این صورت است که یک سازمان می تواند مجازی سازی را به طور موثر در دیتاسنتر اتخاذ و اجرا کند.
چرا مجازی سازی سرور مهم است؟
برای درک نقش مجازی سازی در شرکت های مدرن، کمی از تاریخچه فناوری اطلاعات را در نظر بگیرید.
مجازی سازی ایده جدیدی نیست. این فناوری برای اولین بار در دهه 1960 به عنوان ابزاری برای پشتیبانی از مین فریم های اشتراک زمانی، که منابع سخت افزاری قابل توجهی را برای اجرای چندین بار کاری به طور همزمان تقسیم می کند، ظاهر شد. مجازیسازی برای مینفریمها مناسب و ایدهآل بود زیرا هزینه و پیچیدگی قابلتوجه مینفریمها آنها را تنها به یک سیستم مستقر محدود میکرد – سازمانها باید بیشترین استفاده را از سرمایهگذاری میبردند.
ظهور معماریهای محاسباتی x86، دستگاههای محاسباتی نسبتاً ساده و کمهزینه را در دهه 1980 به ارمغان آورد. سازمانها از مینفریمها فاصله گرفتند و از سیستمهای کامپیوتری منفرد برای میزبانی یا ارائه هر برنامه سازمانی به تعداد رو به رشدی از سیستم های اندپوینت کاربر یا کلاینت استفاده کردند. از آنجایی که سیستم های نوع x86 از نظر پردازش، حافظه و ظرفیت ذخیرهسازی نسبتاً ساده و محدود بودند، سیستم x86 و سیستمعاملهای آن (OSes) معمولاً فقط قادر به پشتیبانی از یک برنامه واحد بودند. یک کامپیوتر بزرگ مشترک با بسیاری از کامپیوترهای ارزان قیمت جایگزین شد. مجازی سازی دیگر ضروری نبود و استفاده از آن همراه با مین فریم ها در تاریخ محو شد.
اما دو عامل ظاهر شد که باعث بازگشت فناوری مجازی سازی به شرکت مدرن شد. اول، سخت افزار کامپیوتر به سرعت و به طور چشمگیری تکامل یافت. در اوایل دهه 2000، سرورهای معمولی کلاس سازمانی به طور معمول چندین پردازنده، حافظه و فضای ذخیرهسازی بسیار بیشتری نسبت به اکثر برنامههای کاربردی سازمانی ارائه میکردند. این منجر به هدر رفتن منابع – و هدر رفت سرمایه – شد زیرا ظرفیت محاسباتی اضافی روی هر سرور استفاده نشد. یافتن یک سرور سازمانی که تنها از 15 تا 25 درصد منابع موجود خود استفاده می کند، معمول بود.
عامل دوم محدودیت سخت در امکانات بود. سازمان ها به سادگی سرورهای اضافی را تهیه و مستقر کردند، زیرا بارهای کاری بیشتری به مجموعه برنامه های سازمانی اضافه شد. با گذشت زمان، تعداد زیاد سرورهای در حال کار میتواند فضای فیزیکی، ظرفیت خنککننده و در دسترس بودن برق دیتاسنتر را تحت تأثیر قرار دهد. اوایل دهه 2000 نگرانیهای عمدهای در مورد در دسترس بودن، توزیع و هزینههای انرژی داشت. روند افزایش تعداد سرورها و هدر رفتن منابع ناپایدار بود.
مجازیسازی سرور در اواخر دهه 1990 با چندین محصول و خدمات اساسی دوباره ظهور پیدا کرد (اما تا زمانی که محصول VMware ESX 1.0 Server در سال 2001 منتشر شد)، سرانجام سازمانها به یک پلتفرم مجازیسازی آماده برای تولید دسترسی پیدا کردند. سال های بعد محصولات مجازی سازی اضافی را از پروژه Xen، Hyper-V مایکروسافت با ویندوز سرور 2008 و موارد دیگر معرفی کردند. مجازیسازی از نظر پایداری و عملکرد به بلوغ رسیده بود و معرفی Docker در سال 2013 عصر کانتینرهای مجازیسازی شده را آغاز کرد که سرعت و مقیاسپذیری بیشتری را برای معماریهای کاربردی میکروسرویس در مقایسه با ماشینهای مجازی سنتی ارائه میکرد.
محصولات مجازی سازی امروزی از همان ایده های کاربردی مانند همتای اصلی اولیه خود استفاده می کنند. مجازیسازی نرمافزار را از سختافزار زیربنایی انتزاع میکند، و مجازیسازی را قادر میسازد تا منابع مجازیسازی شده را به عنوان نمونههای منطقی مجزا تهیه و مدیریت کند – به طور مؤثر یک سرور فیزیکی را به چندین سرور منطقی تبدیل میکند، که هر کدام قادر به عملکرد مستقل برای پشتیبانی از چندین برنامه در حال اجرا بر روی یک سیستم فیزیکی به طور همزمان هستند.
اهمیت مجازی سازی سرور عمیق است، زیرا به دو مشکلی که محاسبات سازمانی را در قرن بیست و یکم آزار می دهد، می پردازد. مجازیسازی تعداد سرورهای فیزیکی را کاهش میدهد و سازمان را قادر میسازد تا تعداد سرورهای فیزیکی را در دیتاسنتر کاهش دهد – یا حجم کاری بسیار بیشتری را بدون افزودن سرور اجرا کند. این تکنیکی است به نام ادغام سرور . تعداد کمتر سرور همچنین باعث صرفه جویی در فضای دیتاسنتر، قدرت و خنک کننده می شود. این اغلب می تواند نیاز به ایجاد امکانات جدید دیتاسنتر را از بین ببرد. علاوه بر این، پلتفرمهای مجازیسازی به طور معمول قابلیتهای قدرتمندی مانند مدیریت متمرکز VM، انتقال و مهاجرت VM (که یک VM را قادر میسازد به راحتی از یک سیستم به سیستم دیگر منتقل شود) و حفاظت از حجم کار/داده (از طریق پشتیبانگیری و اسنپ شات) ارائه میکنند.
مجازی سازی چگونه کار می کند؟
مجازیسازی سرور با انتزاع یا جداسازی سختافزار سیستم از همه نرمافزارهایی که ممکن است روی آن سختافزار اجرا شوند، کار میکند. این انتزاع توسط یک هایپروایزر، یک محصول نرم افزاری تخصصی، انجام می شود. هایپروایزرهای متعددی در فضای سازمانی وجود دارد، که از این بین می توان به Microsoft Hyper-V و VMware vSphere اشاره کرد.
انتزاع اساساً منابع فیزیکی سیستم را شناسایی می کند ( از جمله پردازنده ها، حافظه، حجم های ذخیره سازی و رابط های شبکه ) و نام مستعار منطقی برای این منابع ایجاد می کند. به عنوان مثال، یک پردازنده فیزیکی را می توان در یک نمایش منطقی به نام CPU مجازی یا vCPU انتزاع کرد. هایپروایزر مسئول مدیریت تمامی منابع مجازی است که انتزاع می کند و تمامی مبادلات داده بین منابع مجازی و همتایان فیزیکی آنها را مدیریت می کند.
مجازیسازی از نرمافزاری استفاده میکند که عملکرد سختافزاری را برای ایجاد یک سیستم مجازی شبیهسازی میکند و سازمانها را قادر میسازد تا چندین سیستم عامل و برنامههای کاربردی را روی یک سرور واحد اجرا کنند.
قدرت واقعی یک هایپروایزر انتزاع نیست، بلکه چه کاری می توان با آن منابع انتزاعی انجام داد. یک هایپروایزر از منابع مجازی سازی شده برای ایجاد نمایش های منطقی از کامپیوترها یا ماشین های مجازی استفاده می کند. یک VM به پردازنده های مجازی، حافظه، ذخیره سازی، آداپتورهای شبکه و سایر عناصر مجازی سازی شده – مانند GPU ها – که توسط Hypervisor مدیریت می شوند، اختصاص داده می شود. هنگامی که یک هایپروایزر یک VM را ارائه می کند، نمونه منطقی حاصل از سخت افزار زیربنایی و تمام ماشین های مجازی دیگر که توسط هایپروایزر ایجاد شده اند جدا می شود. این بدان معناست که یک VM هیچ اطلاعی از سیستم فیزیکی زیربنایی یا هر یک از ماشین های مجازی دیگر که ممکن است منابع سیستم فیزیکی را به اشتراک بگذارند، ندارد.
این جداسازی منطقی، همراه با مدیریت دقیق منابع، یک هایپروایزر را قادر میسازد تا چندین VM را در یک سیستم فیزیکی به طور همزمان ایجاد و کنترل کند – با هر VM که میتواند به عنوان یک سیستم کامل و کاملاً کاربردی عمل کند. مجازی سازی یک سازمان را قادر می سازد تا چندین سرور مجازی را از یک سرور فیزیکی جدا کند. هنگامی که یک VM ایجاد شد، به مجموعه کاملی از نصب نرم افزار، از جمله سیستم عامل، درایورها، کتابخانه ها و در نهایت برنامه سازمانی مورد نظر نیاز دارد. این یک سازمان را قادر می سازد تا از چندین سیستم عامل برای پشتیبانی از مجموعه وسیعی از بارهای کاری در یک سیستم فیزیکی استفاده کند.
انتزاع فعال شده توسط مجازی سازی به ماشین های مجازی انعطاف پذیری فوق العاده ای می دهد که با سیستم های فیزیکی سنتی و نصب نرم افزارهای فیزیکی امکان پذیر نیست. همه ماشین های مجازی در فضای حافظه فیزیکی کامپیوتر وجود دارند و اجرا می شوند، بنابراین ماشین های مجازی می توانند به راحتی به عنوان فایل های تصویر حافظه معمولی ذخیره شوند. این فایلهای ذخیرهشده را میتوان برای ایجاد سریع یا شبیهسازی ماشینهای مجازی در همان سیستم یا سیستم های دیگر در سرتاسر سازمان یا برای ذخیره VM در آن نقطه از زمان استفاده کرد. به طور مشابه، یک VM را می توان به راحتی از یک سیستم مجازی به سیستم دیگر منتقل کرد (به سادگی با کپی کردن VM مورد نظر از فضای حافظه یک سیستم مبدأ به فضای حافظه در سیستم مورد نظر و سپس حذف VM اصلی از رایانه مبدأ). در بیشتر موارد، انتقال میتواند بدون ایجاد اختلال در VM یا تجربه کاربر انجام شود.
اگرچه مجازیسازی ایجاد چندین کامپیوتر منطقی از یک کامپیوتر فیزیکی را ممکن میسازد، تعداد واقعی ماشینهای مجازی که میتوانند ایجاد شوند، توسط منابع فیزیکی موجود در کامپیوتر میزبان و نیازهای محاسباتی تحمیلشده توسط برنامههای کاربردی سازمانی در حال اجرا در این ماشینهای مجازی محدود میشود. به عنوان مثال، یک کامپیوتر با چهار پردازنده و 64 گیگابایت حافظه ممکن است میزبان حداکثر چهار ماشین مجازی هر کدام با یک vCPU و 16 گیگابایت حافظه مجازی باشد. هنگامی که یک VM ایجاد می شود، می توان منابع انتزاعی اختصاص داده شده به VM را برای بهینه سازی عملکرد ماشین مجازی و به حداکثر رساندن تعداد VM های میزبانی شده در سیستم تغییر داد.
به طور کلی، سیستم های جدیدتر و غنیتر از منابع میتوانند تعداد بیشتری از ماشینهای مجازی را میزبانی کنند، در حالی که سیستمهای قدیمیتر یا آنهایی که حجم کاری فشردهتری دارند ممکن است میزبان ماشینهای مجازی کمتری باشند. ممکن است که هایپروایزر منابع را به بیش از یک ماشین مجازی اختصاص دهد (عملی به نام تعهد بیش از حد) اما به دلیل جریمههای عملکرد محاسباتی اعمال شده، از این کار جلوگیری میشود، زیرا سیستم باید هر گونه منابع بیش از حد متعهد را به اشتراک بگذارد.
مزایای مجازی سازی سرور چیست؟
مجازی سازی طیف وسیعی از مزایای تکنولوژیکی و تجاری را برای سازمان به ارمغان می آورد. تعدادی از مهم ترین و رایج ترین مزایای مجازی سازی را در نظر بگیرید:
ادغام سرور از آنجایی که مجازیسازی یک سرور فیزیکی را قادر میسازد تا کار چندین سرور را انجام دهد، میتوان تعداد کل سرورهای شرکت را کاهش داد. این فرایندی است به نام یکپارچه سازی سرور. به عنوان مثال، فرض کنید در حال حاضر 12 سرور فیزیکی وجود دارد که هر کدام یک برنامه را اجرا می کنند. با معرفی مجازی سازی، هر سرور فیزیکی ممکن است میزبان سه ماشین مجازی باشد که هر ماشین مجازی یک برنامه کاربردی را اجرا می کند. سپس، سازمان فقط به چهار سرور فیزیکی برای اجرای همان 12 بار کاری نیاز دارد.
زیرساخت فیزیکی ساده شده با تعداد سرورهای کمتر، تعداد رک ها و کابل ها در دیتاسنتر به طور چشمگیری کاهش می یابد. این امر استقرار و عیب یابی را ساده می کند. سازمان می تواند اهداف محاسباتی یکسانی را تنها با کسری از فضا، توان و سرمایش مورد نیاز برای مکمل سرور فیزیکی انجام دهد.
کاهش هزینه های سخت افزاری و امکانات. یکپارچهسازی سرور هزینه سختافزار دیتاسنتر و همچنین امکانات را کاهش میدهد ( انرژی و خنککنندگی کمتر). یکپارچه سازی سرور از طریق مجازی سازی یک تاکتیک صرفه جویی قابل توجه در هزینه برای سازمان هایی با تعداد سرورهای بزرگ است.
تطبیق پذیری سرور بیشتر از آنجا که هر VM به عنوان نمونه مستقل خود وجود دارد، هر VM باید یک سیستم عامل مستقل را اجرا کند. با این حال، سیستمعامل میتواند بین ماشینهای مجازی متفاوت باشد و سازمان را قادر میسازد تا هر ترکیب دلخواه از ویندوز، لینوکس و سایر سیستمعاملها را روی همان سختافزار فیزیکی مستقر کند. چنین انعطاف پذیری در استقرار سرورهای فیزیکی سنتی بی بدیل است.
مدیریت بهبود یافته مجازی سازی کنترل منابع و ایجاد نمونه VM را متمرکز می کند. مجازیسازی مدرن ابزارها و ویژگیهای زیادی را اضافه میکند که به مدیران فناوری اطلاعات کنترل و نظارت بر محیط مجازیشده را میدهد. به عنوان مثال، ویژگیهای مهاجرت و انتقال لایو/زنده، یک ماشین مجازی را قادر میسازد تا بین دو سرور فیزیکی بدون توقف بار کاری جابهجا شود. ویژگیهای حفاظت از دادهها، مانند اسنپ شات ها، میتوانند وضعیت یک ماشین مجازی را در هر نقطه از زمان ثبت کنند، و این امکان را فراهم میکنند که VM به سرعت و به راحتی از خطاها یا بلایای غیرمنتظره بازیابی شود. مجازیسازی به خوبی به مدیریت متمرکز کمک میکند، و مدیران را قادر میسازد تا تمام ماشینهای مجازی را در محیط ببینند و پچ ها یا بهروزرسانیها را با احتمال کمتری خطا اجرا کنند.
معایب مجازی سازی سرور چیست؟
اگرچه مجازیسازی سرور مزایای بالقوهای را برای سازمان به ارمغان میآورد، نرمافزار اضافی و پیامدهای مدیریتی نرمافزار مجازیسازی معایب احتمالی متعددی را به همراه دارد که سازمان باید در نظر بگیرد:
ریسک و دسترس پذیری: اجرای بارهای کاری متعدد بر روی یک کامپیوتر فیزیکی خطراتی برای سازمان به همراه دارد. قبل از ظهور مجازیسازی، خرابی سرور تنها بر حجم کاری مرتبط تأثیر میگذاشت. با مجازی سازی، خرابی سرور می تواند بر بارهای کاری متعدد تأثیر بگذارد و به طور بالقوه باعث اختلال بیشتر در سازمان، کارمندان، شرکا و مشتریان آن شود. رهبران فناوری اطلاعات باید مسائلی مانند توزیع بار کار را در نظر بگیرند ( که ماشین های مجازی باید در کدام سرورهای فیزیکی قرار گیرند ) و تکنیک های بازیابی و انعطاف پذیری را برای اطمینان از در دسترس بودن VM های حیاتی پس از عواقب سرور یا سایر خطاهای زیرساخت فیزیکی پیاده سازی کنند.
VM sprawl :منابع فناوری اطلاعات برای ردیابی در دسترس بودن، استفاده، سلامت و عملکرد منابع به مدیریت دقیق بستگی دارد. دانستن اینکه چه چیزی وجود دارد، چگونه از آن استفاده می شود و چگونه کار می کند، کلیدهای کارآمدی دیتاسنتر است. یک چالش دائمی با مجازیسازی و ماشینهای مجازی، ایجاد و کنار گذاشتن نهایی (هرچند ناخواسته ) ماشینهای مجازی است. ماشین های مجازی استفاده نشده یا غیر ضروری همچنان منابع ارزشمند سرور را مصرف می کنند اما فقط کمی کار ارزشمند انجام می دهند. در همین حال، این منابع برای سایر ماشین های مجازی در دسترس نیستند. با گذشت زمان، VM ها تکثیر می شوند و سازمان با کمبود منابع مواجه می شود و آن را مجبور می کند تا سرمایه گذاری های برنامه ریزی نشده در ظرفیت اضافی انجام دهد. پدیده ای که VM sprawl یا sprawl سرور مجازی نامیده می شود. ماشین های مجازی غیر ضروری باید شناسایی و از رده خارج شوند تا منابع برای استفاده مجدد آزاد شوند.
کمبود منابع مجازیسازی: این امکان را فراهم میآورد که از منابع معمولی سرور، عمدتاً در حافظه و شبکه، فراتر رود. به عنوان مثال، ماشینهای مجازی میتوانند فضای حافظه فیزیکی یکسانی را با تکیه بر تعویض صفحه معمولی به اشتراک بگذارند – صفحات حافظه را به طور موقت به یک هارد دیسک منتقل میکنند تا فضای حافظه توسط برنامه دیگری استفاده شود. مجازی سازی می تواند حافظه بیشتری نسبت به سرور اختصاص دهد. به این memory overcommitment می گویند . overcommitment نامطلوب است زیرا تأخیر اضافی دسترسی به دیسک می تواند عملکرد ماشین مجازی را کاهش دهد. پهنای باند شبکه همچنین می تواند به یک گلوگاه تبدیل شود زیرا چندین ماشین مجازی روی یک سرور برای دسترسی به شبکه رقابت می کنند. هر دو مشکل را می توان با ارتقای سرور میزبان یا با توزیع مجدد ماشین های مجازی بین سرورها برطرف کرد.
لایسنس: هایپروایزرها و ابزارهای مدیریتی مرتبط با قابلیت مجازی سازی هزینه های اضافی را به سازمان تحمیل می کنند و لایسنس هایپروایزر باید به دقت نظارت شود تا شرایط و ضوابط قراردادهای مجوز نرم افزار رعایت شود. تخلف از مجوز می تواند موجب دعوی قضایی و جریمه های مالی قابل توجهی برای سازمان متخلف شود. علاوه بر این، ماشینهای مجازی bare-metal به سیستمعاملهای مستقل نیاز دارند که برای هر استقرار سیستمعامل به لایسنس نیاز دارند.
تجربه: پیاده سازی و مدیریت موفقیت آمیز یک محیط مجازی به تخصص کارکنان فناوری اطلاعات بستگی دارد. آموزش و تجربه برای اطمینان از اینکه منابع به طور مؤثر و ایمن تهیه می شوند، به موقع نظارت و بازیابی می شوند و به طور مناسب محافظت می شوند تا از در دسترس بودن مداوم هر حجم کاری اطمینان حاصل شود، ضروری است. خطمشیهای تجاری نقش مهمی در استفاده از منابع ایفا میکنند و به تعریف نحوه درخواست، تأیید، تهیه و مدیریت ماشینهای مجازی جدید در طول چرخه عمر VM کمک میکنند.
موارد استفاده و کاربردها
ثابت شده است که مجازی سازی یک فناوری قابل اعتماد و همه کاره است که در دو دهه اخیر در بسیاری از دیتاسنترها نفوذ کرده است. با این حال، سازمان ها ممکن است همچنان با سؤالات مهمی در مورد موارد استفاده مناسب و برنامه های کاربردی برای استقرار مجازی سازی مواجه شوند. امروزه مجازی سازی سرور را می توان در طیف وسیعی از کاربردهای سازمانی، پروژه ها و اهداف تجاری اعمال کرد:
Server consolidation یا ادغام سرور: ادغام فرایند ترجمه بارهای کاری فیزیکی به ماشین های مجازی و سپس انتقال این ماشین های مجازی به سرورهای فیزیکی کمتر است. این کار تعداد سرورها را کاهش می دهد، هزینه های خرید و نگهداری سرور را کاهش می دهد، فضایی را در دیتاسنتر آزاد می کند و نیاز به انرژی و خنک کنندگی فناوری اطلاعات را کاهش می دهد. مجازی سازی فناوری اطلاعات را قادر می سازد تا کارهای بیشتری را انجام دهد و در عین حال در هزینه های شما صرفه جویی می کند. امروزه ممکن است ادغام به سادگی یک کاربرد باشد، اما همچنان یک محرک اصلی برای مجازی سازی است.
توسعه و تست: گرچه مجازس ازی سرور از محیط های تولید و بارهای کاری پشتیبانی می کند، اما انعطاف پذیری و سهولتی که مجازی سازی برای تهیه و استقرار VM به ارمغان می آورد، آن را برای توسعه و آزمایش طرح ها مناسب می کند. تهیه یک ماشین مجازی برای آزمایش نرم افزار جدید کار ساده ای است. با تنظیمات؛ بهینه سازی ها و ادغام ماشین های مجازی می توانید تست را انجام دهید. این ماشین های مجازی اغلب موقتی هستند و پس از اتمام تست می توان آنها را حذف کرد.
بهبود دسترس پذیری: نرم افزار مجازی سازی معمولا مجموعه ای از ویژگی ها و عملکردها را شامل می شود که می تواند قابلیت اطمینان و دسترس پذیری بارهای کاری در حال اجرا در ماشین های مجازی را افزایش دهد. به عنوان مثال، انتقال یا مهاجرت زنده (live migration) یک ماشین مجازی را قادر می سازد تا بین سرورهای فیزیکی بدون توقف بار کاری جابجا شود. ماشین های مجازی را می توان از ماشین های مشکل دار یا سیستم هایی که برای تعمیر و نگهداری برنامه ریزی شده اند، بدون هیچ گونه اختلال قابل توجهی منتقل کرد.
عملکردهایی مانند راه اندازی مجدد ماشین مجازی اولویت بندی شده تضمین می کند که مهمترین ماشین های مجازی (آنهایی که بار کاری و سرویس های حیاتی را دارند) قبل از سایر ماشین های مجازی ریست می شوند تا راه اندازی مجدد بعد از اختلالات ساده شود. ویژگی هایی مانند اسنپ شات ها می توانند نسخه های اخیر ماشین مجازی را نگه دارند، اساسا از ماشین های مجازی محافظت می کنند و امکان ریست سریع با از دست دادن داده ها را ندارند. سایر ویژگی های دسترس پذیری به چندین نمونه از یک حجم کاری کمک می کنند تا ترافیک و بارهای پردازشی را به اشتراک بگذارند، اگر یک ماشین مجازی از کار بیافتد، دسترس پذیری امکان پذیر است. مجازی سازی به عنصر اصی برنامه های نگهداری و بالایا تبدیل شده است.
تمرکز: قبل از مجازی سازی سرور، مسئولیت ردیابی برنامه ها و سرورهای مرتبط به عهده کارکنان فناوری اطلاعات بود. مجازی سازی ابزارهای قدرتمندی را به ارمغان می آورد که می تواند تمام ماشین های مجازی در حال اجرا در محیط را کشف ، سازماندهی،ردیابی و مدیریت کند تا نماهای جامعی از چشم انداز VM و همچنین هر گونه هشدار یا مشکلی را که ممکن است نیاز به توجه داشته باشد به مدیران فناری اطلاعات ارائه دهد. علاوه بر این، ابزارهای مجازی سازی برای فناوری های اتوماسیون و ارکستراسیون بسیار مناسب هستند و ایجاد و مدیریت ماشین مجازی مستقل را ممکن می سازند.
پشتیبانی چند پلتفرمی: هر ماشین مجازی سیستم عامل منحصر به فرد خود را اجرا می کند. مجازی سازی به عنوان وسیله ای مناسب برای پشتیبانی از چندین سیستم عامل در یک سرور فیزیکی واحد و همچنین سرورها در کل محیط دیتاسنتر پدیدار شده است. سازمان ها می توانند ترکیب های دلخواه ویندوز، لینوکس و سایر سیستم عامل ها را روی همان سخت افزار سرور x86 اجرا کنند که توسط هایپروایزر مجازیسازی کاملاً انتزاع شده است.تعداد بسیار کمی از حجم کاری سازمانی وجود دارد که نمی تواند به خوبی در یک ماشین مجازی کار کند. اینها شامل برنامه های قدیمی هستند که برای عملکرد به دسترسی مستقیم به دستگاه های سخت افزار سرور خاص وابسته هستند. چنین نگرانی هایی نادر هستند و باید ناپدید شوند. زیرا برنامه های کاربردی قدیمی به ناچار در طول زمان تجدید و به روز می شوند.
انواع مجازی سازی سرور چیست؟
مجازیسازی از طریق چندین تکنیک اثباتشده انجام میشود : استفاده از VM، استفاده از مجازیسازی و پیادهسازی مجازیسازی میزبانی شده توسط سیستمعامل.
VM model: مدل ماشین مجازی محبوب ترین و گسترده ترین رویکرد مجازی سازی است که توسط VMware و Microsoft استفاده می شود. این رویکرد از یک هایپروایزر مبتنی بر مانیتور ماشین مجازی (VMM) استفاده می کند که معمولاً مستقیماً روی سخت افزار رایانه اعمال می شود.این گونه هایپروایزرها معمولاً نوع 1 نامیده می شوند ، مجازی سازی کامل یا مجازی سازی bare-metal ، و به هیچ سیستم عامل اختصاصی در رایانه میزبان نیاز ندارند. در واقع، یک هایپروایزر bare-metal اغلب به تنهایی به عنوان یک سیستم عامل مجازی سازی در نظر گرفته می شود.
Hypervisor مسئول انتزاع و مدیریت منابع کامپیوتر میزبان مانند پردازنده ها و حافظه است و سپس این منابع انتزاعی را برای یک یا چند نمونه VM ارائه می کند. هر ماشین مجازی به عنوان یک مهمان در بالای هایپروایزر وجود دارد. ماشین های مجازی مهمان به طور منطقی از هایپروایزر و ماشین های مجازی دیگر جدا هستند. هر ماشین مجازی به سیستمعامل مخصوص به خود نیاز دارد و سازمانها را قادر میسازد تا نسخههای سیستمعامل مختلف را در همان رایانه فیزیکی به کار گیرند.
Paravirtualization:هایپروایزرهای اولیه bare-metal با محدودیت های عملکردی مواجه بودند. Paravirtualization برای رفع مشکلات اولیه عملکرد با تغییر سیستم عامل میزبان به منظور شناسایی و تعامل با یک هایپروایزر از طریق دستوراتی به نام hypercalls پدیدار شد . پس از اصلاح موفقیت آمیز، سیستم مجازی می تواند VM های مهمان را ایجاد و مدیریت کند. سیستمعاملهای نصبشده در ماشینهای مجازی مهمان میتوانند از سیستمعاملهای مختلف و اصلاح نشده و برنامههای کاربردی اصلاح نشده استفاده کنند.
چالش اصلی Paravirtualization نیاز به یک سیستم عامل میزبان – و نیاز به تغییر سیستم عامل میزبان – برای پشتیبانی از مجازی سازی است. سیستمعاملهای اختصاصی اصلاحنشده، مانند ویندوز مایکروسافت، از محیط مجازیسازیشده پشتیبانی نمیکنند و یک هایپروایزر مجازیسازیشده، مانند Xen، به پشتیبانی و درایورهای ساختهشده در هسته لینوکس نیاز دارد. این خطر قابل توجهی برای به روز رسانی و تغییرات سیستم عامل دارد. سازمانی که از یک سیستمعامل به سیستمعامل دیگر تغییر مکان میدهد ممکن است در معرض خطر از دست دادن پشتیبانی مجازیسازی باشد. محبوبیت مجازیسازی به سرعت کاهش یافت زیرا سختافزار سیستم برای پشتیبانی مستقیم از مجازیسازی مبتنی بر VMM، مانند معرفی افزونههای مجازیسازی به مجموعه دستورات پردازندهها، تکامل یافت.
Hosted virtualization: اگرچه میزبانی یک هایپروایزر مستقیماً روی سختافزار سیستم معمول است (بدون نیاز به سیستم عامل میزبان) یک هایپروایزر همچنین میتواند بر روی یک سیستم عامل میزبان موجود نصب شود تا خدمات مجازیسازی را برای یک یا چند ماشین مجازی ارائه دهد. این نوع 2 یا مجازی سازی میزبان نامیده می شود و توسط محصولاتی مانند Virtuozzo و Solaris Zones استفاده می شود. هایپروایزر نوع 2 به هر ماشین مجازی امکان می دهد هسته سیستم عامل میزبان اصلی را به همراه باینری ها و کتابخانه های رایج به اشتراک بگذارد، در حالی که هایپروایزرهای نوع 1 چنین اشتراک گذاری را مجاز نمی دانند .
مجازی سازی هاست شده به طور بالقوه باعث کارآمدی منابع مجازی VM مهمان می شود زیرا VM ها یک سیستم عامل مشترک دارند — سیستم عامل لازم نیست برای هر VM کپی شود. در نتیجه، مجازی سازی هاست شده به طور بالقوه می تواند صدها، حتی هزاران نمونه VM را در یک سیستم پشتیبانی کند. با این حال، سیستم عامل رایج یک بردار واحد را برای شکست یا حمله ارائه می دهد: اگر سیستم عامل هاست شده در معرض خطر قرار گیرد، تمام ماشین های مجازی که در بالای هایپروایزر اجرا می شوند نیز به طور بالقوه در معرض خطر قرار می گیرند.
کارایی VM های هاست شده باعث توسعه کانتینرها شده است. مفهوم اصلی کانتینرها مشابه مجازی سازی هاست شده است که در آن یک Hypervisor در بالای یک سیستم عامل هاست نصب شده است و نمونه های مجازی همگی سیستم عامل یکسانی را به اشتراک می گذارند. اما لایه هایپروایزر – به عنوان مثال، Docker – به طور خاص برای حجم بالایی از ماشین های مجازی کوچک و کارآمد طراحی شده است که اجزای مشترکی مانند باینری ها و کتابخانه ها را به اشتراک می گذارند. کانتینرها با استقرار نرم افزارهای مبتنی بر میکروسرویس رشد قابل توجهی یافته اند که در آن اجزای چابک و بسیار مقیاس پذیر مستقر شده و به سرعت از محیط حذف می شوند.