مجازی سازی سرور
مجازی سازی سرور یا Server Virtualization از تکنولوژی های نوپا و تقریبا جدید ( نه خیلی جدید ) درشبکه ها و دیتاسنترها بشمار میرود.البته چند سالی هست که از این تکنولوژی در دیتاسنترها و مراکز داده سازمانها و شرکتها استفاده میشود ولی با توجه به پیچیده بودن پیاده سازی قابلیتهای پیشرفته مجازی سازی و حساس بودن بستر مجازی سازی ( بدلیل قرارگرفتن تعداد زیادی ماشین مجازی روی یک سرور ) لزوم استفاده از کارشناسان متخصص دراین حوزه جهت پیاده سازی استاندارد اجتناب ناپذیر است.این مهم بخصوص در مواردی که سرویس های مهمی مانند اکتیودایرکتوری ، انواع دیتابیس ، میل سرور ، وب سرور ، اتوماسیون اداری و انواع ماشین های مجازی در حال سرویس دادن به کاربران است نمود پیدا کرده و اختلال ثانیه ای این سرویس ها برای سازمانها ، موسسات و شرکتها خطر بزرگی محسوب میشود.
مجازی سازی سرور چیست
مجازی سازی سرور یکی از انواع مجازی سازی (virtualization) در دیتاسنترها بشمار میرود و به جرات میتوان گفت تمام دیتاسنترهای مدرن و امروزی از این تکنولوژی در بستر شبکه خود استفاده میکنند زیرا صرفه اقتصادی داشته هزینه های سازمان را کاهش میدهد ، مدیریت شبکه را راحت تر کرده و قابلیتهای خوبی به مدیر شبکه در زمینه توسعه و بسط شبکه اعطا میکند . مجازی سازی سرور این امکان را به ما میدهد که چندین سیستم عامل بتوانند درکنار هم و بصورت ایزوله از هم ( مانند چند سرور فیزیکی جدا ) روی یک سرور فیزیکی نصب شوند و به فعالیت بپردازند. در این حالت هدررفت منابع پردازشی سرور فیزیکی کمتر خواهد بود و ما قادر خواهیم بود چندین سیستم عامل (ماشین مجازی ) و سرویس مختلف را همزمان روی یک سرور فیزیکی در آن واحد اجرا کنیم. در این حالت لایه ای بنام هایپروایزر یا hypervisor مابین ماشین های مجازی و سرور فیزیکی قرار گرفته و نحوه تخصیص منابع پردازشی ( سی پی یو ، رم ، شبکه ، فضای ذخیره سازی دیسک ) به ماشین های مجازی را مدیریت میکند و به عنوان واسط و کنترلر لایه میانی عمل میکند. در vmware این هایپروایزر ESXi نام دارد که آخرین ورژن آن در حال حاضر esxi 6.7 میباشد.در شکل زیر سرورهای فیزیکی مشاهده میشود که روی هر کدام از سرورها یک لایه واسط مدیریتی به نام VMware ESXi نصب شده است و روی این لایه که هایپروایزر نام دارد تعدادی virtual machine یا ماشین مجازی وجود دارد. هر ماشین مجازی یک سیستم عامل دلخواه ( ویندوز ، لینوکس ، مکینتاش و ... ) به همراه برنامه ها و تنظیمات مختلف میباشد که منابع پردازشی خود را از سرور فیزکی که همان هاست ESXi میباشد دریافت میکنند.
انواع نرم افزارهای مجازی سازی
در دنیای مجازی سازی مدعیان زیادی اقدام به طراحی و تولید نرم افزار و راهکارهای مجازی سازی نموده اند که بدون شک محبوبترین آنها شرکت VMware میباشد. شرکت vmware در تولید و ارائه راهکارهای مربوط به مجازی سازی و کلود یا رایانش ابری همیشه پیشرو بوده است و محصولات آن در اکثر مراکز داده و شرکتها و سازمانها نصب و درحال استفاده است. لیست زیر محصولات شرکتهای مختلف که راهکارهای خود را در زمینه تکنولوژی های مربوط به مجازی سازی تولید و ارائه کرده اند را نشان میدهد :
- مایکروسافت هایپروی ( Microsoft Hyper-V )
- KVM محصول کمپانی ردهت
- محصول شرکت سیتریکس XenServer
- محصول مجازی سازی شرکت vmware بنام vSphere
مجازی سازی سرور با Citrix
یکی دیگر از محصولات پرقدرت مجازی سازی سرور ، XenServer بوده که محصول شرکت سیتریکس میباشد و بر پایه هایپروایزر Xen کار میکند. XenServer یا به اختصار Xen یک محصول اپن سورس و رایگان بوده و بسیار قابل اعتماد و پایدار میباشد.این محصول قابلیتهای پیشرفته مجازی سازی برای دیتاسنترهای امروزی را دارا بوده ولی همچنان از vmware که لیدر صنعت مجازی سازی بوده عقب میباشد.از قابلیتهای هایپروایزر سیتریکس میتوان به موارد زیر اشاره کرد :
- XenMotion که برای جابجایی ماشین مجازی بصورت live به سرور دیگر بکار میرود.
- قابلیت Live Storage Migration برای جابجایی دیسک ماشین مجازی به یک دیتااستور دیگر
- قابلیت high availability مشابه HA در vmware
- قابلیت memory overcommit برای استفاده اشتراکی از حافظه رم بین ماشین های مجازی
- قابلیت site-to-site disaster recovery مشابه SRM در vmware که برای ریکاورکردن ماشین های مجازی در مواقع بحران استفاده میشود.
- قابلیت استفاده از vGPU برای ماشین های مجازی
- قابلیت USB Pass-Through برای اتصال فلش usb به ماشین های مجازی
مجازی سازی سرور با VMware
محصول VMware vSphere نرم افزار و راهکار مجازی سازی سرور شرکت vmware محسوب میشود. هسته اصلی این محصول vmware esxi میباشد که روی سرورهای فیزیکی موجود در دیتاسنتر نصب شده و ماشین های مجازی روی این hypervisor نصب شده و بالا می آیند.این هایپروایزر از نوع bare-metal بوده به این معنا که مانند vmware workstation وابستگی به سیستم عامل میزبان برای نصب ندارد و esxi مستقیما روی سرور نصب میگردد.انواع سیستم عامل ها و پلتفرم ها ( ویندوز ، مکینتاش ، لینوکس ، یونیکس و ... ) میتواند بصورت ماشین مجازی یا به اصطلاح vm روی سرورهای ESXi نصب و راه اندازی گردند بدون اینکه اختلالی در کار یکدیگر ایجاد کنند.ایجاد کلاسترینگ در شبکه بوسیله هایپروایزر esxi و مجموعه ابزارهای موجود در نرم افزار vmware vsphere بسادگی ایجاد میشود و در صورت بروز مشکل در سرورهای فیزیکی دیتاسنتر ، سرویس ها و ماشین ها مجازی بدون قطعی و down time و یا با حداقل قطعی بکار خود ادامه دهند.آخرین ورژن esxi در حال حاضر 6.7 بوده و نسبت به نسخه قبلی خود یعنی 6.5 بهبودها و پیشرفتهای خوبی داشته است. نکته ای که باید ذکر شود نصب vmware esxi به تنهایی بستر مجازی سازی را تکمیل نکرده و لازم است از دیگر ابزارهای موجود در محصول vsphere استفاده نمود.نرم افزار vmware vCenter دیگر کامپوننت کاربردی دیگر در مجموعه نرم افزاری vsphere بوده که خیلی از قابلیتهای پیشرفته یک دیتاسنتر واقعی با نصب و تنظیم این نرم افزار میسر شده و قابلیتهای قدرتمندی را به بستر مجازی ما اضافه میکند.
مجازی سازی با مایکروسافت Hyper-V
مایکروسافت هایپروی ( Microsoft Hyper-V ) محصول مجازی سازی سرور شرکت مایکروسافت برای اولین بار در ویندوز سرور 2008 نسخه R2 معرفی شد.در نسخه های ابتدایی کمی این نرم افزار ضعیف بود ولی با معرفی قابلیتهای پیشرفته تر در آن مانند Live Migration وارد رقابت با دیگر محصولات مجازی سازی گردید. قابلیت Live migration امکان انتقال و مهاجرت یک ماشین مجازی از یک سرور به سرور دیگر بدون خاموش شدن یا قطع شدن ماشین مربوطه را میدهد. hyper-v از طریق نصب رل مربوطه در ویندوز سرور نصب میگردد و از دو طریق پاورشل مایکروسافت و کنسول گرافیکی hyper-v manager قابل مدیریت و پیکره بندی میباشد. از دیگر قابلیتهای هایپروی میتوان به توانایی ایجاد snapshot از ماشین های مجازی ، اختصاص حافظه رم بصورت پویا به ماشین مجازی ، وجود نسخه مشابه از هایپروی در ویندوز 8 به بعد ، محیط کاربری آسان ، مدیریت بستر مجازی سازی با powershell و معرفی فرمت ذخیره سازی جدید VHDX اشاره کرد.
مجازی سازی در لینوکس ( KVM )
مایکروسافت هایپروی ( Microsoft Hyper-V ) KVM یا Kernel-Based Virtual Machine پیاده سازی مجازی سازی با سیستم عامل لینوکس را ممکن میکند و در حقیقت هسته لینوکس را تبدیل به یک نوع هایپروایزر به نام KVM میکند. KVM توسط شرکت Redhat توسعه پیدا کرده است. نکته ای که در خصوص مجازی سازی با KVM وجود دارد این است که در این محصول تمام منابع پردازشی که در اختیار کاربر داده میشود بصورت اختصاصی بوده و به کاربر دیگری اختصاص داده نخواهد شد به همین دلیل در KVM فروش Overselling یا فروش افراطی را شاهد نخواهیم بود ( توضیح overselling در این مقاله ). مجازی ساز KVM یک محصول اپن سورس بوده و اولین بار در سال 2006 معرفی گردید. از قابلتیهای نرم افزار مجازی سازی KVM میتوان به موارد زیر اشاره کرد :
- بهره گیری از SELinux و sVirt برای بالابردن امنیت و بحث isolation بین ماشین های مجازی
- پشتیبانی از live migration یا انتقال ماشین مجازی از یک هاست یه یک هاست دیگر
- پشتیبانی از استفاده از منابع پردازشی سیستم بصورت Overcommitting
- پشتیبانی از KSM یا Kernel Same-page Merging برای حذف صفحات حافظه تکراری و کاهش حافظه مصرفی
مجازی سازی سرور
مجازی سازی سرور یا Server Virtualization از تکنولوژی های نوپا و تقریبا جدید ( نه خیلی جدید ) درشبکه ها و دیتاسنترها بشمار میرود.البته چند سالی هست که از این تکنولوژی در دیتاسنترها و مراکز داده سازمانها و شرکتها استفاده میشود ولی با توجه به پیچیده بودن پیاده سازی قابلیتهای پیشرفته مجازی سازی و حساس بودن بستر مجازی سازی ( بدلیل قرارگرفتن تعداد زیادی ماشین مجازی روی یک سرور ) لزوم استفاده از کارشناسان متخصص دراین حوزه جهت پیاده سازی استاندارد اجتناب ناپذیر است.این مهم بخصوص در مواردی که سرویس های مهمی مانند اکتیودایرکتوری ، انواع دیتابیس ، میل سرور ، وب سرور ، اتوماسیون اداری و انواع ماشین های مجازی در حال سرویس دادن به کاربران است نمود پیدا کرده و اختلال ثانیه ای این سرویس ها برای سازمانها ، موسسات و شرکتها خطر بزرگی محسوب میشود.
مجازی سازی سرور چیست
مجازی سازی سرور یکی از انواع مجازی سازی (virtualization) در دیتاسنترها بشمار میرود و به جرات میتوان گفت تمام دیتاسنترهای مدرن و امروزی از این تکنولوژی در بستر شبکه خود استفاده میکنند زیرا صرفه اقتصادی داشته هزینه های سازمان را کاهش میدهد ، مدیریت شبکه را راحت تر کرده و قابلیتهای خوبی به مدیر شبکه در زمینه توسعه و بسط شبکه اعطا میکند . مجازی سازی سرور این امکان را به ما میدهد که چندین سیستم عامل بتوانند درکنار هم و بصورت ایزوله از هم ( مانند چند سرور فیزیکی جدا ) روی یک سرور فیزیکی نصب شوند و به فعالیت بپردازند. در این حالت هدررفت منابع پردازشی سرور فیزیکی کمتر خواهد بود و ما قادر خواهیم بود چندین سیستم عامل (ماشین مجازی ) و سرویس مختلف را همزمان روی یک سرور فیزیکی در آن واحد اجرا کنیم. در این حالت لایه ای بنام هایپروایزر یا hypervisor مابین ماشین های مجازی و سرور فیزیکی قرار گرفته و نحوه تخصیص منابع پردازشی ( سی پی یو ، رم ، شبکه ، فضای ذخیره سازی دیسک ) به ماشین های مجازی را مدیریت میکند و به عنوان واسط و کنترلر لایه میانی عمل میکند. در vmware این هایپروایزر ESXi نام دارد که آخرین ورژن آن در حال حاضر esxi 6.7 میباشد.در شکل زیر سرورهای فیزیکی مشاهده میشود که روی هر کدام از سرورها یک لایه واسط مدیریتی به نام VMware ESXi نصب شده است و روی این لایه که هایپروایزر نام دارد تعدادی virtual machine یا ماشین مجازی وجود دارد. هر ماشین مجازی یک سیستم عامل دلخواه ( ویندوز ، لینوکس ، مکینتاش و ... ) به همراه برنامه ها و تنظیمات مختلف میباشد که منابع پردازشی خود را از سرور فیزکی که همان هاست ESXi میباشد دریافت میکنند.
انواع نرم افزارهای مجازی سازی
در دنیای مجازی سازی مدعیان زیادی اقدام به طراحی و تولید نرم افزار و راهکارهای مجازی سازی نموده اند که بدون شک محبوبترین آنها شرکت VMware میباشد. شرکت vmware در تولید و ارائه راهکارهای مربوط به مجازی سازی و کلود یا رایانش ابری همیشه پیشرو بوده است و محصولات آن در اکثر مراکز داده و شرکتها و سازمانها نصب و درحال استفاده است. لیست زیر محصولات شرکتهای مختلف که راهکارهای خود را در زمینه تکنولوژی های مربوط به مجازی سازی تولید و ارائه کرده اند را نشان میدهد :
- مایکروسافت هایپروی ( Microsoft Hyper-V )
- KVM محصول کمپانی ردهت
- محصول شرکت سیتریکس XenServer
- محصول مجازی سازی شرکت vmware بنام vSphere
مجازی سازی سرور با Citrix
یکی دیگر از محصولات پرقدرت مجازی سازی سرور ، XenServer بوده که محصول شرکت سیتریکس میباشد و بر پایه هایپروایزر Xen کار میکند. XenServer یا به اختصار Xen یک محصول اپن سورس و رایگان بوده و بسیار قابل اعتماد و پایدار میباشد.این محصول قابلیتهای پیشرفته مجازی سازی برای دیتاسنترهای امروزی را دارا بوده ولی همچنان از vmware که لیدر صنعت مجازی سازی بوده عقب میباشد.از قابلیتهای هایپروایزر سیتریکس میتوان به موارد زیر اشاره کرد :
- XenMotion که برای جابجایی ماشین مجازی بصورت live به سرور دیگر بکار میرود.
- قابلیت Live Storage Migration برای جابجایی دیسک ماشین مجازی به یک دیتااستور دیگر
- قابلیت high availability مشابه HA در vmware
- قابلیت memory overcommit برای استفاده اشتراکی از حافظه رم بین ماشین های مجازی
- قابلیت site-to-site disaster recovery مشابه SRM در vmware که برای ریکاورکردن ماشین های مجازی در مواقع بحران استفاده میشود.
- قابلیت استفاده از vGPU برای ماشین های مجازی
- قابلیت USB Pass-Through برای اتصال فلش usb به ماشین های مجازی
مجازی سازی سرور با VMware
محصول VMware vSphere نرم افزار و راهکار مجازی سازی سرور شرکت vmware محسوب میشود. هسته اصلی این محصول vmware esxi میباشد که روی سرورهای فیزیکی موجود در دیتاسنتر نصب شده و ماشین های مجازی روی این hypervisor نصب شده و بالا می آیند.این هایپروایزر از نوع bare-metal بوده به این معنا که مانند vmware workstation وابستگی به سیستم عامل میزبان برای نصب ندارد و esxi مستقیما روی سرور نصب میگردد.انواع سیستم عامل ها و پلتفرم ها ( ویندوز ، مکینتاش ، لینوکس ، یونیکس و ... ) میتواند بصورت ماشین مجازی یا به اصطلاح vm روی سرورهای ESXi نصب و راه اندازی گردند بدون اینکه اختلالی در کار یکدیگر ایجاد کنند.ایجاد کلاسترینگ در شبکه بوسیله هایپروایزر esxi و مجموعه ابزارهای موجود در نرم افزار vmware vsphere بسادگی ایجاد میشود و در صورت بروز مشکل در سرورهای فیزیکی دیتاسنتر ، سرویس ها و ماشین ها مجازی بدون قطعی و down time و یا با حداقل قطعی بکار خود ادامه دهند.آخرین ورژن esxi در حال حاضر 6.7 بوده و نسبت به نسخه قبلی خود یعنی 6.5 بهبودها و پیشرفتهای خوبی داشته است. نکته ای که باید ذکر شود نصب vmware esxi به تنهایی بستر مجازی سازی را تکمیل نکرده و لازم است از دیگر ابزارهای موجود در محصول vsphere استفاده نمود.نرم افزار vmware vCenter دیگر کامپوننت کاربردی دیگر در مجموعه نرم افزاری vsphere بوده که خیلی از قابلیتهای پیشرفته یک دیتاسنتر واقعی با نصب و تنظیم این نرم افزار میسر شده و قابلیتهای قدرتمندی را به بستر مجازی ما اضافه میکند.
مجازی سازی با مایکروسافت Hyper-V
مایکروسافت هایپروی ( Microsoft Hyper-V ) محصول مجازی سازی سرور شرکت مایکروسافت برای اولین بار در ویندوز سرور 2008 نسخه R2 معرفی شد.در نسخه های ابتدایی کمی این نرم افزار ضعیف بود ولی با معرفی قابلیتهای پیشرفته تر در آن مانند Live Migration وارد رقابت با دیگر محصولات مجازی سازی گردید. قابلیت Live migration امکان انتقال و مهاجرت یک ماشین مجازی از یک سرور به سرور دیگر بدون خاموش شدن یا قطع شدن ماشین مربوطه را میدهد. hyper-v از طریق نصب رل مربوطه در ویندوز سرور نصب میگردد و از دو طریق پاورشل مایکروسافت و کنسول گرافیکی hyper-v manager قابل مدیریت و پیکره بندی میباشد. از دیگر قابلیتهای هایپروی میتوان به توانایی ایجاد snapshot از ماشین های مجازی ، اختصاص حافظه رم بصورت پویا به ماشین مجازی ، وجود نسخه مشابه از هایپروی در ویندوز 8 به بعد ، محیط کاربری آسان ، مدیریت بستر مجازی سازی با powershell و معرفی فرمت ذخیره سازی جدید VHDX اشاره کرد.
مجازی سازی در لینوکس ( KVM )
مایکروسافت هایپروی ( Microsoft Hyper-V ) KVM یا Kernel-Based Virtual Machine پیاده سازی مجازی سازی با سیستم عامل لینوکس را ممکن میکند و در حقیقت هسته لینوکس را تبدیل به یک نوع هایپروایزر به نام KVM میکند. KVM توسط شرکت Redhat توسعه پیدا کرده است. نکته ای که در خصوص مجازی سازی با KVM وجود دارد این است که در این محصول تمام منابع پردازشی که در اختیار کاربر داده میشود بصورت اختصاصی بوده و به کاربر دیگری اختصاص داده نخواهد شد به همین دلیل در KVM فروش Overselling یا فروش افراطی را شاهد نخواهیم بود ( توضیح overselling در این مقاله ). مجازی ساز KVM یک محصول اپن سورس بوده و اولین بار در سال 2006 معرفی گردید. از قابلتیهای نرم افزار مجازی سازی KVM میتوان به موارد زیر اشاره کرد :
- بهره گیری از SELinux و sVirt برای بالابردن امنیت و بحث isolation بین ماشین های مجازی
- پشتیبانی از live migration یا انتقال ماشین مجازی از یک هاست یه یک هاست دیگر
- پشتیبانی از استفاده از منابع پردازشی سیستم بصورت Overcommitting
- پشتیبانی از KSM یا Kernel Same-page Merging برای حذف صفحات حافظه تکراری و کاهش حافظه مصرفی