در مجازیسازی سرور، هر ماشین مجازی دارای سیستمعامل، حافظه، پردازنده، سختافزار و شبکه مجازی مخصوصبهخود است. با استفاده از این فناوری میتوان از ظرفیت سرورهای فیزیکی در بهترین شکل ممکن استفاده کرد و در عین حال، هزینه مصرف انرژی و هزینههای اجاره و نگهداری سرورهای فیزیکی را کم کرد. همچنین، مجازیسازی سرور به شرکتها امکان میدهد که بهراحتی و بهشکل ایمن، سرویسهای جدید را در مدت زمان کمتری پیادهسازی کرده و در اختیار کاربران خود قرار دهند. بهطور کلی، مجازیسازی سرور یکی از روشهای محبوب برای بهبود عملکرد و افزایش بهرهوری سرورها و مراکز داده است.
Hypervisor چیست؟
Hypervisor یا میزبان مجازی (Virtual Machine Monitor)، یک لایه نرمافزاری است که بر روی سرور فیزیکی نصب میشود و اجازه میدهد تا چند سیستمعامل و برنامه را بهصورت همزمان روی یک سرور فیزیکی اجرا کرد. هایپروایزر بهعنوان یک میانافزار بین سیستمعامل و سختافزار فیزیکی قرار میگیرد و به ماشینهای مجازی اجازه میدهد تا مانند یک سیستم کاملا مجزا و مستقل از سایر سیستمها عمل کنند. هایپروایزرها به دو گروه نوع اول (Type 1) و نوع دوم (Type 2) تقسیم میشوند.
هایپروایزرهای نوع اول که به آنها هایپروایزرهای محلی
(Native Hypervisor) نیز گفته میشود، بهشکل مستقیم روی سختافزار فیزیکی نصب میشوند و بهعنوان یک سیستمعامل واقعی مورد استفاده قرار میگیرند. این نوع هایپروایزر بهعنوان هایپروایزر bare-metal نیز شناخته میشود و معمولا در مراکز داده برای اجرای سریع و بهتر ماشینهای مجازی استفاده میشود.
هایپروایزرهای نوع دوم که هایپروایزرهای میزبانیشده
(Hosted Hypervisor) نام دارند، روی سیستمعامل اصلی مثل ویندوز یا لینوکس نصب میشوند و در حقیقت بهشکل یک برنامه کاربردی مورد استفاده قرار میگیرند. این نوع هایپروایزر برای اجرای سیستمهای عامل مجازی در دسکتاپهای شخصی استفاده میشود.
با استفاده از هایپروایزر میتوان چند سیستمعامل مجازی را روی یک سرور فیزیکی اجرا کرد و به این ترتیب از ظرفیت سرور به بهترین شکل ممکن استفاده کرد و بهرهوری را افزایش داد. همچنین، با استفاده از هایپروایزر میتوان ماشینهای مجازی جدید ایجاد کرده و به سادهترین شکل به مدیریت آنها پرداخت.
هایپروایزرها نقش کلیدیای در پیادهسازی فناوری مجازیسازی سرور دارند و بهدلیل قابلیت اطمینان بالا و کاهش هزینههایی که دارند مورد توجه ارائهدهندگان خدمات ابرمحور قرار دارند. هایپروایزرها نهتنها عملیات پشتیبانگیری، بازیابی و پیکربندی را ساده میکنند، بلکه در صورت بروز مشکل در یکی از سیستمها این امکان را فراهم میکنند تا بارهای کاری را به سیستم مجازی دیگری انتقال داد، بدون آنکه کاربر مطلع شود. همچنین، با کاهش تعداد سرورهای فیزیکی، هزینههای نگهداری و مدیریت سرورها را کاهش میدهند که به نوبه خود کاهش هزینههای عملیاتی را بههمراه دارد.
مجازیسازی سرور چگونه کار میکند؟
همانگونه که اشاره شد، مجازیسازی سرور به معنای بهکارگیری فناوری هایپروایزر و اجرای نرمافزار مجازیسازی سرور است که اجازه میدهد سرورهای مختلفی را بهعنوان ماشینهای مجازی (Virtual Machine) روی یک سرور فیزیکی اجرا کنیم. در این روش، هر ماشین مجازی، یک ماشین کاملا مجزا و مستقل از سایر ماشینهای مجازی بهنظر میرسد.
برای راهاندازی یک محیط مجازی، ابتدا یک هایپروایزر روی سرور فیزیکی نصب شود. سپس، با استفاده از هایپروایزر، سیستمعامل مجازی را که قصد اجرای آن را داریم، روی آن نصب میکنیم. در این مرحله، یک سیستمعامل واقعی بر روی سختافزار فیزیکی و یک هایپروایزر بهعنوان میانافزار بین سیستمعامل و سختافزار فیزیکی وجود دارد. در این حالت، ماشین مجازی از منابع سختافزاری سرور فیزیکی، مانند پردازنده مرکزی، حافظه و دیسک سخت، برای اجرای برنامههای خود استفاده میکند. هر سیستمعامل مجازی بهصورت مجزا و مستقل از دیگر سیستمهای عامل مجازی، میتواند برنامههای خود را اجرا کند و بهطور مستقل از دیگر سیستمهای عامل مجازی واقعی، به منابع سختافزاری سرور فیزیکی دسترسی داشته باشد.
یکی از مزیتهای بزرگ مجازیسازی سرور این است که میتوان چند سیستمعامل مجازی را روی یک سرور فیزیکی اجرا کرد و از ظرفیت سرور به بهترین شکل استفاده کرد. به بیان دقیقتر، شما یک سرور فیزیکی خریداری میکنید، اما در عمل به چند سرور بهشکل مجازی دسترسی خواهید داشت و آنها را در قالب سرویس در اختیار مشترکان قرار میدهید تا در بلندمدت بازگشت سرمایه را تجربه کنید.
انواع مجازیسازی
هنگامی که درباره مجازیسازی صحبت میکنیم، باید به دو نوع اصلی آن یعنی مجازیسازی سطح سیستمعامل و مجازیسازی سطح برنامه اشاره کرد.
مجازیسازی سطح سیستمعامل (Operating System Level Virtualization)
این نوع از مجازیسازی، بهعنوان یک روش مبتنی بر سیستمعامل (OS-based) نیز شناخته میشود. در این روش، یک سیستمعامل اصلی بر روی سرور فیزیکی نصب میشود و سپس چند محیط مجازی (Virtual Environment) ایجاد میشود که بهصورت مجزا از یکدیگر کار میکنند. در این روش، تمام سیستمعاملهای مجازی از هسته سیستمعامل اصلی استفاده میکنند و به منابع سختافزاری سرور فیزیکی دسترسی خواهند داشت. مجازیسازی سطح سیستمعامل بهعنوان یک روش سبک و با کارایی بالا شناخته میشود.
مجازیسازی سطح برنامه (Application Level Virtualization)
این نوع از مجازیسازی، به عنوان روش مبتنی بر برنامه (Application-based) نیز شناخته میشود. در این روش، هر برنامه بهصورت مجزا و مستقل از سایر برنامهها در یک محیط مجازی اجرا میشود. این روش برای اجرای برنامههایی مناسب است که نیاز به محیط مشخصی دارند و از نظر سیستمعامل بهصورت مستقل اجرا میشوند. بهطور مثال، برنامههای وب، بانکهای اطلاعاتی و سرورهای ایمیل معمولا با این روش در محیط مجازی اجرا میشوند.
در کل، مجازیسازی سطح سیستمعامل بهدلیل کارایی بالا و امکان استفاده از منابع سختافزاری در عالیترین حالت برای اجرای چند سیستمعامل مجازی روی یک سرور فیزیکی مناسب است. از طرف دیگر، مجازیسازی سطح برنامه، برای اجرای برنامههایی که نیاز به محیط مشخصی دارند و قرار است بهشکل بهینهای از منابع سختافزاری استفاده کنند، مناسب است.
مزایای مجازیسازی شبکه
بهطور معمول، سازمانها، مجازیسازی سرور را با هدف مجازیسازی شبکه مورد استفاده قرار میدهند تا بتوانند بر چالشهای پیادهسازی شبکههای رایج و سنتی غلبه کنند. مجازیسازی شبکه بهکارگیری فناوری مجازیسازی در سطح شبکه است و نقش موثری در کاهش پیچیدگی و مدیریت این شبکهها دارند. علاوه بر این، بهترین سطح از مقیاسپذیری را در اختیار مدیران شبکه قرار میدهند. برخلاف شبکههای فیزیکی که کلاینتها در بیشتر موارد بهشکل ایستا به منابع دسترسی دارند و منابع در انحصار کلاینتها قرار میگیرند، در شبکههای مجازی منابعی مانند پهنای باند، پردازنده و حافظه بهشکل پویا و متناسب با نیازها در اختیار کلاینتها قرار میگیرد که همین مسئله بهبود عملکرد شبکه و کاهش هزینهها را بههمراه دارد. برخی از مزایای مجازیسازی شبکه بهشرح زیر هستند:
- کاهش هزینهها: با استفاده از مجازیسازی شبکه، نیاز به سرورهای فیزیکی و تجهیزات شبکه کمتر میشود و در نتیجه، هزینههای نگهداری و مدیریت شبکه کاهش مییابد.
- مقیاسپذیری: با استفاده از مجازیسازی شبکه میتوان بهراحتی سرویسهای جدید را اضافه کرد و مقیاسپذیری شبکه را بهبود داد.
- امنیت: شبکههای مجازی از امنیت بیشتری نسبت به شبکههای فیزیکی برخوردار هستند. با استفاده از فناوری مجازیسازی شبکه میتوان بهشکل سادهای فرآیند دسترسیها به منابع را مدیریت کرد و دسترسیها را متناسب با نقش کاربران به آنها داد. رویکرد فوق نقش موثری در کاهش حملات و دسترسی غیرمجاز به دادهها دارد.
- افزایش قابلیت اطمینان: با استفاده از مجازیسازی شبکه میتوان بهراحتی نسخههای پشتیبان از دادهها ایجاد کرد و در صورت بروز خطا، شرایط را به حالت پایدار قبل بازگرداند.
- افزایش بهرهوری: با استفاده از مجازیسازی شبکه میتوان به بهترین شکل ممکن از منابع شبکه استفاده کرد و بهرهوری شبکه را افزایش داد. بهطور مثال، اگر در مقطعی از زمان، کاربران خاصی به پهنای باند بیشتری نیاز داشته باشند، فرآیند تخصیص پهنای باند تنها با چند کلیک ساده امکانپذیر خواهد بود.
انواع مجازیسازی سرور (Server Virtualization)
مجازیسازی سرور بسته به میزان تعامل سیستمعامل مجازی با سیستمعامل اصلی و نیاز به تفکیک منابع به دو نوع زیر تقسیم میشود:
مجازیسازی کامل (Full Virtualization)
در این روش، تمام منابع سیستم فیزیکی، بهصورت مجازی به سیستمعامل مجازی تخصیص داده میشوند. در این حالت، سیستمعامل مجازی بهصورت مستقل و جداگانه از سیستمعامل اصلی، دسترسی به منابع سختافزاری سرور را دارد و به این ترتیب، هر سیستمعامل مجازی بهصورت مجزا و مستقل از دیگر سیستمهای عامل مجازی واقعی، دسترسی به منابع سختافزاری سرور فیزیکی را دارد. این روش بهدلیل قابلیت استفاده از تمام منابع سختافزاری سرور و ایجاد سیستمهای عامل مجازی مستقل و جداگانه برای هر کاربر، مورد استفاده قرار میگیرد.
مجازیسازی پاراویرچوالیزیشن (Paravirtualization -virtualization)
این روش نیز مشابه مجازیسازی کامل است، با این تفاوت که سیستمعامل مجازی بهصورت هماهنگ با سیستمعامل اصلی کار میکند و از تمام منابع سختافزاری سرور استفاده میکند. در این روش، سیستمعامل مجازی از وجود سیستمعامل اصلی آگاه است و استفاده بهینهتری از منابع سختافزاری سرور دارد، اما بهدلیل نیاز به هماهنگی بیشتر با سیستمعامل اصلی، کارایی آن کمی کاهش مییابد.
مجازیسازی در سطح سیستمعامل (Virtualization at the OS Level)
مجازیسازی در سطح سیستمعامل، به عنوان یک روش مجازیسازی به کاربرد فناوریهایی اشاره دارد که اجازه میدهند چند محیط کاربری مجازی روی یک سیستمعامل واحد اجرا شوند. در این روش، هر محیط کاربری مجازی، بهصورت مستقل از دیگر محیطها، اجرا میشود و به این ترتیب، میتوان برای هر کاربر یا برنامه، یک محیط کاربری مجازی جداگانه ایجاد کرد. از مهمترین مزایای مجازیسازی در سطح سیستمعامل، میتوان به موارد زیر اشاره کرد:
- بهرهوری بالا: مجازیسازی سطح سیستمعامل اجازه میدهد با هدف دستیابی به بهترین عملکرد، منابع سختافزاری را بین محیطهای کاربری مجازی تقسیم کرد. به این ترتیب، میتوان برای هر برنامه یا کاربر، یک محیط کاربری مجازی با منابع سختافزاری متناسب اختصاص داد.
- تفکیکپذیری بالا: محیطهای کاربری مجازی بهصورت جداگانه از یکدیگر عمل میکنند و هر کدام بهصورت مستقل و ایزوله اجرا میشوند. این تفکیکپذیری به کاربران اجازه میدهد تا بدون تداخل با یکدیگر، برنامههایشان را در محیطهای کاربری مجازی اجرا کنند. در این حالت، خرابی یک ماشین مجازی تاثیری روی عملکرد دیگری ماشینهای مجازی نخواهد داشت.
- مقیاسپذیری: میتوان بهراحتی محیطهای کاربری مجازی جدید را ایجاد کرد و بهسرعت به نیازهای کاربران و برنامههای جدید پاسخ داد.
- کاهش هزینهها: نیاز به خرید تجهیزات اضافی گرانقیمت را کمتر میکند که کاهش هزینهها را بههمراه دارد، زیرا این امکان وجود دارد که منابع سرور را بهشکل اشتراکی در اختیار چند کاربر قرار داد.
- سهولت مدیریت: مدیران شبکه و سیستم میتوانند بهصورت مرکزی، محیطهای کاربری مجازی را مدیریت کرده و برنامهها و سیستمها را بهراحتی بهروزرسانی کرده و از آنها نسخه پشتیبان تهیه کنند.
مزایای مجازیسازی سرور چیست؟
همانگونه که اشاره کردیم، مجازیسازی سرور باعث بهبود عملکرد و بهرهوری سرورها و مراکز داده میشود، به همین دلیل، در سالهای اخیر بسیار محبوب شده است. برخی از مزایای استفاده از مجازیسازی سرور بهشرح زیر هستند:
- افزایش بهرهوری سرور: با استفاده از مجازیسازی سرور، شرکتها میتوانند به بهترین شکل ممکن از ظرفیت سرورهای خود استفاده کنند، زیرا در این روش، تعداد سرورهای فیزیکی کاهش مییابد و همینطور هزینههای مربوط به خرید، نگهداری و اجاره سرورهای فیزیکی نیز کم میشود.
- قابلیت تغییرپذیری: با استفاده از مجازیسازی سرور، شرکتها میتوانند بهشکل ایمن، سرویسهای جدید را در مدت زمان کمتری پیادهسازی و در اختیار مصرفکنندگان قرار دهند. بنابراین، شرکتها با سرعت و کمترین هزینه به تغییرات و نیازهای مشتریان خود پاسخ دهند.
- افزایش امنیت: با استفاده از مجازیسازی سرور، شرکتها میتوانند از نرمافزارهای امنیتی مختلف برای محافظت از سرورهای مجازی استفاده کنند. همچنین، در صورت وقوع حملات ویروسی یا نفوذ به یکی از سرورهای مجازی، از آنجایی که هر سرور مجازی بهعنوان یک ماشین جداگانه در نظر گرفته میشود، احتمال انتقال بدافزارها به سایر سرورها کاهش مییابد. همچنین، با استفاده از ماژولهای امنیتی مانند فایروال و رمزنگاری، میتوان امنیت سیستمهای مجازی را افزایش داد.
- مدیریت آسانتر: با استفاده از مجازیسازی سرور، مدیران میتوانند بهراحتی و بهصورت مرکزی، مدیریت تمامی سرورهای مجازی خود را انجام دهند. این روش باعث کاهش هزینههای مربوط به نگهداری و مدیریت سرورهای فیزیکی میشود.
- افزایش قابلیت اطمینان: با استفاده از مجازیسازی سرور میتوان در کوتاهترین زمان ماشینهای مجازی جدید را ایجاد کرده و در صورت بروز مشکل در یکی از آنها، بارهای کاری را به ماشین مجازی دیگری انتقال داد. همچنین، با استفاده از ابزارهای مدیریت مربوط به مجازیسازی سرور میتوان عملیات پشتیبانگیری، بازیابی و پیکربندی را پیادهسازی کرد و از این طریق، قابلیت اطمینان سرورها را افزایش داد.
معایب مجازیسازی سرور چیست؟
استفاده از مجازیسازی سرور، با معایبی همراه است که در زیر به برخی از آنها اشاره میکنیم:
- کاهش عملکرد: در برخی موارد، استفاده از مجازیسازی سرور ممکن است باعث کاهش عملکرد سیستم شود. این مسئله زمانی رخ میدهد که تعداد سیستمهای مجازی و برنامههای اجراشده بر روی یک سرور فیزیکی زیاد شوند و منابع سختافزاری بهصورت نامتعادل تقسیم شده باشند یا سرور منابع فیزیکی کافی در اختیار نداشته باشد.
- پایداری پایینتر: در برخی موارد، مجازیسازی سرور باعث کاهش قابلیت اطمینان و پایداری سیستم میشود. این مسئله زمانی رخ میدهد که سرور فیزیکی با ترافیک سنگینی روبهرو شده باشد یا فرآیند مدیریت منابع بهدرستی انجام نگرفته باشد. در این حالت، سیستمهای مجازی نیز دچار مشکل میشوند و اختلال در سرویسدهی را بهوجود میآورند.
- مشکلات امنیتی: استفاده از مجازیسازی سرور، ممکن است باعث افزایش مشکلات امنیتی شود که این مسئله بیشتر زمانی اتفاق میافتد که آسیبپذیریهایی در سطح هایپروایزر شناسایی شده باشند و مدیران شبکه اقدامی برای وصله کردن آنها انجام نداده باشند.
- پیچیدگی: استفاده از مجازیسازی سرور، بهدلیل پیچیدگی بالا، نیاز به مهارتهای خاص در زمینه مدیریت و پشتیبانی دارد. این پیچیدگی ممکن است بهدلیل تعداد زیاد سیستمهای مجازی، پیکربندیهای پیچیده و ابزارهای مدیریت پیچیده باشد.
- هزینههای اضافی: استفاده از مجازیسازی سرور، ممکن است باعث افزایش هزینههای اضافی شود. برای مثال، نیاز به تجهیزات سختافزاری قویتر و پشتیبانی از آنها، نیاز به نصب و پیکربندی ابزارهای مدیریت و پشتیبانی، هزینههای لایسنس و ماژولهای امنیتی و هزینههایی مرتبط با توسعه و پشتیبانی سیستمهای مجازی قابل ذکر هستند. البته، هزینهها زمانی افزایش پیدا میکنند که شرکتها تصمیم میگیرند خدمات خود را به مشتریان بیشتری ارائه دهند. در این حالت، نیازمند خرید مولفههای سختافزاری بیشتری هستند.
- وابستگی به فناوری: استفاده از مجازیسازی سرور، باعث وابستگی به فناوریهای مجازیساز میشود. اگر فناوری مجازیسازی سرور تغییر کند یا از دسترس خارج شود، سرویسدهی ممکن است دچار مشکل شود. در این حالت، سازمان مجبور به استفاده از نسخههای بهروز است.
ماهنامه شبکه را از کجا تهیه کنیم؟
ماهنامه شبکه را میتوانید از کتابخانههای عمومی سراسر کشور و نیز از دکههای روزنامهفروشی تهیه نمائید.
ثبت اشتراک نسخه کاغذی ماهنامه شبکه
ثبت اشتراک نسخه آنلاین
کتاب الکترونیک +Network راهنمای شبکهها
- برای دانلود تنها کتاب کامل ترجمه فارسی +Network اینجا کلیک کنید.
کتاب الکترونیک دوره مقدماتی آموزش پایتون
- اگر قصد یادگیری برنامهنویسی را دارید ولی هیچ پیشزمینهای ندارید اینجا کلیک کنید.
نظر شما چیست؟