OpenNebula چیست؟

OpenNebula یکی از نرم‌افزارهایِ مهم مدیریت، برای زیرساخت فضای ابری به منظور مدیریت دیتاسنترهای ناهمگون توزیع‌شده است.

OpenNebula که در دسته IaaS یا “زیرساخت به صورت سرویس” قرار می‌گیرد قادر است ابرهای خصوصی، عمومی و ترکیبی از این دو را ایجاد و مدیریت کند.

در واقع می‌توان گفت: دو کاربرد اصلی این پلتفرم، مجازی‌سازی دیتاسنتر و استقرار ابر براساس hypervisor kvm، کانتینرهای LXD و ماشین‌های مجازی سبُک، در تکنولوژی AWS Firecracker می‌باشد. همچنین می‌تواند بر روی زیرساخت‌های مربوط به vmware، زیرساخت‌هایی را برای یک ابر به‌وجود آورد.

opennebula

در حال حاضر آخرین نسخه این پلتفرم، 5.12 است که بیشتر بر روی پشتیبانی زیرساخت‌هایی با چندین هزار host فیزیکی، اجرای ده‌ها هزار ماشین مجازی، مستقر کردن HA(high-availability) و به کارگیری ماشین‌های مجازی سبُک و خدمات مبتنی بر کانتینر، متمرکز شده است.

این پلتفرم تحت دو نسخه Community و Enterprise توسعه داده شده که نسخه C، متن‌باز و تحت لیسانس نسخه 2 آپاچی و نسخه‌ی E، تجاری می‌باشد.

تاریخچه OpenNebula

OpenNebula در سال 2005 به صورت یک پروژه تحقیقاتی توسط Ignacio M. Llorente و Ruben S. Montero شروع شد. اولین انتشار این نرم‌افزار در سال 2008 به منظور مدیریت ماشین‌های مجازی بر روی زیرساخت‌های توزیع شده، اتفاق افتاد.

معماری OpenNebula

پلتفرم OpenNebula دارای چند اجزا یا کامپوننت پایه می‌باشد که در ادامه معرفی خواهند شد.

opennebula-architecture
  • Host یا ماشین‌های فیزیکی

ماشین‌های فیزیکی که hypervisor (نرم‌افزار، سخت‌افزار یا فریموری که ماشین‌های مجازی را ایجاد و اجرا می‌کنند) را پشتیبانی می‌کنند.

  • Template

تعریف ماشین مجازی که به آن base هم می‌گویند.

  • Virtual Machine

به نمونه‌های ایجاد شده از template اشاره دارد.

  • Cluster

مجموعه‌ای از ماشین‌های فیزیکی که میان آن‌ها منابع ذخیره‌سازی و شبکه به اشتراک گذاشته شده است.

  • Image

به دیسک‌های یک ماشین مجازی گفته می‌شود.

  • Virtual Network

گروهی از ipها که به طور اتوماتیک به vm(Virtual Machine)ها تخصیص داده می‌شود. این مورد شبکه‌‌‌های مجازی را ایجاد می‌کند تا vmها بتوانند با دنیای بیرون و بین خودشان ارتباط برقرار کنند. OpenNebula با یک virtual router appliance نیازهای شبکه خود را پاسخ می‌دهد.

همچنین معماری این پلتفرم موارد زیر را شامل می‌شود:

  • Front-end یا master node

ماشینی که تمام سرویس‌های مربوط به OpenNebula را، راه‌اندازی می‌کند. در واقع روی این ماشین OpenNebula نصب می‌شود. روی این ماشین سرویس‌هایی چون management daemon(oned)، scheduler(sched)، سرویس اینترفیس وب(Sunstone server) و … در حال اجرا می‌باشد. این سرویس‌ها مسئول صف، زمانبندی، و ارسال jobها به دیگر ماشین‌های کلاستر هستند. همچنین این ماشین، مکانیزم‌هایی را برای مدیریت کل سیستم فراهم می‌کند. این مکانیزم‌ها شامل اضافه کردن vm، مانیتور کردن وضعیت vm، میزبانی مخازن و انتقال vm می‌باشد. این سیستم یا ماشین باید مقیاس‌پذیری بالایی را داشته باشد که این تنها به عملکرد سرور محدود می‌شود.

  • Hypervisor enabled hosts یا worker node

نودهای کارگر(که Hypervisor را پشتیبانی می‌کنند) منابع محاسباتی مورد نیاز برای پردازشِ jobهای ارسال شده توسط ماشین(نود) مستر را فراهم می‌کنند. پلتفرم OpenNebula، Hypervisorهایی چون Vmware، Xen، KVM را پشتیبانی می‌کنند که پیش فرض آن KVM می‌باشد. به طور کلی vmها روی این نودهای کارگر اجرا می‌شوند و با میزبان تعامل می‌کنند تا اقدامات مورد نیاز نود مستر برآورده شود.

opennebula
  • Storage

منابع ذخیره‌سازی، imageهای مربوط به templateها را نگه می‌دارد. لذا این منابع ذخیره‌سازی برای نود مستر(front-end) باید قابل دسترس باشد. این دسترسی می‌تواند به طور مستقیم یا با استفاده از NAS، SAN باشد.

  • Physical network

شبکه‌های فیزیکی برای ارتباط بین سرورهای ذخیره‌سازی و ماشین‌های مجازی که در مکان‌های دور از هم قرار دارند، مورد استفاده قرار می‌گیرند. همچنین برای ارتباط بین نود مستر و نودهای کارگر(hosts) ضروری می‌باشد. در OpenNebula، حداقل دو شبکه فیزیکی، یکی service و دیگری instance مورد نیاز است. ماشین مستر از شبکه service برای دسترسی به نودهای کارگر و مدیریت و مانیتور hypervisorها و انتقال فایل‌های image استفاده می‌کند. شبکه instance، به vmها اجازه می‌دهد تا با یکدیگر و با ماشین‌های فیزیکی(نودهای کارگر) ارتباط برقرار کنند.

opennebula

به اشتراک بگذارید.

بیشتر بخوانیم

مقالات مرتبط

4.3/5 - (12 امتیاز)
1400-4-10 10:03:27 +00:00

ثبت ديدگاه

Go to Top