OpenNebula چیست؟
OpenNebula یکی از نرمافزارهایِ مهم مدیریت، برای زیرساخت فضای ابری به منظور مدیریت دیتاسنترهای ناهمگون توزیعشده است.
OpenNebula که در دسته IaaS یا “زیرساخت به صورت سرویس” قرار میگیرد قادر است ابرهای خصوصی، عمومی و ترکیبی از این دو را ایجاد و مدیریت کند.
در واقع میتوان گفت: دو کاربرد اصلی این پلتفرم، مجازیسازی دیتاسنتر و استقرار ابر براساس hypervisor kvm، کانتینرهای LXD و ماشینهای مجازی سبُک، در تکنولوژی AWS Firecracker میباشد. همچنین میتواند بر روی زیرساختهای مربوط به vmware، زیرساختهایی را برای یک ابر بهوجود آورد.
در حال حاضر آخرین نسخه این پلتفرم، 5.12 است که بیشتر بر روی پشتیبانی زیرساختهایی با چندین هزار host فیزیکی، اجرای دهها هزار ماشین مجازی، مستقر کردن HA(high-availability) و به کارگیری ماشینهای مجازی سبُک و خدمات مبتنی بر کانتینر، متمرکز شده است.
این پلتفرم تحت دو نسخه Community و Enterprise توسعه داده شده که نسخه C، متنباز و تحت لیسانس نسخه 2 آپاچی و نسخهی E، تجاری میباشد.
تاریخچه OpenNebula
OpenNebula در سال 2005 به صورت یک پروژه تحقیقاتی توسط Ignacio M. Llorente و Ruben S. Montero شروع شد. اولین انتشار این نرمافزار در سال 2008 به منظور مدیریت ماشینهای مجازی بر روی زیرساختهای توزیع شده، اتفاق افتاد.
معماری OpenNebula
- 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ها روی این نودهای کارگر اجرا میشوند و با میزبان تعامل میکنند تا اقدامات مورد نیاز نود مستر برآورده شود.
-
Storage
منابع ذخیرهسازی، imageهای مربوط به templateها را نگه میدارد. لذا این منابع ذخیرهسازی برای نود مستر(front-end) باید قابل دسترس باشد. این دسترسی میتواند به طور مستقیم یا با استفاده از NAS، SAN باشد.
-
Physical network
شبکههای فیزیکی برای ارتباط بین سرورهای ذخیرهسازی و ماشینهای مجازی که در مکانهای دور از هم قرار دارند، مورد استفاده قرار میگیرند. همچنین برای ارتباط بین نود مستر و نودهای کارگر(hosts) ضروری میباشد. در OpenNebula، حداقل دو شبکه فیزیکی، یکی service و دیگری instance مورد نیاز است. ماشین مستر از شبکه service برای دسترسی به نودهای کارگر و مدیریت و مانیتور hypervisorها و انتقال فایلهای image استفاده میکند. شبکه instance، به vmها اجازه میدهد تا با یکدیگر و با ماشینهای فیزیکی(نودهای کارگر) ارتباط برقرار کنند.
بیشتر بخوانیم
مقالات مرتبط
ثبت ديدگاه