چند روز پیش مطلبی را با عنوان «مجازیسازی به زبان ساده» را نوشتم تا برسیم به این مطلب. این پست بیشتر بر روی آشنایی بر تکنولوژیها و ابزارهای اوپنسورس برای مجازی سازی در لینوکس تاکید دارد و مقدمهای است برای شروع علاقهمندان برای ورود به این حیطه. از مطالب بعدی سعی خواهد شد بیشتر در مورد مباحث فنیتر بنویسم و به قولی سعی خواهم کرد با هم بپریم توی استخر و شنا کردن را با هم یاد بگیریم…
مجازیسازی در لینوکس به صورت Full-Virtualization با استفاده از تمام توزیعها و نسخهها با استفاده از Hypervisor های KVM و Xen صورت میگیرد. هایپروایزر KVM یا به صورت کامل تر Kernel Virtual Machine از سال ۲۰۰۶ توسط شرکت ردهت و به صورت اوپنسورس پایهگذاری شده و تا به این لحظه توسط جمع کثیری از توسعهدهندگان و شرکتهای فعال در این زمینه در سراسر جهان توسعه داده میشود.
KVM هم به صورت Hosted Hypervisor بر روی تمام توزیعهای لینوکس و هم به صورت Bare Metal Hypervisor در قالب پروژههای oVirt Node و RHEV-H به صورت اوپنسورس و آزاد قابل نصب و راه اندازی است و مدیران می توانند با بهره گیری از کنترل منابع پویا (Dynamic Resource Control) ، همیشه در دست بودن (High Availability) و تکنولوژی Fault Tolerance (تحمل در برابر خطا)و ابزارهای Backup قوی تمام نیازهای خود را در اکوسیستم RHEV / oVirt و KVM رفع کنند.
معرفی oVirt به عنوان قدرتمندترین راهکار مجازیسازی در لینوکس:
oVirt یکی از قدرتمندترین پروژههای موجود اوپنسورس بر پایه KVM برای مجازی سازی شناخته میشود و در کنار VMware vSphere و Citrix XEN و Microsoft Hyper-V از پرچمداران این صنعت به شمار میرود. oVirt از جمله پروژههای اوپن سورسی است که توسط چندین شرکت فعال در این زمینه مثل IBM و Intel و Cisco و NetApp و Canonical و Novel به رهبری Red Hat توسعه و منتشر میشود.
همچنین oVirt پروژه upstream و بالادستی محصول RHEV یا Red Hat Enterprise Virtualization بوده که به صورت تجاری در اکوسیستم محصولات ردهت مورد استفاده قرار میگیرد و بعد از انتشار نهایی oVirt با اندکی تغییرات وارد محصول تجاری RHEV ردهت میشود.
ابزار و امکانات oVirt / RHEV :
پروژه oVirt / RHEV امکانات و ابزار متنوع و بسیاری برای ایجاد و راه اندازی یک محیط مجازی در تمام سطوح در اختیار مدیران سیستم و معماران مجازیسازی قرار میدهد، که در ادامه با تک تک آنها آشنا میشوید:
KVM به عنوان Hypervisor:
همانطور که گفته شد در مجموعه oVirt و RHEV هایپروایزر KVM به عنوان قلب تپنده این سیستم، کار مدیریت و اجرای ماشینهای مجازی را بر عهده دارد و همین امر باعث شده است به عنوان پرکاربردترین و محبوبترین Hypervisor اوپن سورس در بیشتر پروژههای مجازی سازی مورد استفاده قرار بگیرد.
ابزار اوپنسورس oVirt Engine و محصول تجاری RHEV-M :
در مجموعه oVirt / RHEV ابزار گرافیکی مدیریت ماشینهای مجازی و نگهداری این اکوسیستم مجازی برعهده oVirt Engine و RHEV-M میباشد. این ابزارها به صورت کاملا اوپنسورس توسعه داده میشود و به صورت تحت وب قابل نصب بر روی اکثر توزیعها و نسخهها لینوکس از قبیل RHEL و CentOS و Fedora و Debian و Ubuntu خواهد بود. این ابزار همانند VMware vCenter عمل میکند و قابلیت مدیریت چندین دیتاسنتر و سرورکلاستر و هاست را دارا میباشد.
ابزار اوپنسورس oVirt Node و محصول تجاری RHEV-H :
این دو ابزار به صورت Bare Metal Hypervisor عمل میکنند و در واقع یک توزیع لینوکس بسیار کوچک تغییریافته است که فقط برای مجازی سازی و مدیریت ماشینهای مجازی مورد استفاده قرار میگیرد و قابلیت دستکاری و تغییر با استفاده از Command Line را ندارد و برای کار با آن و مدیریت ماشینها باید از oVirt Engine و RHEV-M به آن متصل شد. عملکرد و کارایی oVirt-Node و RHEV-H همانند ESXi در مجموعه VMWare vSphere میباشد.
ابزار اوپنسورس Virt-View و محصول تجاری RHEV-D:
در مجازیسازی دسکتاپ که به جای استفاده یک سیستم کامپیوتری در ازای یک کاربر، تمام سیستمهای کامپیوتری را به صورت مجازی در یک سرور قویتر مجتمع میشود و با استفاده از یک Thin Client که روی آن یک سیستم عامل بسیار سبک نصب شده و یک مانیتور، با استفاده از ابزار Virt-Viewer و RHEV-D میتوان به دسکتاپهای مجازی برای هر کاربر در سرور مرکزی دسترسی پیدا کرد. این ابزار تنها برای پروژههای اجرایی دسکتاپ مجازی یا VDI – Virtual Desktop Infrastructure کاربرد دارد و برای مصارف و پیاده سازی سرورمجازی مورد استفاده قرار نمیگیرد.
پشتیبانی از Storage Server بر پایه NFS / iSCSI / FC :
یکی از استانداردهای معماری مجازیسازی استفاده از Storage Server برای نگهداری ایمیجهای ماشینهای مجازی ، خارج از سیستم Bare Metal Hypervisor است. این Storageها میتواند هم به صورت NAS و هم به صورت SAN باشند و با استفاده از فایل سیستم شبکهای مثل NFS و یا iSCSI وfiber channel به آن متصل شد. در مجموعه oVirt و RHEV این ویژگی به خوبی پیادهسازی شده و میتوان از یک Storage Server جهت پیاده سازی محیط مجازی با سرعت اتصال بالا جهت انتقال دادهها استفاده کرد.
ویژگی دستهبندی سرورها بر اساس Data Center و Cluster و One Host :
با استفاده از ابزارهای oVirt-Engine و RHEV-M قادر خواهید بود از یک سرور(One Host) تا چندین سرور در یک دیتاسنتر (Cluster) یا تمام سرورهای یک دیتاسنتر (Data Center ) رابه صورت سازماندهی شده و دستهبندی شده مدیریت و نگهداری کنید و برای هر سرور نیازی به نصب و راه اندازی یک Engine یا RHEV-M نخواهید داشت.
ویژگی گسترش اکوسیستم مجازی و Scalability:
یکی از ویژگیهای oVirt/RHEL این است که در صورت نیاز به اضافه کردن Node یا Cluster یا Data Center و به مجموعه های مدیریتی، این کار به راحتی قابل انجام است به راحتی چند کلیک با استفاده از oVirt-Engine یا RHEV-M وارد مجموعه کلاسترها یا دیتاسنترها خواهد شد و میتوان به صورت HA و قابلیت Failed Over یا به صورت سرور مجازا در سیستم قرار گیرد.
ویژگی همیشه در دسترس بودن یا High Availability :
در دسترس بودن همیشگی سرورها یک امر بدیهی در زمینه سرویس دهی در سطح اینترپرایز است که oVirt/RHEL این مورد را هم فراموش نکردهاند و این قابلیت را دارند که چند سرور و ماشین مجازی را به صورت HA در آورده تا در صورت Fail شدن و خارج شدن از دسترس یکی، دیگر سرویس همیشه در دسترس باشد و اختلالی در امر سرویس دهی به وجود نیاید.
ویژگی انتقال و مهاجرت زنده ماشینهای مجازی و Storage Server با Live Migration :
از دیگر قابلیتهای oVirt/RHEV این است که به راحتی و با رابط کاربری تحت وب خود ماشینهای مجازی را حتی در حالت روشن و بدون قطعی سرویس در آن ماشین مجازی از یک Node به یک Node دیگر انتقال داد و حتی Storage Server مورد استفاده برای نگهداری ایمیجهای ماشینهای مجازی به صورت لایو و روشن به یه Storage دیگر منتقل کرد. همه این نقل و انتقالات کاملا به صورت زنده و بالا بودن سرویس هر یک از ماشینهای مجازی صورت میگیرد و هیچگونه قطعی سرویسی احساس نمیشود.
ویژگی کنترل ترافیک ورودی و خروجی هر ماشین مجازی یا هر کلاستر یا هر دیتاسنتر با استفاده از Port Filtering :
تمامی ماشینهای مجازی، Nodeها، کلاسترها و مجموعه سرورها و همچنین تمام سرورهای یک دیتاسنتر را میتوان تمام ترافیک ورودی و خروجیشان را کنترل کرد و در صورت نیاز برای هریک محدودیت اعمال کرد.
ویژگی Live Snapshot برای بکاپگیری لحظهای از هر ماشین مجازی :
در مجازیسازی با oVirt/RHEV و با استفاده از رابطهای کاربری آنها، در صورت نیاز به بکاپگیری تا آن لحظه از تغییرات هر ماشین مجازی میتوانید به صورت زنده و روشن و بدون اختلال در سرویس از هر ماشین مجازی به صورت تکی و جمعی Snapshot گرفت و در هر لحظه آن را بر روی ماشین Restore کرد.
ویژگی بهینه سازی انرژی مصرفی یا Power Saving :
در oVirt/RHEL قابلیت بهینهسازی مصرف انرژی چه به صورت برق مستقیم و چه با استفاده از UPS و سایر منابع انرژی در نظر گرفته شده است و موقع ایجاد و راهاندازی ماشین مجازی میتوانید گزینههای مربوط به بهینهسازی مصرف انرژی را اعمال کنید.
ویژگی مانیتورینگ و گزارش دهی یا Monitoring and Reporting :
از دیگر موارد مهم و قابل ذکر oVirt/RHEV این است که با استفاده از رابط کاربری تحت وب شما قادر خواهید بود که به صورت لحظهای و به صورت بازهزمانی، گزارشی کامل از عملکرد ماشینهای مجازی و سرورها از قبیل uptime، میزان مصرف انرژی، میزان مصرف رم و پردازنده و هارددیسک و… به شما میدهد. همچنین این آمار با استفاده از Plugin های Third Party قابل گسترش به آمار بیشتر و پیشرفتهتر و همچنین هماهنگی با Nagios Core نیز میباشد.
ویژگی خروجی یا ورودی فرمت استاندارد مجازی سازی یا OVF Import/Export :
از ویژگیهای یک هایپرویزر استاندارد این است که خروجی استاندارد و قابل استفاده از ایمیج ماشینهای مجازی در اختیار مدیر سیستم قرار دهد تا سایر هایپروایزرها هم بتوانند از آن ماشین مجازی استفاده کند و همچنین بتواند خروجی استاندارد سایر هایپروایزرها را ایمپورت کند. Ovirt/RHEV با تبعیت از این استاندارد قادر است ماشینهای مجازی را به صورت OVF یا Open Virtualization Format هم ایمپورت هم اکسپورت کند.
ویژگی تبدیل سرور فیزیکی به مجازی یا تبدیل ماشینهای مجازی VMware/Citrix به KVM با V2V / P2V :
در مجموعه oVirt/RHEV با استفاده از ویژگیهای V2V قادر خواهید بود ماشینهای مجازی VMWare و XEN Citrix و Microsoft Hyper-V را به KVM تبدیل (کانورت) و با ابزار P2V سرورهای فیزیکی را به ماشین مجازی تبدیل کنید تا نیازی به نصب و راهاندازی سرویسها و سرورها از ابتدا نداشته باشید.
ویژگی دسکتاپ مجازی یا VDI بر پایه پروتکل اوپنسورس SPICE و RDP و VNC :
قابلیت دسکتاپ مجازی یا VDI را در oVirt/RHEV بر روی بستر KVM قبلا توضیح داده شد. دسکتاپ مجازی با استفاده از پروتکلهای RDP / VNC و علیالخصوص SPICE قابل مشاهده و کار کردن است و مواردی که VDI بر پایه KVM را از سایر مجازیسازها مانند VMWare متمایز میسازد سرعت بالاتر و کیفیت تصویر Full HD به همراه پشتیبانی از ۱ ، ۲ و ۴ مانیتور است که در سایر مجازیسازها دیده نمیشود.
ویژگی دسکتاپ مجازی بر پایه پروتکل SPICE با استفاده از افزونه فایرفاکس، HTML5 و نرم افزار Virt-Viwerer :
از دیگر ویژگیهای پروتکل SPICE بر روی oVirt/RHEV و KVM پشتیبانی از HTML5 است که تصاویر ارسالی از سرور VDI را به HTML5 رندر کرده و به صورت زنده قابل مشاهده بر روی مرورگرهای وب مثل Mozilla Firefox و Google Chrome است. همچنین دسکتاپ مجازی با استفاده از پلاگین SPICE بر روی مرورگر فایرفاکس و نرم افزار Virt-Viewer قابل مشاهده است که با این مجموعه میتوان یک بستر دسکتاپ مجازی برای بهینه کردن منابع مالی و سختافزاری بر اساس oVirt/RHEV و KVM ایجاد کرد.
ویژگی اختصاص سطوح دسترسی متفاوت به کاربران به سه سطح Administrator و Power User و User :
با استفاده از oVirt-Engine / RHEV-M مدیران سیستم قادر خواهند بود که ماشینهای مجازی خود را از طریق پورتال این مجموعه با سه سطح دسترسی Administrator وPower User و User مدیریت کنند.
ویژگی احراز هویت کاربران بر اساس OpenLDAP و Red Hat Directory Server و IPA و Active Directory :
هر سه سطح کاربری در oVirt-Engine / RHEV-M را میتوان با OpenLDAP، RHDS، IPA و Active Directory احراز هویت کرد و علاوه بر کاربران موجود در بانک اطلاعاتی پورتال oVirt/RHEV میتوان با کاربران موجود در این دایرکتوریها، کاربران درون این سامانه لاگین کنند.
مدیریت سرور و ماشینهای مجازی با استفاده از oVirt CLI به کمک محیط خط فرمان :
علاوه بر oVirt/RHEV مدیران سیستم قادر خواهند بود که با استفاده از CLI و خط فرمان به جای رابط کاربری تحت وب ماشینهای مجازی را مدیریت و نگهداری کنند. این مورد مواقعی کاربرد دارد که مدیر به محیط گرافیکی سیستم عامل خود و یا مرورگر وب خود دسترسی ندارد. CLI همچنین به واسطه Text Based بودنش سرعت بیشتری را در اختیار مدیران قرار میدهد.
پشتیبانی از Plugin برای افزودن ویژگیهای جدید به oVirt-Engine و RHEV-M :
oVirt/RHEV همچنین Plugin Based هستند و میتواند توسط شرکتهای تجاری همکار Red Hat و Third Party Developers پلاگینهای اضافه برای کاراییهای بیشتر توسط oVirt-Engine/RHEV-M توسعه و تولید شود.
نیازمندیهای سختافزاری:
حداقل سخت افزار مورد نیاز برای اجرای محیط مجازی سازی oVirt/RHEV به شرح زیر است:
اجرای oVirt-Engine / RHEV-M:
یک سیستم کامپیوتری دسکتاپ یا لپتاپ با حداقل ۱.۶ گیگاهرتز سیپییو و ۱ گیگابایت رم و ۲ گیگابایت هارددیسک
اجرای oVirt-Node / RHEV-H :
یک سرور فیزیکال با حداقل ۸۰۰ مگاهرتز سیپییو و ۵۱۲ مگابایت رم و ۲ گیگابایت هارددیسک
حداکثر سخت افزار مورد نیاز برای سرور جهت مجازی سازی با استفاده oVirt/RHEV :
یک عدد سرور با پشتیبانی از ۱۶۰ عدد سیپییو ( ۴۰۹۶ عدد سیپییو از نظر تئوری قابل پشتیبانی است ) و ۲ ترابایت رم (۶۴ ترابایت رم از نظر تئوری قابل پشتیبانی است)
حداکثر سخت افزار مجازی مورد نیاز برای هر ماشین مجازی با استفاده از oVirt/RHEV :
حداکثر ۶۴ عدد سیپییو مجازی یا vCPU و ۵۱۲ گیگابایت رم در ازای هر ماشین مجازی