c
‫ابر‬ ‫زیرساخت‬ ‫مدیریت‬
:‫محدوده‬
.‫گیرد‬ ‫می‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬ ‫ابر‬ ‫زیرساخت‬ ‫مدیریت‬ ‫برای‬ ‫موجود‬ ‫افزارهای‬‫نرم‬ ‫گزارش‬ ‫این‬ ‫در‬
‫تاریخچه‬:
‫ردیف‬‫نویسنده‬‫تاریخ‬‫ویرایش‬ ‫شماره‬‫توضیحات‬
۱
‫و‬ ‫فنی‬ ‫توسعه‬ ‫و‬ ‫تحقیق‬
‫مهندسی‬
۹۳/۰۴/۲۵۲.۰.۱
۲
.‫دارد‬ ‫تعلق‬ ‫نوین‬ ‫داده‬ ‫پویش‬ ‫شبکه‬ ‫مهندسی‬ ‫شرکت‬ ‫به‬ ‫مستند‬ ‫این‬ ‫معنوی‬ ‫و‬ ‫مادی‬ ‫حقوق‬ ‫کلیه‬
‫مندرجات‬ ‫فهرست‬
‫چکیده‬ -.......................................................................................................................................................................................................۴
‫ها‬ ‫واژه‬ ‫کلید‬ -..............................................................................................................................................................................................۴
۱‫مقدمه‬ -.....................................................................................................................................................................................................۵
۲-OpenStack...........................................................................................................................................................................................۷
۲.۱‫معرفی‬ -...............................................................................................................................................................................................................۷
۲.۲‫های‬‫مؤلفه‬ -OpenStack...................................................................................................................................................................................۸
۲.۳‫ی‬‫هسته‬ -OpenStack......................................................................................................................................................................................۹
۲.۳.۱‫اصلی‬ ‫های‬‫مؤلفه‬ ‫معرفی‬ -OpenStack[3]...............................................................................................................................................................۱۰
۲.۳.۲‫های‬‫مؤلفه‬ ‫های‬‫رابط‬ -OpenStack............................................................................................................................................................................۱۲
۲.۴‫سازی‬‫پیاده‬ ‫معماری‬ -OpenStack[3]..........................................................................................................................................................۱۵
۳‫اوکالیپتوس‬ -..........................................................................................................................................................................................۱۷
۳.۱‫اوکالیپتوس‬ ‫های‬‫مؤلفه‬ -...................................................................................................................................................................................۱۷
۴-OpenNebula.....................................................................................................................................................................................۱۹
۴.۱-Cloud Interfaces......................................................................................................................................................................................۲۰
۴.۲-Systems Interfaces..................................................................................................................................................................................۲۰
۵‫منابع‬ -.....................................................................................................................................................................................................۲۲
‫تصاویر‬ ‫فهرست‬
‫تصویر‬۱........................................................................................................................................................................................................۷
‫تصویر‬۲‫اصلی‬ ‫های‬‫مؤلفه‬ :openstack......................................................................................................................................................۹
‫تصویر‬۳‫معماری‬ :Three-Node............................................................................................................................................................۱۶
‫تصویر‬۴‫اوکالیپتوس‬ ‫های‬‫مؤلفه‬ :...............................................................................................................................................................۱۷
‫تصویر‬۵‫معماری‬ ‫و‬ ‫ها‬‫رابط‬ :OpenNebula............................................................................................................................................۱۹
‫جداول‬ ‫فهرست‬
‫جدول‬۱‫ی‬‫هسته‬ ‫اجزای‬ :OpenStack....................................................................................................................................................۱۰
۲
‫جدول‬۲‫متدهای‬ :HTTP........................................................................................................................................................................۱۳
‫جدول‬۳‫اوکالیپتوس‬ ‫های‬‫مؤلفه‬ ‫معرفی‬ :...................................................................................................................................................۱۸
‫ضمائم‬ ‫فهرست‬
۳
‫چکیده‬
‫مشخصه‬‌‫زیرساخت‬ ‫ساختن‬ ‫فراهم‬ ،‫ابری‬ ‫رایانش‬ ‫اصلی‬ ‫ی‬IT‫به‬ ‫سرویس‬ ‫یک‬ ‫شکل‬ ‫به‬ ‫آن‬ ‫کاربردهای‬ ‫و‬
‫می‬ ‫پذیر‬‫توسعه‬ ‫طریقی‬‌‫باشد‬‫این‬ ‫در‬ .‫اند‬‫شده‬ ‫سازی‬‫پیاده‬ ‫و‬ ‫طراحی‬ ‫منظور‬ ‫این‬ ‫برای‬ ‫افزارهایی‬‫نرم‬ ‫.تاکنون‬
‫داریم‬ ‫قصد‬ ‫گزارش‬‫سه‬‫را‬ ‫ا‬‫ه‬‫آن‬ ‫اری‬‫معم‬ ‫و‬ ‫سازنده‬ ‫های‬‫مؤلفه‬ ‫و‬ ‫کنیم‬ ‫معرفی‬ ‫را‬ ‫افزارها‬‫نرم‬ ‫این‬ ‫از‬ ‫مورد‬
.‫دهیم‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬
‫ها‬ ‫واژه‬ ‫کلید‬
Cloud Computing , OpenStack،‫اوکالیپتوس‬ ,OpenNebula
۴
۱‫مقدمه‬
‫ای‬‫مجموعه‬ ‫به‬ ‫شبکه‬ ‫طریق‬ ‫از‬ ‫کاربر‬ ‫تقاضای‬ ‫اساس‬ ‫بر‬ ‫آسان‬ ‫دسترسی‬ ‫کردن‬ ‫فراهم‬ ‫برای‬ ‫است‬ ‫مدلی‬ ‫ابری‬ ‫رایانش‬
‫ای‬GG‫فض‬ ،‫رورها‬GG‫س‬ ،‫ها‬‫بکه‬G‫ش‬ :‫ل‬GG‫)مث‬ ‫دی‬GG‫پیکربن‬ ‫و‬ ‫ر‬GG‫تغیی‬ ‫قابل‬ ‫رایانشی‬ ‫منابع‬ ‫از‬‫و‬ ‫اربردی‬G‫ک‬ ‫ای‬GG‫ه‬‫برنامه‬ ،‫ازی‬GG‫س‬‫ذخیره‬
‫سرویس‬ ‫کننده‬‫فراهم‬ ‫مستقیم‬ ‫دخالت‬ ‫به‬ ‫نیاز‬ ‫یا‬ ‫و‬ ‫منابع‬ ‫مدیریت‬ ‫به‬ ‫نیاز‬ ‫کمترین‬ ‫با‬ ‫بتواند‬ ‫دسترسی‬ ‫این‬ ‫که‬ (‫ها‬‫سرویس‬
.‫گردد‬ (‫)رها‬ ‫آزاد‬ ‫یا‬ ‫شده‬ ‫فراهم‬ ‫سرعت‬ ‫به‬
‫دهه‬ ‫به‬ ‫ابری‬ ‫رایانش‬ ‫اساسی‬ ‫مفاهیم‬ ‫پیدایش‬۱۹۶۰‫ه‬G‫ک‬ ‫ت‬G‫داش‬ ‫ار‬G‫اظه‬ ‫ارتی‬G‫ک‬ ‫ک‬G‫م‬ ‫جان‬ ‫که‬ ‫زمانی‬ .‫گردد‬ ‫بازمی‬
‫از‬ ‫ه‬GG‫گرفت‬ ‫ر‬GG‫ب‬ ‫ع‬GG‫واق‬ ‫در‬ ‫ر‬GG‫اب‬ ]‫ه‬‫ود«.واژ‬GG‫ش‬ ‫ازماندهی‬GG‫س‬ ‫انی‬GG‫همگ‬ ‫نایع‬GG‫ص‬ ‫از‬ ‫ی‬GG‫یک‬ ‫عنوان‬ ‫به‬ ‫روزی‬ ‫است‬ ‫ممکن‬ ‫»رایانش‬
‫ه‬GG‫ده‬ ‫ا‬GG‫ت‬ ‫ه‬GG‫ک‬ ‫دور‬ ‫راه‬ ‫ارتباطات‬ ‫های‬‫کمپانی‬ ‫که‬ ‫گونه‬ ‫این‬ ‫به‬ ‫است‬ ‫تلفن‬ ‫صنعت‬۱۹۹۰]‫ه‬GG‫نقط‬ ‫ه‬GG‫ب‬ ‫ه‬GG‫نقط‬ ‫وط‬GG‫خط‬ ‫ا‬GG‫تنه‬
‫اد‬GG‫نم‬ .‫نمودند‬ ‫کمتر‬ ‫قیمتهای‬ ‫و‬ ‫مشابه‬ ‫کیفیتی‬ ‫با‬ ‫مجازی‬ ‫خصوصی‬ ‫های‬‫شبکه‬ ‫ارائه‬ ‫به‬ ‫شروع‬ ،‫کردند‬‫می‬ ‫ارائه‬ ‫اختصاصی‬
‫عرضه‬ ‫مسئولیت‬ ‫حیطه‬ ‫در‬ ‫که‬ ‫آنهایی‬ ‫و‬ ‫کاربرند‬ ‫مسئولیت‬ ‫حیطه‬ ‫در‬ ‫که‬ ‫هایی‬ ‫بخش‬ ‫بین‬ ‫مرزی‬ ‫نقطه‬ ‫نمایش‬ ‫برای‬ ‫ابر‬
‫ر‬GG‫برزی‬ ‫علوه‬ ‫ز‬GG‫نی‬ ‫را‬ ‫رورها‬GG‫س‬ ‫دکه‬GG‫ده‬‫می‬ ‫ترش‬GG‫گس‬ ‫ای‬‫گونه‬ ‫به‬ ‫را‬ ‫ابر‬ ‫مفهوم‬ ‫ابری‬ ‫رایانش‬ .‫شد‬‫می‬ ‫گرفته‬ ‫بکار‬ ‫کننده‬
.‫گیرد‬ ‫بر‬ ‫در‬ ‫شبکه‬ ‫های‬‫ساخت‬
‫سال‬ ‫اواسط‬ ‫در‬۲۰۰۸‫بین‬ ‫ارتباط‬ ‫دهی‬ ‫»شکل‬ ‫برای‬ ‫که‬ ‫شد‬ ‫ابری‬ ‫رایانش‬ ‫در‬ ‫موقعیتی‬ ‫وجود‬ ‫متوجه‬ ‫گارتنر‬ ‫شرکت‬
‫ها‬GG‫سرویس‬ ‫این‬ ‫که‬ ‫آنها‬ ‫و‬ ‫کنند‬‫می‬ ‫مصرف‬ ‫را‬ ‫سرویسها‬ ‫این‬ ‫که‬ ‫آنهایی‬ ‫بین‬ ،‫اطلعات‬ ‫فناوری‬ ‫خدمات‬ ‫کنندگان‬ ‫مصرف‬
.‫آید‬‫می‬ ‫بوجود‬ «‫فروشند‬‫می‬ ‫را‬
» ‫یا‬ ‫ابری‬ ‫زیرساخت‬ ‫های‬‫سرویس‬‫سرویس‬ ‫عنوان‬ ‫به‬ ‫زیرساخت‬۱
‫تر‬GG‫بس‬ ‫ک‬GG‫ی‬ q‫ا‬GG‫عموم‬ ‫ه‬GG‫ک‬ ‫را‬ ‫ای‬‫انه‬GG‫رای‬ ‫زیرساخت‬ «
‫داده‬ ‫ز‬GG‫مرک‬ ‫فضای‬ ‫و‬ ‫افزار‬‫نرم‬ ‫و‬ ‫افزار‬‫سخت‬ ‫خرید‬ ‫جای‬ ‫به‬ ‫کاربران‬ .‫دهند‬‫می‬ ‫ارائه‬ ‫سرویس‬ ‫صورت‬ ‫به‬ ‫را‬ ‫است‬ ‫مجازی‬
‫برونسپاری‬ q‫ل‬‫کام‬ ‫سرویس‬ ‫یک‬ ‫صورت‬ ‫به‬ ‫را‬ ‫ها‬‫ساخت‬ ‫زیر‬ ‫این‬ ]‫ه‬‫هم‬ ،‫شبکه‬ ‫تجهیزات‬ ‫ویا‬ (‫سنتر‬ ‫)دیتا‬۲
.‫خرند‬‫می‬ ‫شده‬
‫مانند‬ ‫افزارهایی‬‫نرم‬ ‫ابری‬ ‫زیرساخت‬ ‫های‬‫سرویس‬ ‫مدیریت‬ ‫برای‬OpenStack , CloudStack‫و‬ ‫اوکالیپتوس‬ ،…
1 IaaS
2 Outsource
۵
‫افزارهای‬‫نرم‬ ‫از‬ ‫مورد‬ ‫دو‬ ‫داریم‬ ‫قصد‬ ‫گزارش‬ ‫این‬ ‫اند.در‬ ‫شده‬ ‫داده‬ ‫توسعه‬IaaS.‫دهیم‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬ ‫را‬
Openstack‫شرکت‬ ‫توسط‬ ‫که‬ ‫ست‬‫ابری‬ ‫عامل‬ ‫سیستم‬ ‫یک‬RedHat.‫است‬ ‫شده‬ ‫داده‬ ‫توسعه‬OpenStack‫فراهم‬ ‫با‬
‫و‬ ‫ترل‬GG‫کن‬ ‫را‬ ‫ود‬GG‫خ‬ ‫ابع‬GG‫من‬ ‫راحتی‬ ‫به‬ ‫تا‬ ‫دهد‬‫می‬ ‫ها‬‫شرکت‬ ‫و‬ ‫کاربران‬ ‫به‬ ‫را‬ ‫امکان‬ ‫این‬ ‫ابزارها‬ ‫از‬ ‫کامل‬ ‫ای‬‫مجموعه‬ ‫کردن‬
‫معرفی‬ ‫کامل‬ ‫صورت‬ ‫به‬ ‫را‬ ‫عامل‬ ‫سیستم‬ ‫این‬ ‫ادامه‬ ‫کنند.در‬ ‫مدیریت‬‫کنیم‬‫می‬‫رار‬GG‫ق‬ ‫بررسی‬ ‫مورد‬ ‫را‬ ‫آن‬ ‫را‬ ‫های‬‫مؤلفه‬ ‫و‬
.‫دهیم‬‫می‬
‫ه‬GG‫ک‬ ‫ت‬GG‫اس‬ ‫وکس‬GG‫لین‬ ‫ر‬GG‫ب‬ ‫ی‬GG‫مبتن‬ ‫افزاری‬‫نرم‬ ‫اوکالیپتوس‬ .‫پردازیم‬‫می‬ ‫اوکالیپتوس‬ ‫افزار‬‫نرم‬ ‫معرفی‬ ‫به‬ ‫دوم‬ ‫بخش‬ ‫در‬
‫سازی‬‫پیاده‬ ‫موجود‬ ‫های‬‫زیرساخت‬ ‫روی‬ ‫بر‬ ‫را‬ ‫ترکیبی‬ ‫و‬ ‫خصوصی‬ ‫ابرهای‬.‫کند‬‫می‬
‫د‬‫افزار‬‫نرم‬ ‫سوم‬ ‫بخش‬ ‫ر‬OpenNebula.‫دهیم‬‫می‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬ ‫را‬ ‫آنرا‬ ‫های‬‫رابط‬ ‫و‬ ‫کنیم‬‫می‬ ‫معرفی‬ ‫را‬
۶
۲OpenStack
۲.۱‫معرفی‬
Openstack‫ابری‬ ‫ل‬GGGG‫عام‬ ‫تم‬GGGG‫سیس‬ ‫ک‬GGGG‫ی‬۳
.‫ت‬GGGG‫س‬openstack‫نتر‬GGGGG‫دیتاس‬ ‫ک‬GGGG‫ی‬ ‫ابع‬GGGGG‫من‬ ‫ترل‬GGGG‫کن‬–
.‫رد‬G‫دا‬ ‫ده‬GGGGGGGGGGGG‫عه‬ ‫ر‬GGGGGGGGGGG‫ب‬G‫را‬ ‫بکه‬GGGGGGGGGGGG‫ش‬ G‫و‬ ‫ازی‬GGGGGGGGGGG‫س‬ ‫باتی،ذخیره‬GGGGGGGGGGGGGGGGGGGGGGGG‫محاس‬–
‫داشبورد‬ ‫یک‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫منابع‬ ‫این‬ ‫کنترل‬۴
‫ه‬GG‫ب‬ ‫وب‬ ‫ر‬GG‫ب‬ ‫ی‬GG‫مبتن‬ ‫محیط‬ ‫یک‬ ‫کردن‬ ‫فراهم‬ ‫با‬ ‫شود.داشبورد‬‫می‬ ‫مدیریت‬
‫اجزاء‬ ‫با‬ ‫تا‬ ‫دهد‬‫می‬ ‫اجازه‬ ‫کاربران‬ ‫و‬ ‫مدیران‬openstack.‫باشند‬ ‫ارتباط‬ ‫در‬]۱[
‫ی‬‫پروژه‬ ‫هدف‬openstack‫ات‬GG‫امکان‬ ‫از‬ ‫ی‬GG‫غن‬ ‫ای‬‫مجموعه‬ ‫سازی‬‫فراهم‬ ‫و‬ ‫گسترده‬ ‫پذیری‬‫مقیاس‬ ،‫آسان‬ ‫سازی‬‫پیاده‬ ،
.‫باشد‬‫می‬
3 Cloud Opreating System
4 Horizon
۷
‫تصویر‬۱
۲.۲‫های‬‫مؤلفه‬
۵
OpenStack
OpenStack: ‫است‬ ‫شده‬ ‫تشکیل‬ ‫مؤلفه‬ ‫زیادی‬ ‫تعداد‬ ‫از‬]۲[
• trove
• nova
• glance
• ironic
• designate
• oslo-incubator
• governance
• ...
• cliff
• gantt
• keystone
• taskflow
• cinder
• swift
• python-keystonclientsite
• shara
OpenStack‫باز‬‫متن‬ ‫ای‬‫پروژه‬۶
‫جدیدی‬ ‫ویژگی‬ ‫و‬ ‫مؤلفه‬ ‫خود‬ ‫نیاز‬ ‫اساس‬ ‫بر‬ ‫تواند‬‫می‬ ‫هرکسی‬ ‫دلیل‬ ‫همین‬ ‫به‬ ،‫است‬
.‫کند‬ ‫اضافه‬ ‫آن‬ ‫به‬‫طور‬‫همان‬‫کنید‬‫می‬ ‫مشاهده‬ ‫بال‬ ‫لیست‬ ‫در‬ ‫که‬OpenStack‫از‬‫های‬‫مؤلفه‬‫ده‬GG‫ش‬ ‫تشکیل‬ ‫زیادی‬ ‫بسیار‬
‫هسته‬ ‫اما‬ ‫است‬۷
‫شامل‬ ‫آن‬ ‫اصلی‬۹‫ها‬‫مؤلفه‬ ‫این‬ ‫بررسی‬ ‫و‬ ‫معرفی‬ ‫به‬ ‫ادامه‬ ‫در‬ .‫باشد‬‫می‬ ‫مؤلفه‬‫پردازیم‬‫می‬.
5 Components
6 Open Source
7 Core
۸
۲.۳‫ی‬‫هسته‬OpenStack
‫مختلف‬ ‫های‬‫سرویس‬ ‫بین‬ ‫تعاملت‬ ‫زیادی‬ ‫تعداد‬ ‫شامل‬ ‫مجازی‬ ‫ماشین‬ ‫یک‬ ‫اندازی‬ ‫راه‬openstack‫باشد.نمودار‬‫می‬
‫مختلف‬ ‫های‬‫مؤلفه‬ ‫بین‬ ‫تعامل‬ ‫و‬ ‫ارتباط‬ ‫زیر‬openstack.‫دهد‬‫می‬ ‫نمایش‬ ‫را‬
‫مشاهده‬ ‫بال‬ ‫نمودار‬ ‫در‬ ‫که‬ ‫طور‬‫همان‬‫کنید‬‫می‬‫اصلی‬ ‫هسته‬openstack‫شامل‬۹‫این‬ ‫ی‬‫توسعه‬ ‫برای‬ .‫باشد‬ ‫می‬ ‫مؤلفه‬
‫این‬ ‫بررسی‬ ‫به‬ ‫ادامه‬ ‫است.در‬ ‫شده‬ ‫استفاده‬ ‫پایتون‬ ‫نویسی‬‫برنامه‬ ‫زبان‬ ‫از‬ ‫ها‬‫مؤلفه‬۹:‫پردازیم‬ ‫می‬ ‫مؤلفه‬
۹
‫تصویر‬۲‫اصلی‬ ‫های‬‫مؤلفه‬ :openstack
۲.۳.۱‫اصلی‬ ‫های‬‫مؤلفه‬ ‫معرفی‬OpenStack]۳[
‫جدول‬۱‫ی‬‫هسته‬ ‫اجزای‬ :OpenStack
‫سرویس‬‫پروژه‬ ‫نام‬‫توضیحات‬
ComputeNova
Nova‫محاسباتی‬ ‫پروژه‬ ‫نام‬ ،۸
OpenStack.‫است‬Nova‫سیستم‬ ‫یک‬ ‫اصلی‬ ‫قسمت‬IaaS‫باشد‬‫می‬
‫از‬ ‫استفاده‬ ‫با‬ ‫توانند‬‫می‬ ‫ها‬‫شرکت‬ ‫و‬ ‫افراد‬ .‫دارد‬ ‫برعهده‬ ‫را‬ ‫ابری‬ ‫محاسبات‬ ‫کنترل‬ ‫ی‬‫وظیفه‬ ‫که‬
Nova.‫کنند‬ ‫هاست‬ ‫و‬ ‫مدیریت‬ ‫را‬ ‫را‬ ‫خود‬ ‫ابری‬ ‫محاسباتی‬ ‫های‬‫سیستم‬
‫ی‬‫وظیفه‬Nova‫محیط‬ ‫در‬ ‫مجازی‬ ‫های‬‫ماشین‬ ‫زندگی‬ ‫ی‬‫چرخه‬ ‫مدیریت‬openstack.‫باشد‬‫می‬
‫آوردن‬ ‫وجود‬ ‫به‬ ‫مسئولیت‬۹
‫زمانبدی‬ ،۱۰
‫انهدام‬ ‫و‬۱۱
.‫دارد‬ ‫برعهده‬ ‫را‬ ‫مجازی‬ ‫ماشین‬
NetworkingNeutron
‫های‬‫مؤلفه‬ ‫دیگر‬ ‫برای‬ ‫را‬ ‫شبکه‬ ‫های‬ ‫قابلیت‬OpenStack‫تا‬ ‫کند‬‫می‬ ‫کمک‬ ‫پروژه‬ ‫کند.این‬‫می‬ ‫فراهم‬
‫های‬‫مؤلفه‬ ‫از‬ ‫یک‬ ‫هر‬ ‫شود‬ ‫حاصل‬ ‫اطمینان‬OpenStack.‫کنند‬ ‫برقرار‬ ‫ارتباط‬ ‫هم‬ ‫با‬ ‫توانند‬‫می‬
DashboardHorizon
Horizon‫های‬‫سرویس‬ ‫تمامی‬ ‫با‬ ‫پروژه‬ ‫این‬ .‫است‬ ‫وب‬ ‫بر‬ ‫مبتی‬ ‫کاربری‬ ‫رابط‬ ‫یک‬openstack‫در‬
‫اختصاص‬ ،‫مجازی‬ ‫ماشین‬ ‫یک‬ ‫اجرای‬ ‫مانند‬ ‫امکاناتی‬ ‫و‬ ‫است‬ ‫ارتباط‬IP addresses‫تنظیم‬ ‫و‬
‫دسترسی‬ ‫کنترل‬۱۲
.‫دارد‬ ‫عهده‬ ‫بر‬ ‫را‬
‫طراحی‬ ‫و‬ ‫توسعه‬ ‫برای‬۱۳
‫های‬‫ورک‬‫فریم‬ ‫از‬Django‫و‬Bootstrap.‫است‬ ‫شده‬ ‫استفاده‬
Image
Service
Glance
‫کردن‬ ‫پیدا‬ ‫برای‬ ‫هایی‬ ‫سرویس‬ ‫پروژه‬ ‫این‬۱۴
‫کردن‬ ‫ثبت‬ ،۱۵
‫بازگردانی‬ ‫و‬۱۶
‫تصاویر‬۱۷
‫های‬‫ماشین‬
‫از‬ ‫استفاده‬ ‫کند.با‬‫می‬ ‫فراهم‬ ‫مجازی‬RESTful API‫گزارش‬ ‫توان‬‫می‬۱۸
‫شامل‬ ‫که‬ ‫کرد‬ ‫تهیه‬ ‫هایی‬
‫مختلفی‬ ‫های‬‫صورت‬ ‫به‬ ‫توان‬‫می‬ ‫را‬ ‫تصاویر‬ .‫هستند‬ ‫مجازی‬ ‫ماشین‬ ‫تصاویر‬ ‫مورد‬ ‫در‬ ‫هایی‬ ‫متاداده‬
‫از‬ ‫استفاده‬ ‫با‬ ‫یا‬ ‫سیستمی‬ ‫فایل‬ ‫-یک‬Swift.‫کرد‬ ‫سازی‬ ‫ذخیره‬
TelemetryCeilometer
‫های‬‫سرویس‬ ‫تمامی‬ ‫برای‬ ‫مدیریت‬ ‫و‬ ‫حسابداری‬ ‫سیستم‬ ‫سازی‬‫پیاده‬ ‫پروژه‬ ‫این‬ ‫هدف‬openstack
.‫باشد‬‫می‬
IdentityKeystone‫هویت‬ ‫احزار‬ ‫سرویس‬۱۹
‫مجوز‬ ‫و‬۲۰
‫دیگر‬ ‫های‬ ‫سرویس‬ ‫برای‬OpenStack.‫کند‬ ‫می‬ ‫فراهم‬
8 Compute
9 Spawning
10 Scheduling
11 Decommissioning
12 Access Control
13 Develop & Design
14 Discovering
15 Registering
16 Retrieving
17 Images
18 Query
19 Authentication
20 Authorization
۱۰
Service
OrchestrationHeat
‫دهندگان‬ ‫توسعه‬ ‫به‬ ‫پروژه‬ ‫این‬۲۱
‫افزار‬‫نرم‬ ‫یک‬ ‫به‬ ‫مربوط‬ ‫های‬ ‫نیازمندی‬ ‫تا‬ ‫دهد‬‫می‬ ‫را‬ ‫امکان‬ ‫این‬
‫نیاز‬ ‫مورد‬ ‫افزار‬‫نرم‬ ‫آن‬ ‫برای‬ ‫منابعی‬ ‫چه‬ ‫کنند‬ ‫مشخص‬ ‫و‬ ‫کنند‬ ‫سازی‬ ‫ذخیره‬ ‫فایل‬ ‫یک‬ ‫در‬ ‫را‬ ‫ابری‬
‫تا‬ ‫کند‬‫می‬ ‫کمک‬ ‫صورت‬ ‫بدین‬ ‫است‬infrastructure‫مدیریت‬ ‫افزار‬‫نرم‬ ‫اجرای‬ ‫برای‬ ‫نیاز‬ ‫مورد‬
.‫شود‬
Block
Storage
Cinder‫بلوک‬ ‫سازی‬ ‫دخیره‬ ‫سرویس‬۲۲
‫برای‬ ‫را‬OpenStack.‫کند‬‫می‬ ‫فراهم‬
Object
Storage
Swift
Swift‫برای‬ ‫مخرنی‬object/blob.‫باشد‬‫می‬ ‫سازگار‬ ‫و‬ ‫شده‬ ‫توزیع‬ ،‫دسترس‬ ‫در‬ ‫بسیار‬ ‫که‬ ‫است‬
‫و‬ ‫امن‬ ،‫کارآمد‬ ‫صورت‬ ‫به‬ ‫را‬ ‫اطلعات‬ ‫از‬ ‫زیادی‬ ‫مقدار‬ ‫آن‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫توانند‬‫می‬ ‫ها‬‫شرکت‬ ‫و‬ ‫افراد‬
.‫کنند‬ ‫سازی‬‫دخیره‬ ‫ارزان‬
Block
Storage
Cinder‫بلوک‬ ‫سازی‬ ‫دخیره‬ ‫سرویس‬۲۳
‫برای‬ ‫را‬OpenStack.‫کند‬‫می‬ ‫فراهم‬
‫این‬ ‫از‬ ‫هرکدام‬ ‫برای‬۹‫نویسی‬‫برنامه‬ ‫کاربردی‬ ‫رابط‬ ‫یک‬ ‫اصلی‬ ‫ی‬‫مؤلفه‬۲۴
‫را‬ ‫ان‬GG‫امک‬ ‫ط‬GG‫راب‬ ‫ن‬GG‫ای‬ .‫ت‬GG‫اس‬ ‫شده‬ ‫تعریف‬
‫ورت‬GG‫ص‬ ‫ه‬GG‫ب‬ ‫ا‬GG‫ه‬‫رابط‬ ‫ن‬GG‫ای‬ .‫ند‬GG‫باش‬ ‫اط‬GG‫ارتب‬ ‫در‬ ‫دیگر‬GG‫یک‬ ‫ا‬GG‫ب‬ ‫راحتی‬ ‫به‬ ‫ها‬‫مؤلفه‬ ‫تمامی‬ ‫تا‬ ‫دهد‬‫می‬RESTful‫ازی‬GG‫س‬‫پیاده‬
‫تعریف‬ ‫به‬ ‫ادامه‬ ‫اند.در‬‫شده‬RESTful API‫ای‬GG‫ه‬‫مؤلفه‬ ‫ای‬GG‫ه‬‫رابط‬ ‫و‬ ‫پردازیم‬‫می‬OpenStack‫رار‬GG‫ق‬ ‫ی‬GG‫بررس‬ ‫ورد‬GG‫م‬ ‫را‬
.‫دهیم‬‫می‬
21 Developers
22 Block Storage
23 Block Storage
24 API
۱۱
۲.۳.۲‫های‬‫مؤلفه‬ ‫های‬‫رابط‬OpenStack
‫های‬‫رابط‬ ‫شود‬ ‫گفته‬ ‫که‬ ‫طور‬‫همان‬OpenStack‫صورت‬ ‫به‬RESTful‫سازی‬‫پیاده‬‫ا‬GG‫ه‬‫رابط‬ ‫این‬ ‫ابتدا‬ ‫در‬ ‫اند.پس‬‫شده‬
‫ویژگی‬ ‫و‬ ‫تعریف‬ ‫را‬‫ها‬‫آن‬.‫دهیم‬‫می‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬ ‫را‬
REST
۲۵
‫چیست؟‬
REST‫انتزاعی‬۲۶
،‫تر‬‫دقیق‬ ‫طور‬ ‫به‬ .‫است‬ ‫وب‬ ‫جهانی‬ ‫شبکه‬ ‫معماری‬ ‫از‬REST‫کل‬GG‫متش‬ ‫که‬ ‫ست‬‫معماری‬ ‫سبک‬ ‫یک‬
‫ک‬GG‫ی‬ ‫درون‬ ‫داده‬ ‫ر‬GG‫عناص‬ ‫و‬ ‫ها‬‫دهنده‬‫ال‬GG‫اتص‬ ،‫ا‬GG‫ه‬‫مؤلفه‬ ‫به‬ ‫شده‬‫اعمال‬ ‫معماری‬ ‫های‬‫محدودیت‬ ‫از‬ ‫هماهنگ‬ ‫ای‬‫مجموعه‬ ‫از‬
.‫است‬ ‫شده‬‫توزیع‬ ‫سیستم‬REST‫از‬ ‫ا‬GG‫ه‬‫مؤلفه‬ ‫ل‬GG‫تعام‬ ‫هنگام‬ ‫موجود‬ ‫های‬‫محدودیت‬ ‫و‬ ‫ها‬‫مؤلفه‬ ‫نقش‬ ‫بر‬ ‫تمرکز‬ ‫منظور‬ ‫به‬
‫ها‬‫مؤلفه‬ ‫سازی‬‫پیاده‬ ‫جزئیات‬‫سینتکس‬ ‫و‬۲۷
‫کن‬‫می‬ ‫پوشی‬‫چشم‬ ‫ها‬‫پروتکل‬.‫د‬]۴[
‫سیستم‬ ‫یک‬ ‫های‬‫ویژگی‬REST:‫شود‬‫می‬ ‫تعریف‬ ‫قاعده‬ ‫شش‬ ‫توسط‬]۵[
۱.‫کلینت‬–‫سرور‬28
.‫باشد‬
۲.‫حالت‬ ‫بدون‬29
.‫باشد‬
۳.‫قابلیت‬cache.‫باشد‬ ‫داشته‬30
۴.‫بندی‬‫لیه‬ ‫سیستم‬31
.‫باشد‬ ‫داشته‬ ‫شده‬
۵.‫یکنواخت‬ ‫واسط‬32
.‫باشد‬ ‫داشته‬
۶..‫باشد‬ ‫نیاز‬ ‫صورت‬ ‫در‬ ‫کد‬ ‫قابلیت‬ ‫دارای‬33
25 Representational State Transfer
26 Abstraction
27 Syntax
28 Clinet - Server
29 Stateless
30 Cacheable
31 Layered System
32 Unifrom Interface
33 Code on Demand
۱۲
‫معماری‬REST‫ل‬GG‫پروتک‬ ‫از‬ ‫ه‬GG‫ک‬ ‫ت‬GG‫اس‬ ‫ای‬‫گونه‬‫به‬HTTP.‫د‬GG‫کن‬‫می‬ ‫تفاده‬GG‫اس‬‫ابع‬GG‫من‬34
‫زی‬GG‫مرک‬ ‫وم‬GG‫مفه‬REST
‫کمک‬ ‫با‬ ‫باشند.منابع‬‫می‬URI35
‫درخواستی‬ ‫شوند.کلینت‬‫می‬ ‫داده‬ ‫نمایش‬36
‫از‬ ‫استفاده‬ ‫با‬ ‫را‬URI‫پروتکل‬ ‫متدهای‬ ‫و‬
HTTP‫و‬ ‫متد‬ ‫آن‬ ‫اساس‬ ‫بر‬ ‫سرور‬ ‫و‬ ‫کند‬ ‫می‬ ‫ارسال‬URI.‫کند‬‫می‬ ‫ارسال‬ ‫کلینت‬ ‫برای‬ ‫را‬ ‫پاسخ‬
‫جدول‬۲‫متدهای‬ :HTTP
ExamplesAction
HTTP
Method
http://example.com/api/orders
)retrieve order list(
Obtain information about a resourceGET
http://example.com/api/orders/123
)retrieve order #123(
Obtain information about a resourceGET
http://example.com/api/orders
)create a new order, from data provided with the
request(
Create a new resourcePOST
http://example.com/api/orders/123
)update order #123, from data provided with the
request(
Update a resourcePUT
http://example.com/api/orders/123
)delete order #123(
Delete a resourceDELETE
‫سازی‬‫پیاده‬ ‫برای‬RESTful API‫پایتون‬ ‫کمک‬ ‫به‬۳۷
‫از‬ ‫توان‬‫می‬framework:‫کرد‬ ‫استفاده‬ ‫زیر‬
1. Django
2. Flask
3. Bottle
4. Werkzeug
5. …
34 Resources
35 Uniform Resource Identifier
36 Request
37 Python
۱۳
‫این‬ ‫وجود‬ ‫با‬framework‫دهندگان‬‫توسعه‬ ،‫ها‬Openstack‫ی‬GG‫طراح‬ ‫ه‬GG‫ب‬ ‫دام‬GG‫اق‬ ‫پایتون‬ ‫های‬‫ماژول‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫خود‬
RESTful API:‫از‬ ‫عبارتند‬ ‫ها‬‫ماژول‬ ‫اند.این‬‫کرده‬
• eventlet
• greenlet
• Routes
• ...
• WebOb
• websockify
• wsgiref
• SQLALchemy
‫رابط‬ ‫مثال‬ ‫برای‬Glance API‫در‬ ‫ود‬GG‫موج‬ ‫تصاویر‬ ‫مورد‬ ‫در‬ ‫اطلعاتی‬ ‫خواهیم‬‫دهیم.می‬‫می‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬ ‫را‬
‫ی‬‫داده‬ ‫پایگاه‬Glance.‫آوریم‬ ‫دست‬ ‫به‬
‫ماژول‬ ‫کمک‬ ‫با‬ ‫ابتدا‬pycurl:‫باشد‬‫می‬ ‫زیر‬ ‫صورت‬ ‫به‬ ‫درخواست‬ ‫این‬ ‫نهایی‬ ‫شکل‬ ‫که‬ ‫سازیم‬‫می‬ ‫را‬ ‫درخواستی‬
curl -i -X GET -H 'X-Auth-Token: ***' -H 'Content-Type: application/json' -H 'User-
Agent: python-glanceclient' http://127.0.0.1:9292/v1/images/detail?
sort_key=name&sort_dir=asc&limit=20
‫رابط‬ ‫جواب‬Glance:
HTTP/1.1 200 OK
date: Sun, 06 Jul 2014 07:46:07 GMT
content-length: 472
content-type: application/json; charset=UTF-8
x-openstack-request-id: req-29656d86-49ea-427f-9968-b132e307ed3b
}"images": [{"status": "active", "name": "cirros-0.3.2-x86_64", "deleted": false,
"container_format": "bare", "created_at": "2014-07-01T07:29:55", "disk_format":
"qcow2", "updated_at": "2014-07-0
1T07:29:55", "id": "fa6a9962-1a6e-4eef-8dda-74b2f0f39b65", "min_disk": 0,
"protected": false, "min_ram": 0, "checksum": "64d7c1cd2b6f60c92c14662941cb7913",
"owner": "ccfdfca34e6c47259bbffaad7bbdd
e3c", "is_public": true, "deleted_at": null, "properties": {}, "size": 13167616{[{
۱۴
۲.۴‫سازی‬‫پیاده‬ ‫معماری‬OpenStack]۳[
‫سازی‬‫پیاده‬ ‫برای‬ ‫متداول‬ ‫های‬‫معماری‬ ‫از‬ ‫یکی‬openstack‫اری‬GG‫معم‬ ‫از‬ ‫تفاده‬GG‫اس‬Three-Node with OpenStack
Networking:‫باشد‬‫می‬
•‫کننده‬‫کنترل‬ ‫نود‬Identity service, Image Service،‫شبکه‬ ‫و‬ ‫محاسبات‬ ‫مدیریتی‬ ‫های‬‫بخش‬ ،Networking
plug-in‫اجرا‬ ‫را‬ ‫داشبورد‬ ‫و‬،‫داده‬ ‫پایگاه‬ ‫های‬‫سرویس‬ ‫شامل‬ ‫همچنین‬ .‫کند‬‫می‬message broker‫و‬NTP
۳۸
.‫باشد‬‫می‬
‫از‬ ‫هایی‬‫بخش‬ ‫کننده‬‫کنترل‬ ‫نود‬ ،‫تمایل‬ ‫صورت‬ ‫در‬Block Storage , Object Storage , Database Service ,
Orchestration‫و‬Telemetry‫این‬ .‫کند‬‫می‬ ‫اجرا‬ ‫را‬‫ها‬‫مؤلفه‬‫محیط‬ ‫برای‬ ‫اضافی‬ ‫های‬‫ویژگی‬OpenStack
.‫کنند‬‫می‬ ‫فراهم‬
•‫ن‬‫شبکه‬ ‫ود‬Networking plug-in, layer 2 agent‫و‬layer3 agent.‫کند‬ ‫می‬ ‫اجرا‬ ‫را‬‫لیه‬ ‫های‬‫سرویس‬‫دوم‬ ‫ی‬
‫شامل‬‫سازی‬‫آماده‬۳۹
.‫باشد‬‫می‬ ‫مجازی‬ ‫های‬‫شبکه‬ ‫و‬ ‫ها‬‫تونل‬‫مسیریابی‬ ‫شامل‬ ‫سوم‬ ‫لیه‬ ‫های‬‫سرویس‬۴۰
،NAT‫و‬
DHCP‫نود‬ ‫این‬ ‫همچنین‬ .‫باشد‬‫می‬‫اینترنت‬ ‫به‬ ‫اتصال‬.‫کند‬‫می‬ ‫فراهم‬ ‫مجازی‬ ‫های‬‫ماشین‬ ‫برای‬
•‫ن‬‫محاسبات‬ ‫ود‬‫بخش‬.‫کند‬ ‫می‬ ‫اجرا‬ ‫را‬ ‫مجازی‬ ‫ماشین‬ ‫مانیتور‬‫از‬ ‫ود‬GG‫ن‬ ‫ن‬GG‫ای‬ ‫رض‬GG‫ف‬‫پیش‬ ‫ور‬GG‫ط‬ ‫به‬KVM‫رای‬GG‫ب‬
‫استف‬ ‫مجازی‬ ‫ماشین‬ ‫مانیتور‬‫نود‬ ‫این‬ ‫کند.همچنین‬‫می‬ ‫اده‬Networking plug-in‫و‬layer 2 agent‫می‬ ‫اجرا‬ ‫را‬
.‫کند‬
38 Network Time Protocol
39 Provisioning
40 Routing
۱۵
۱۶
‫تصویر‬۳‫معماری‬ :Three-Node
۳‫اوکالیپتوس‬
۴۱
‫اوکالیپتوس‬]۷[‫اخت‬GG‫زیرس‬ ‫روی‬ ‫بر‬ ‫را‬ ‫ترکیبی‬ ‫و‬ ‫خصوصی‬ ‫ابرهای‬ ‫که‬ ‫است‬ ‫لینوکس‬ ‫بر‬ ‫مبتنی‬ ‫افزاری‬‫نرم‬۴۲
‫های‬
‫سازی‬‫پیاده‬ ‫موجود‬. ‫کند‬‫می‬‫ابع‬G‫من‬ ‫ن‬G‫.ای‬ ‫ازد‬G‫س‬‫می‬ ‫دور‬G‫مق‬ ‫را‬ ‫بکه‬GG‫ش‬ ‫و‬ ‫سازی‬‫دخیره‬ ،‫محاسباتی‬ ‫منابع‬ ‫تجمع‬ ‫اوکالیپتوس‬
‫افزار‬‫نرم‬ ‫کاری‬ ‫حجم‬ ‫اساس‬ ‫بر‬ ‫توانند‬‫می‬۴۳
.‫شوند‬ ‫داده‬ ‫کاهش‬ ‫یا‬ ‫افزایش‬]۶[
۳.۱‫اوکالیپتوس‬ ‫های‬‫مؤلفه‬
‫از‬ ‫اوکالیپتوس‬۶‫مؤلفه‬:‫است‬ ‫شده‬ ‫تشکیل‬]۸[]۹[
41 Eucalyptus
42 Infrastructure
43 Application
۱۷
‫تصویر‬۴‫اوکالیپتوس‬ ‫های‬‫مؤلفه‬ :
‫جدول‬۳‫اوکالیپتوس‬ ‫های‬‫مؤلفه‬ ‫معرفی‬ :
‫مؤلفه‬ ‫نام‬‫نویسی‬‫برنامه‬ ‫زبان‬‫توضیحات‬
Cloud
Controller
)CLC(
Java
CLC‫نهایی‬ ‫کاربران‬ ‫و‬ ‫دهندگان‬ ‫مدیران،توسعه‬ ‫برای‬۴۴
‫محسوب‬ ‫کلود‬ ‫به‬ ‫ورود‬ ‫ی‬‫نقطه‬
.‫شود‬‫می‬
ClC،‫گیرد‬‫می‬ ‫گزارش‬ ‫دیگر‬ ‫های‬‫مؤلفه‬ ‫از‬ ‫منابع‬ ‫مورد‬ ‫در‬ ‫اطلعات‬ ‫آوردن‬ ‫دست‬ ‫به‬ ‫برای‬
‫به‬ ‫درخواستهایی‬ ‫و‬ ‫کند‬‫می‬ ‫گیری‬‫تصمیم‬ ‫بال‬ ‫سطح‬ ‫در‬ ‫زمانبدی‬ ‫برای‬Cluster Controller
.‫کند‬‫می‬ ‫ارسال‬
،‫مدیریت‬ ‫فرم‬‫پلت‬ ‫برای‬ ‫کاربری‬ ‫رابط‬ ‫یک‬ ‫عنوان‬ ‫به‬CLC‫منابع‬ ‫نمایش‬ ‫و‬ ‫مدیریت‬ ‫ی‬‫وظیفه‬
.‫دارد‬ ‫را‬ ‫مجازی‬
WarlusJava
Warlus‫صورت‬ ‫را‬ ‫ها‬‫داده‬ ‫تا‬ ‫دهد‬‫می‬ ‫اجازه‬ ‫کاربر‬ ‫به‬Objects/Buckets‫کند.با‬ ‫دخیره‬
‫از‬ ‫استفاده‬Warlus‫توانید‬‫می‬Buckets.‫کنید‬ ‫لیست‬ ‫ویا‬ ‫کنید‬ ‫بسازید،پاک‬ ‫را‬
Cluster
Controller
)CC(
C
CC‫که‬ ‫هایی‬‫ماشین‬ ،‫است‬ ‫شبکه‬ ‫به‬ ‫اتصال‬ ‫دارای‬ ‫که‬ ‫واسط‬ ‫ماشین‬ ‫یک‬ ‫برروی‬ ‫شدن‬ ‫اجرا‬ ‫با‬
CLC‫و‬NC‫اجرا‬ ‫را‬‫کنند‬‫می‬‫متصل‬ ‫یگدیگر‬ ‫به‬.‫کند‬‫می‬CC‫را‬ ‫مجازی‬ ‫ماشین‬ ‫های‬‫شبکه‬
.‫کند‬‫می‬ ‫مدیریت‬CC‫مورد‬ ‫در‬ ‫را‬ ‫اطلعاتی‬ ‫همچنین‬‫ی‬‫مجموعه‬NC‫و‬ ‫کند‬‫می‬ ‫آوری‬‫جمع‬ ‫ها‬
.‫کند‬‫می‬ ‫زمانبدی‬ ‫را‬ ‫مجازی‬ ‫ماشین‬ ‫اجرای‬
Storage
Controller
)SC(
Java
SC‫با‬CC‫و‬NC‫و‬ ‫ها‬ ‫بلوک‬ ‫حجم‬ ‫و‬ ‫است‬ ‫ارتباط‬ ‫در‬spanshot‫مجازی‬ ‫های‬‫ماشین‬ ‫های‬
.‫کند‬‫می‬ ‫مدیریت‬ ‫را‬ ‫کلستر‬ ‫یک‬ ‫در‬
Node
Controller
)NC(
C
NC‫که‬ ‫هایی‬‫ماشین‬ ‫ی‬‫همه‬ ‫روی‬ ‫بر‬VM instances.‫شود‬‫می‬ ‫اجرا‬ ‫کنند‬‫می‬ ‫هاست‬ ‫را‬NC
‫های‬‫فعالیت‬VM‫کنترل‬ ‫را‬‫اجرا‬ ‫شامل‬ ‫ها‬‫فعالیت‬ ‫کند.این‬‫می‬۴۵
‫باز‬ ،‫رسی‬۴۶
‫دادن‬ ‫خاتمه‬ ‫و‬VM
instances.‫باشد‬‫می‬
Vmware Broker
)VB(
-
VB—‫ک‬‫مشتر‬ ‫کاربر‬ ‫که‬ ‫دسترستی‬‫قابل‬ ‫صورتی‬ ‫در‬ ‫و‬ ‫است‬ ‫اوکالیپتوس‬ ‫اختیاری‬ ‫ی‬‫مؤلفه‬۴۷
.‫باشد‬ ‫اکالیپتوس‬VB‫زیرساخت‬ ‫روی‬ ‫بر‬ ‫مجازی‬ ‫های‬‫ماشین‬ ‫تا‬ ‫کند‬‫می‬ ‫فراهم‬ ‫را‬ ‫امکان‬ ‫این‬
Vmware.‫شوند‬ ‫سازی‬‫پیاده‬
44 End-Users
45 Execution
46 Insepection
47 Subscriber
۱۸
۴OpenNebula
OpenNebula]۱۰[‫ای‬‫ونه‬GG‫گ‬ ‫ه‬GG‫ب‬ ‫زار‬GG‫اف‬‫نرم‬ ‫شود.این‬‫می‬ ‫استفاده‬ ‫دیتاسنتر‬ ‫سازی‬‫مجازی‬ ‫برای‬ ،‫باز‬‫متن‬ ‫افزاری‬‫نرم‬
‫تیجه‬GG‫یابد.ن‬ ‫توسعه‬ ‫جدید‬ ‫های‬‫مؤلفه‬ ‫توسط‬ ‫همچین‬ ‫و‬ ‫شود‬ ‫داده‬ ‫تطبیق‬ ‫زیرساختی‬ ‫هر‬ ‫با‬ ‫راحتی‬ ‫به‬ ‫تا‬ ‫است‬ ‫شده‬ ‫طراحی‬
‫دد‬GG‫متع‬ ‫نترهای‬GG‫دیتاس‬ ‫های‬‫رویس‬GG‫س‬ ‫با‬ ‫و‬ ‫کند‬ ‫سازی‬‫پیاده‬ ‫ابر‬ ‫های‬‫معماری‬ ‫انواع‬ ‫تواند‬‫می‬ ‫که‬ ‫است‬ ‫ماژولر‬ ‫سیستم‬ ‫یک‬
‫اصلی‬ ‫های‬‫رابط‬ ‫ادامه‬ ‫باشد.در‬ ‫داشته‬ ‫رابطه‬OpenNebula.‫کنیم‬‫می‬ ‫بررسی‬ ‫را‬]۱۱[
++C‫ی‬‫هسته‬ ‫در‬ ‫استفاده‬ ‫مورد‬ ‫نویسی‬ ‫برنامه‬ ‫زبان‬OpenNebula‫باشد.از‬‫می‬Ruby‫طراحی‬ ‫و‬ ‫توسعه‬ ‫برای‬CLI‫و‬
GUI.‫است‬ ‫شده‬ ‫استفاده‬
‫های‬‫رابط‬ ‫ما‬OpenNebula‫ابر‬ ‫های‬‫رابط‬ :‫ایم‬‫کرده‬ ‫تقسیم‬ ‫اصلی‬ ‫ی‬‫دسته‬ ‫دو‬ ‫به‬ ‫را‬۴۸
‫سیستم‬ ‫های‬‫رابط‬ ‫و‬۴۹
.
48 Cloud Interfaces
49 System Interfaces
۱۹
‫تصویر‬۵‫معماری‬ ‫و‬ ‫ها‬‫رابط‬ :OpenNebula
۴.۱Cloud Interfaces
‫طریق‬ ‫از‬ ‫تا‬ ‫سازد‬‫می‬ ‫فراهم‬ ‫کاربر‬ ‫برای‬ ‫را‬ ‫امکان‬ ‫این‬ ‫ابر‬ ‫های‬‫رابط‬REST API‫ها‬‫مجازی،شبکه‬ ‫های‬‫ماشین‬ ‫راحتی‬ ‫به‬
‫د‬GG‫مفی‬ ‫ایی‬GG‫انته‬ ‫اربران‬GG‫ک‬ ‫رای‬GG‫ب‬ q‫ا‬GG‫مخصوص‬ ‫و‬ ‫کند‬‫می‬ ‫مخفی‬ ‫را‬ ‫ابر‬ ‫های‬‫پیچیدگی‬ ‫ابر‬ ‫های‬‫کند.رابط‬ ‫مدیریت‬ ‫را‬ ‫تصاویر‬ ‫و‬
.‫است‬OpenNebula:‫کند‬‫می‬ ‫سازی‬‫پیاده‬ ‫را‬ ‫رابط‬ ‫نوع‬ ‫دو‬
‫رابط‬ ‫نام‬‫توضیحات‬
EC2-Query API
OpenNebula‫توسط‬ ‫شده‬ ‫ارائه‬ ‫های‬‫قابلیت‬[12]Amazon's EC2 API‫هایی‬‫عمده،قابلیت‬ ‫طور‬ ‫-به‬
‫تمامی‬ ‫از‬ ‫توان‬‫می‬ ‫صورت‬ ‫این‬ ‫کند.در‬‫می‬ ‫سازی‬‫باشند-پیاده‬ ‫مجازی‬‫ماشین‬ ‫مدیریت‬ ‫به‬ ‫مربوط‬ ‫که‬
‫گزارش‬ ‫ابزارهای‬EC2‫به‬ ‫تا‬ ‫کرد‬ ‫استفاده‬OpenNebula Cloud.‫داشت‬ ‫دسترسی‬
OCCI-OGF
‫سرویس‬ ‫یک‬ ‫رابط‬ ‫این‬RESTful‫فراهم‬ ‫را‬ ‫ابر‬ ‫منابع‬ ‫مانیتور‬ ‫و‬ ‫کردن‬ ‫ساختن،کنترل‬ ‫امکان‬ ‫که‬ ‫است‬
.‫سازد‬‫می‬
۴.۲Systems Interfaces
‫رابط‬ ‫نام‬‫توضیحات‬
OpenNebula XML-RPC
Interface
‫اصلی‬ ‫رابط‬OpenNebula‫های‬‫قابلیت‬ ‫تمامی‬ ‫به‬ ‫توان‬‫می‬ ‫رابط‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ .‫است‬OpenNebula
‫منابع‬ ‫توان‬‫می‬ ‫مثال‬ ‫داشت.برای‬ ‫دسترسی‬OpenNebula،‫کاربرها‬ ،‫ها،تصاویر‬‫مجازی،شبکه‬ ‫های‬‫)ماشین‬
.‫کرد‬ ‫مدیریت‬ ‫را‬ (‫کلسترها‬ ‫و‬ ‫ها‬‫هاست‬
‫ابر‬ ‫افزارهای‬‫نرم‬ ‫برای‬ ‫اگر‬۵۰
‫برای‬ ‫پایین‬ ‫سطح‬ ‫رابط‬ ‫این‬ ‫به‬ ‫نیاز‬ ‫یا‬ ‫دهید‬‫می‬ ‫توسعه‬ ‫تخصصی‬ ‫های‬‫کتابخانه‬
‫ی‬‫هسته‬ ‫با‬ ‫ارتباط‬OpenNebula‫رابط‬ ‫از‬ ‫دارید‬XML-RPC.‫کنید‬ ‫استفاده‬
The OpenNebula Cloud
API
(OCA)
‫ی‬‫هسته‬ ‫با‬ ‫ارتباط‬ ‫برای‬ ‫راحت‬ ‫و‬ ‫ساده‬ ‫راه‬ ‫یک‬ ‫رابط‬ ‫این‬OpenNebula‫های‬‫کند.رابط‬‫می‬ ‫فراهم‬OCA
‫مانند‬ ‫هایی‬‫قابلیت‬XML-RPC.‫سازد‬‫می‬ ‫فراهم‬
‫ی‬‫پیشرفته‬ ‫ابزارهای‬ ‫اگر‬IaaS‫های‬‫قابلیت‬ ‫به‬ ‫کامل‬ ‫دسترسی‬ ‫نیازمند‬ ‫که‬ ‫دهید‬‫می‬ ‫توسعه‬
OpenNebula‫های‬‫رابط‬ ‫از‬ ‫باشد‬‫می‬OCA.‫کنید‬ ‫استفاده‬
50 Cloud Applications
۲۰
OpenNebula Drivers
Interfaces
‫میان‬ ‫تعاملت‬OpenNebula‫انجام‬ ‫ساخت‬‫زیر‬ ‫هر‬ ‫مخصوص‬ ‫درایورهای‬ ‫توسط‬ ‫ابر‬ ‫های‬‫زیرساخت‬ ‫و‬
.‫گیرد‬‫می‬
OpenNebula Database
OpenNebula‫حالت‬۵۱
‫سازی‬‫ذخیره‬ ‫مداوم‬ ‫صورت‬ ‫به‬ ‫داده‬ ‫پایگاه‬ ‫در‬ ‫را‬ ‫زیادی‬ ‫حسابداری‬ ‫اطلعات‬ ‫و‬
.‫کند‬‫می‬
51 State
۲۱
۵‫منابع‬
[1] Website: https://www.openstack.org/software/
[2] Website: https://github.com/openstack
[3] Website: http://docs.openstack.org/icehouse/install-guide/install/apt-debian/content/ch_overview.html
[4] Website: http://en.wikipedia.org/wiki/Representational_state_transfer
[5] Website: http://www.iranapex.ir/index.php/blog/68-what-is-rest
[6] Website: https://www.eucalyptus.com/docs/eucalyptus/4.0/index.html#install-guide/intro.html
[7] Website: https://github.com/eucalyptus/eucalyptus
[8] Website: https://www.eucalyptus.com/docs/eucalyptus/4.0/index.html#install-guide/euca_components.html
[9] Website: http://en.wikipedia.org/wiki/Eucalyptus_%28software%29
[10] Website: https://github.com/OpenNebula/one
[11] Website: http://docs.opennebula.org/4.6/integration/getting_started/introapis.html#introapis
[12] Website: http://aws.amazon.com/ec2/
۲۲
۲۳

Pdn tech-cloud management-softwares-ver2.0.1

  • 1.
    c ‫ابر‬ ‫زیرساخت‬ ‫مدیریت‬ :‫محدوده‬ .‫گیرد‬‫می‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬ ‫ابر‬ ‫زیرساخت‬ ‫مدیریت‬ ‫برای‬ ‫موجود‬ ‫افزارهای‬‫نرم‬ ‫گزارش‬ ‫این‬ ‫در‬ ‫تاریخچه‬: ‫ردیف‬‫نویسنده‬‫تاریخ‬‫ویرایش‬ ‫شماره‬‫توضیحات‬ ۱ ‫و‬ ‫فنی‬ ‫توسعه‬ ‫و‬ ‫تحقیق‬ ‫مهندسی‬ ۹۳/۰۴/۲۵۲.۰.۱ ۲ .‫دارد‬ ‫تعلق‬ ‫نوین‬ ‫داده‬ ‫پویش‬ ‫شبکه‬ ‫مهندسی‬ ‫شرکت‬ ‫به‬ ‫مستند‬ ‫این‬ ‫معنوی‬ ‫و‬ ‫مادی‬ ‫حقوق‬ ‫کلیه‬
  • 2.
    ‫مندرجات‬ ‫فهرست‬ ‫چکیده‬ -.......................................................................................................................................................................................................۴ ‫ها‬‫واژه‬ ‫کلید‬ -..............................................................................................................................................................................................۴ ۱‫مقدمه‬ -.....................................................................................................................................................................................................۵ ۲-OpenStack...........................................................................................................................................................................................۷ ۲.۱‫معرفی‬ -...............................................................................................................................................................................................................۷ ۲.۲‫های‬‫مؤلفه‬ -OpenStack...................................................................................................................................................................................۸ ۲.۳‫ی‬‫هسته‬ -OpenStack......................................................................................................................................................................................۹ ۲.۳.۱‫اصلی‬ ‫های‬‫مؤلفه‬ ‫معرفی‬ -OpenStack[3]...............................................................................................................................................................۱۰ ۲.۳.۲‫های‬‫مؤلفه‬ ‫های‬‫رابط‬ -OpenStack............................................................................................................................................................................۱۲ ۲.۴‫سازی‬‫پیاده‬ ‫معماری‬ -OpenStack[3]..........................................................................................................................................................۱۵ ۳‫اوکالیپتوس‬ -..........................................................................................................................................................................................۱۷ ۳.۱‫اوکالیپتوس‬ ‫های‬‫مؤلفه‬ -...................................................................................................................................................................................۱۷ ۴-OpenNebula.....................................................................................................................................................................................۱۹ ۴.۱-Cloud Interfaces......................................................................................................................................................................................۲۰ ۴.۲-Systems Interfaces..................................................................................................................................................................................۲۰ ۵‫منابع‬ -.....................................................................................................................................................................................................۲۲ ‫تصاویر‬ ‫فهرست‬ ‫تصویر‬۱........................................................................................................................................................................................................۷ ‫تصویر‬۲‫اصلی‬ ‫های‬‫مؤلفه‬ :openstack......................................................................................................................................................۹ ‫تصویر‬۳‫معماری‬ :Three-Node............................................................................................................................................................۱۶ ‫تصویر‬۴‫اوکالیپتوس‬ ‫های‬‫مؤلفه‬ :...............................................................................................................................................................۱۷ ‫تصویر‬۵‫معماری‬ ‫و‬ ‫ها‬‫رابط‬ :OpenNebula............................................................................................................................................۱۹ ‫جداول‬ ‫فهرست‬ ‫جدول‬۱‫ی‬‫هسته‬ ‫اجزای‬ :OpenStack....................................................................................................................................................۱۰ ۲
  • 3.
    ‫جدول‬۲‫متدهای‬ :HTTP........................................................................................................................................................................۱۳ ‫جدول‬۳‫اوکالیپتوس‬ ‫های‬‫مؤلفه‬‫معرفی‬ :...................................................................................................................................................۱۸ ‫ضمائم‬ ‫فهرست‬ ۳
  • 4.
    ‫چکیده‬ ‫مشخصه‬‌‫زیرساخت‬ ‫ساختن‬ ‫فراهم‬،‫ابری‬ ‫رایانش‬ ‫اصلی‬ ‫ی‬IT‫به‬ ‫سرویس‬ ‫یک‬ ‫شکل‬ ‫به‬ ‫آن‬ ‫کاربردهای‬ ‫و‬ ‫می‬ ‫پذیر‬‫توسعه‬ ‫طریقی‬‌‫باشد‬‫این‬ ‫در‬ .‫اند‬‫شده‬ ‫سازی‬‫پیاده‬ ‫و‬ ‫طراحی‬ ‫منظور‬ ‫این‬ ‫برای‬ ‫افزارهایی‬‫نرم‬ ‫.تاکنون‬ ‫داریم‬ ‫قصد‬ ‫گزارش‬‫سه‬‫را‬ ‫ا‬‫ه‬‫آن‬ ‫اری‬‫معم‬ ‫و‬ ‫سازنده‬ ‫های‬‫مؤلفه‬ ‫و‬ ‫کنیم‬ ‫معرفی‬ ‫را‬ ‫افزارها‬‫نرم‬ ‫این‬ ‫از‬ ‫مورد‬ .‫دهیم‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬ ‫ها‬ ‫واژه‬ ‫کلید‬ Cloud Computing , OpenStack،‫اوکالیپتوس‬ ,OpenNebula ۴
  • 5.
    ۱‫مقدمه‬ ‫ای‬‫مجموعه‬ ‫به‬ ‫شبکه‬‫طریق‬ ‫از‬ ‫کاربر‬ ‫تقاضای‬ ‫اساس‬ ‫بر‬ ‫آسان‬ ‫دسترسی‬ ‫کردن‬ ‫فراهم‬ ‫برای‬ ‫است‬ ‫مدلی‬ ‫ابری‬ ‫رایانش‬ ‫ای‬GG‫فض‬ ،‫رورها‬GG‫س‬ ،‫ها‬‫بکه‬G‫ش‬ :‫ل‬GG‫)مث‬ ‫دی‬GG‫پیکربن‬ ‫و‬ ‫ر‬GG‫تغیی‬ ‫قابل‬ ‫رایانشی‬ ‫منابع‬ ‫از‬‫و‬ ‫اربردی‬G‫ک‬ ‫ای‬GG‫ه‬‫برنامه‬ ،‫ازی‬GG‫س‬‫ذخیره‬ ‫سرویس‬ ‫کننده‬‫فراهم‬ ‫مستقیم‬ ‫دخالت‬ ‫به‬ ‫نیاز‬ ‫یا‬ ‫و‬ ‫منابع‬ ‫مدیریت‬ ‫به‬ ‫نیاز‬ ‫کمترین‬ ‫با‬ ‫بتواند‬ ‫دسترسی‬ ‫این‬ ‫که‬ (‫ها‬‫سرویس‬ .‫گردد‬ (‫)رها‬ ‫آزاد‬ ‫یا‬ ‫شده‬ ‫فراهم‬ ‫سرعت‬ ‫به‬ ‫دهه‬ ‫به‬ ‫ابری‬ ‫رایانش‬ ‫اساسی‬ ‫مفاهیم‬ ‫پیدایش‬۱۹۶۰‫ه‬G‫ک‬ ‫ت‬G‫داش‬ ‫ار‬G‫اظه‬ ‫ارتی‬G‫ک‬ ‫ک‬G‫م‬ ‫جان‬ ‫که‬ ‫زمانی‬ .‫گردد‬ ‫بازمی‬ ‫از‬ ‫ه‬GG‫گرفت‬ ‫ر‬GG‫ب‬ ‫ع‬GG‫واق‬ ‫در‬ ‫ر‬GG‫اب‬ ]‫ه‬‫ود«.واژ‬GG‫ش‬ ‫ازماندهی‬GG‫س‬ ‫انی‬GG‫همگ‬ ‫نایع‬GG‫ص‬ ‫از‬ ‫ی‬GG‫یک‬ ‫عنوان‬ ‫به‬ ‫روزی‬ ‫است‬ ‫ممکن‬ ‫»رایانش‬ ‫ه‬GG‫ده‬ ‫ا‬GG‫ت‬ ‫ه‬GG‫ک‬ ‫دور‬ ‫راه‬ ‫ارتباطات‬ ‫های‬‫کمپانی‬ ‫که‬ ‫گونه‬ ‫این‬ ‫به‬ ‫است‬ ‫تلفن‬ ‫صنعت‬۱۹۹۰]‫ه‬GG‫نقط‬ ‫ه‬GG‫ب‬ ‫ه‬GG‫نقط‬ ‫وط‬GG‫خط‬ ‫ا‬GG‫تنه‬ ‫اد‬GG‫نم‬ .‫نمودند‬ ‫کمتر‬ ‫قیمتهای‬ ‫و‬ ‫مشابه‬ ‫کیفیتی‬ ‫با‬ ‫مجازی‬ ‫خصوصی‬ ‫های‬‫شبکه‬ ‫ارائه‬ ‫به‬ ‫شروع‬ ،‫کردند‬‫می‬ ‫ارائه‬ ‫اختصاصی‬ ‫عرضه‬ ‫مسئولیت‬ ‫حیطه‬ ‫در‬ ‫که‬ ‫آنهایی‬ ‫و‬ ‫کاربرند‬ ‫مسئولیت‬ ‫حیطه‬ ‫در‬ ‫که‬ ‫هایی‬ ‫بخش‬ ‫بین‬ ‫مرزی‬ ‫نقطه‬ ‫نمایش‬ ‫برای‬ ‫ابر‬ ‫ر‬GG‫برزی‬ ‫علوه‬ ‫ز‬GG‫نی‬ ‫را‬ ‫رورها‬GG‫س‬ ‫دکه‬GG‫ده‬‫می‬ ‫ترش‬GG‫گس‬ ‫ای‬‫گونه‬ ‫به‬ ‫را‬ ‫ابر‬ ‫مفهوم‬ ‫ابری‬ ‫رایانش‬ .‫شد‬‫می‬ ‫گرفته‬ ‫بکار‬ ‫کننده‬ .‫گیرد‬ ‫بر‬ ‫در‬ ‫شبکه‬ ‫های‬‫ساخت‬ ‫سال‬ ‫اواسط‬ ‫در‬۲۰۰۸‫بین‬ ‫ارتباط‬ ‫دهی‬ ‫»شکل‬ ‫برای‬ ‫که‬ ‫شد‬ ‫ابری‬ ‫رایانش‬ ‫در‬ ‫موقعیتی‬ ‫وجود‬ ‫متوجه‬ ‫گارتنر‬ ‫شرکت‬ ‫ها‬GG‫سرویس‬ ‫این‬ ‫که‬ ‫آنها‬ ‫و‬ ‫کنند‬‫می‬ ‫مصرف‬ ‫را‬ ‫سرویسها‬ ‫این‬ ‫که‬ ‫آنهایی‬ ‫بین‬ ،‫اطلعات‬ ‫فناوری‬ ‫خدمات‬ ‫کنندگان‬ ‫مصرف‬ .‫آید‬‫می‬ ‫بوجود‬ «‫فروشند‬‫می‬ ‫را‬ » ‫یا‬ ‫ابری‬ ‫زیرساخت‬ ‫های‬‫سرویس‬‫سرویس‬ ‫عنوان‬ ‫به‬ ‫زیرساخت‬۱ ‫تر‬GG‫بس‬ ‫ک‬GG‫ی‬ q‫ا‬GG‫عموم‬ ‫ه‬GG‫ک‬ ‫را‬ ‫ای‬‫انه‬GG‫رای‬ ‫زیرساخت‬ « ‫داده‬ ‫ز‬GG‫مرک‬ ‫فضای‬ ‫و‬ ‫افزار‬‫نرم‬ ‫و‬ ‫افزار‬‫سخت‬ ‫خرید‬ ‫جای‬ ‫به‬ ‫کاربران‬ .‫دهند‬‫می‬ ‫ارائه‬ ‫سرویس‬ ‫صورت‬ ‫به‬ ‫را‬ ‫است‬ ‫مجازی‬ ‫برونسپاری‬ q‫ل‬‫کام‬ ‫سرویس‬ ‫یک‬ ‫صورت‬ ‫به‬ ‫را‬ ‫ها‬‫ساخت‬ ‫زیر‬ ‫این‬ ]‫ه‬‫هم‬ ،‫شبکه‬ ‫تجهیزات‬ ‫ویا‬ (‫سنتر‬ ‫)دیتا‬۲ .‫خرند‬‫می‬ ‫شده‬ ‫مانند‬ ‫افزارهایی‬‫نرم‬ ‫ابری‬ ‫زیرساخت‬ ‫های‬‫سرویس‬ ‫مدیریت‬ ‫برای‬OpenStack , CloudStack‫و‬ ‫اوکالیپتوس‬ ،… 1 IaaS 2 Outsource ۵
  • 6.
    ‫افزارهای‬‫نرم‬ ‫از‬ ‫مورد‬‫دو‬ ‫داریم‬ ‫قصد‬ ‫گزارش‬ ‫این‬ ‫اند.در‬ ‫شده‬ ‫داده‬ ‫توسعه‬IaaS.‫دهیم‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬ ‫را‬ Openstack‫شرکت‬ ‫توسط‬ ‫که‬ ‫ست‬‫ابری‬ ‫عامل‬ ‫سیستم‬ ‫یک‬RedHat.‫است‬ ‫شده‬ ‫داده‬ ‫توسعه‬OpenStack‫فراهم‬ ‫با‬ ‫و‬ ‫ترل‬GG‫کن‬ ‫را‬ ‫ود‬GG‫خ‬ ‫ابع‬GG‫من‬ ‫راحتی‬ ‫به‬ ‫تا‬ ‫دهد‬‫می‬ ‫ها‬‫شرکت‬ ‫و‬ ‫کاربران‬ ‫به‬ ‫را‬ ‫امکان‬ ‫این‬ ‫ابزارها‬ ‫از‬ ‫کامل‬ ‫ای‬‫مجموعه‬ ‫کردن‬ ‫معرفی‬ ‫کامل‬ ‫صورت‬ ‫به‬ ‫را‬ ‫عامل‬ ‫سیستم‬ ‫این‬ ‫ادامه‬ ‫کنند.در‬ ‫مدیریت‬‫کنیم‬‫می‬‫رار‬GG‫ق‬ ‫بررسی‬ ‫مورد‬ ‫را‬ ‫آن‬ ‫را‬ ‫های‬‫مؤلفه‬ ‫و‬ .‫دهیم‬‫می‬ ‫ه‬GG‫ک‬ ‫ت‬GG‫اس‬ ‫وکس‬GG‫لین‬ ‫ر‬GG‫ب‬ ‫ی‬GG‫مبتن‬ ‫افزاری‬‫نرم‬ ‫اوکالیپتوس‬ .‫پردازیم‬‫می‬ ‫اوکالیپتوس‬ ‫افزار‬‫نرم‬ ‫معرفی‬ ‫به‬ ‫دوم‬ ‫بخش‬ ‫در‬ ‫سازی‬‫پیاده‬ ‫موجود‬ ‫های‬‫زیرساخت‬ ‫روی‬ ‫بر‬ ‫را‬ ‫ترکیبی‬ ‫و‬ ‫خصوصی‬ ‫ابرهای‬.‫کند‬‫می‬ ‫د‬‫افزار‬‫نرم‬ ‫سوم‬ ‫بخش‬ ‫ر‬OpenNebula.‫دهیم‬‫می‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬ ‫را‬ ‫آنرا‬ ‫های‬‫رابط‬ ‫و‬ ‫کنیم‬‫می‬ ‫معرفی‬ ‫را‬ ۶
  • 7.
    ۲OpenStack ۲.۱‫معرفی‬ Openstack‫ابری‬ ‫ل‬GGGG‫عام‬ ‫تم‬GGGG‫سیس‬‫ک‬GGGG‫ی‬۳ .‫ت‬GGGG‫س‬openstack‫نتر‬GGGGG‫دیتاس‬ ‫ک‬GGGG‫ی‬ ‫ابع‬GGGGG‫من‬ ‫ترل‬GGGG‫کن‬– .‫رد‬G‫دا‬ ‫ده‬GGGGGGGGGGGG‫عه‬ ‫ر‬GGGGGGGGGGG‫ب‬G‫را‬ ‫بکه‬GGGGGGGGGGGG‫ش‬ G‫و‬ ‫ازی‬GGGGGGGGGGG‫س‬ ‫باتی،ذخیره‬GGGGGGGGGGGGGGGGGGGGGGGG‫محاس‬– ‫داشبورد‬ ‫یک‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫منابع‬ ‫این‬ ‫کنترل‬۴ ‫ه‬GG‫ب‬ ‫وب‬ ‫ر‬GG‫ب‬ ‫ی‬GG‫مبتن‬ ‫محیط‬ ‫یک‬ ‫کردن‬ ‫فراهم‬ ‫با‬ ‫شود.داشبورد‬‫می‬ ‫مدیریت‬ ‫اجزاء‬ ‫با‬ ‫تا‬ ‫دهد‬‫می‬ ‫اجازه‬ ‫کاربران‬ ‫و‬ ‫مدیران‬openstack.‫باشند‬ ‫ارتباط‬ ‫در‬]۱[ ‫ی‬‫پروژه‬ ‫هدف‬openstack‫ات‬GG‫امکان‬ ‫از‬ ‫ی‬GG‫غن‬ ‫ای‬‫مجموعه‬ ‫سازی‬‫فراهم‬ ‫و‬ ‫گسترده‬ ‫پذیری‬‫مقیاس‬ ،‫آسان‬ ‫سازی‬‫پیاده‬ ، .‫باشد‬‫می‬ 3 Cloud Opreating System 4 Horizon ۷ ‫تصویر‬۱
  • 8.
    ۲.۲‫های‬‫مؤلفه‬ ۵ OpenStack OpenStack: ‫است‬ ‫شده‬‫تشکیل‬ ‫مؤلفه‬ ‫زیادی‬ ‫تعداد‬ ‫از‬]۲[ • trove • nova • glance • ironic • designate • oslo-incubator • governance • ... • cliff • gantt • keystone • taskflow • cinder • swift • python-keystonclientsite • shara OpenStack‫باز‬‫متن‬ ‫ای‬‫پروژه‬۶ ‫جدیدی‬ ‫ویژگی‬ ‫و‬ ‫مؤلفه‬ ‫خود‬ ‫نیاز‬ ‫اساس‬ ‫بر‬ ‫تواند‬‫می‬ ‫هرکسی‬ ‫دلیل‬ ‫همین‬ ‫به‬ ،‫است‬ .‫کند‬ ‫اضافه‬ ‫آن‬ ‫به‬‫طور‬‫همان‬‫کنید‬‫می‬ ‫مشاهده‬ ‫بال‬ ‫لیست‬ ‫در‬ ‫که‬OpenStack‫از‬‫های‬‫مؤلفه‬‫ده‬GG‫ش‬ ‫تشکیل‬ ‫زیادی‬ ‫بسیار‬ ‫هسته‬ ‫اما‬ ‫است‬۷ ‫شامل‬ ‫آن‬ ‫اصلی‬۹‫ها‬‫مؤلفه‬ ‫این‬ ‫بررسی‬ ‫و‬ ‫معرفی‬ ‫به‬ ‫ادامه‬ ‫در‬ .‫باشد‬‫می‬ ‫مؤلفه‬‫پردازیم‬‫می‬. 5 Components 6 Open Source 7 Core ۸
  • 9.
    ۲.۳‫ی‬‫هسته‬OpenStack ‫مختلف‬ ‫های‬‫سرویس‬ ‫بین‬‫تعاملت‬ ‫زیادی‬ ‫تعداد‬ ‫شامل‬ ‫مجازی‬ ‫ماشین‬ ‫یک‬ ‫اندازی‬ ‫راه‬openstack‫باشد.نمودار‬‫می‬ ‫مختلف‬ ‫های‬‫مؤلفه‬ ‫بین‬ ‫تعامل‬ ‫و‬ ‫ارتباط‬ ‫زیر‬openstack.‫دهد‬‫می‬ ‫نمایش‬ ‫را‬ ‫مشاهده‬ ‫بال‬ ‫نمودار‬ ‫در‬ ‫که‬ ‫طور‬‫همان‬‫کنید‬‫می‬‫اصلی‬ ‫هسته‬openstack‫شامل‬۹‫این‬ ‫ی‬‫توسعه‬ ‫برای‬ .‫باشد‬ ‫می‬ ‫مؤلفه‬ ‫این‬ ‫بررسی‬ ‫به‬ ‫ادامه‬ ‫است.در‬ ‫شده‬ ‫استفاده‬ ‫پایتون‬ ‫نویسی‬‫برنامه‬ ‫زبان‬ ‫از‬ ‫ها‬‫مؤلفه‬۹:‫پردازیم‬ ‫می‬ ‫مؤلفه‬ ۹ ‫تصویر‬۲‫اصلی‬ ‫های‬‫مؤلفه‬ :openstack
  • 10.
    ۲.۳.۱‫اصلی‬ ‫های‬‫مؤلفه‬ ‫معرفی‬OpenStack]۳[ ‫جدول‬۱‫ی‬‫هسته‬‫اجزای‬ :OpenStack ‫سرویس‬‫پروژه‬ ‫نام‬‫توضیحات‬ ComputeNova Nova‫محاسباتی‬ ‫پروژه‬ ‫نام‬ ،۸ OpenStack.‫است‬Nova‫سیستم‬ ‫یک‬ ‫اصلی‬ ‫قسمت‬IaaS‫باشد‬‫می‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫توانند‬‫می‬ ‫ها‬‫شرکت‬ ‫و‬ ‫افراد‬ .‫دارد‬ ‫برعهده‬ ‫را‬ ‫ابری‬ ‫محاسبات‬ ‫کنترل‬ ‫ی‬‫وظیفه‬ ‫که‬ Nova.‫کنند‬ ‫هاست‬ ‫و‬ ‫مدیریت‬ ‫را‬ ‫را‬ ‫خود‬ ‫ابری‬ ‫محاسباتی‬ ‫های‬‫سیستم‬ ‫ی‬‫وظیفه‬Nova‫محیط‬ ‫در‬ ‫مجازی‬ ‫های‬‫ماشین‬ ‫زندگی‬ ‫ی‬‫چرخه‬ ‫مدیریت‬openstack.‫باشد‬‫می‬ ‫آوردن‬ ‫وجود‬ ‫به‬ ‫مسئولیت‬۹ ‫زمانبدی‬ ،۱۰ ‫انهدام‬ ‫و‬۱۱ .‫دارد‬ ‫برعهده‬ ‫را‬ ‫مجازی‬ ‫ماشین‬ NetworkingNeutron ‫های‬‫مؤلفه‬ ‫دیگر‬ ‫برای‬ ‫را‬ ‫شبکه‬ ‫های‬ ‫قابلیت‬OpenStack‫تا‬ ‫کند‬‫می‬ ‫کمک‬ ‫پروژه‬ ‫کند.این‬‫می‬ ‫فراهم‬ ‫های‬‫مؤلفه‬ ‫از‬ ‫یک‬ ‫هر‬ ‫شود‬ ‫حاصل‬ ‫اطمینان‬OpenStack.‫کنند‬ ‫برقرار‬ ‫ارتباط‬ ‫هم‬ ‫با‬ ‫توانند‬‫می‬ DashboardHorizon Horizon‫های‬‫سرویس‬ ‫تمامی‬ ‫با‬ ‫پروژه‬ ‫این‬ .‫است‬ ‫وب‬ ‫بر‬ ‫مبتی‬ ‫کاربری‬ ‫رابط‬ ‫یک‬openstack‫در‬ ‫اختصاص‬ ،‫مجازی‬ ‫ماشین‬ ‫یک‬ ‫اجرای‬ ‫مانند‬ ‫امکاناتی‬ ‫و‬ ‫است‬ ‫ارتباط‬IP addresses‫تنظیم‬ ‫و‬ ‫دسترسی‬ ‫کنترل‬۱۲ .‫دارد‬ ‫عهده‬ ‫بر‬ ‫را‬ ‫طراحی‬ ‫و‬ ‫توسعه‬ ‫برای‬۱۳ ‫های‬‫ورک‬‫فریم‬ ‫از‬Django‫و‬Bootstrap.‫است‬ ‫شده‬ ‫استفاده‬ Image Service Glance ‫کردن‬ ‫پیدا‬ ‫برای‬ ‫هایی‬ ‫سرویس‬ ‫پروژه‬ ‫این‬۱۴ ‫کردن‬ ‫ثبت‬ ،۱۵ ‫بازگردانی‬ ‫و‬۱۶ ‫تصاویر‬۱۷ ‫های‬‫ماشین‬ ‫از‬ ‫استفاده‬ ‫کند.با‬‫می‬ ‫فراهم‬ ‫مجازی‬RESTful API‫گزارش‬ ‫توان‬‫می‬۱۸ ‫شامل‬ ‫که‬ ‫کرد‬ ‫تهیه‬ ‫هایی‬ ‫مختلفی‬ ‫های‬‫صورت‬ ‫به‬ ‫توان‬‫می‬ ‫را‬ ‫تصاویر‬ .‫هستند‬ ‫مجازی‬ ‫ماشین‬ ‫تصاویر‬ ‫مورد‬ ‫در‬ ‫هایی‬ ‫متاداده‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫یا‬ ‫سیستمی‬ ‫فایل‬ ‫-یک‬Swift.‫کرد‬ ‫سازی‬ ‫ذخیره‬ TelemetryCeilometer ‫های‬‫سرویس‬ ‫تمامی‬ ‫برای‬ ‫مدیریت‬ ‫و‬ ‫حسابداری‬ ‫سیستم‬ ‫سازی‬‫پیاده‬ ‫پروژه‬ ‫این‬ ‫هدف‬openstack .‫باشد‬‫می‬ IdentityKeystone‫هویت‬ ‫احزار‬ ‫سرویس‬۱۹ ‫مجوز‬ ‫و‬۲۰ ‫دیگر‬ ‫های‬ ‫سرویس‬ ‫برای‬OpenStack.‫کند‬ ‫می‬ ‫فراهم‬ 8 Compute 9 Spawning 10 Scheduling 11 Decommissioning 12 Access Control 13 Develop & Design 14 Discovering 15 Registering 16 Retrieving 17 Images 18 Query 19 Authentication 20 Authorization ۱۰
  • 11.
    Service OrchestrationHeat ‫دهندگان‬ ‫توسعه‬ ‫به‬‫پروژه‬ ‫این‬۲۱ ‫افزار‬‫نرم‬ ‫یک‬ ‫به‬ ‫مربوط‬ ‫های‬ ‫نیازمندی‬ ‫تا‬ ‫دهد‬‫می‬ ‫را‬ ‫امکان‬ ‫این‬ ‫نیاز‬ ‫مورد‬ ‫افزار‬‫نرم‬ ‫آن‬ ‫برای‬ ‫منابعی‬ ‫چه‬ ‫کنند‬ ‫مشخص‬ ‫و‬ ‫کنند‬ ‫سازی‬ ‫ذخیره‬ ‫فایل‬ ‫یک‬ ‫در‬ ‫را‬ ‫ابری‬ ‫تا‬ ‫کند‬‫می‬ ‫کمک‬ ‫صورت‬ ‫بدین‬ ‫است‬infrastructure‫مدیریت‬ ‫افزار‬‫نرم‬ ‫اجرای‬ ‫برای‬ ‫نیاز‬ ‫مورد‬ .‫شود‬ Block Storage Cinder‫بلوک‬ ‫سازی‬ ‫دخیره‬ ‫سرویس‬۲۲ ‫برای‬ ‫را‬OpenStack.‫کند‬‫می‬ ‫فراهم‬ Object Storage Swift Swift‫برای‬ ‫مخرنی‬object/blob.‫باشد‬‫می‬ ‫سازگار‬ ‫و‬ ‫شده‬ ‫توزیع‬ ،‫دسترس‬ ‫در‬ ‫بسیار‬ ‫که‬ ‫است‬ ‫و‬ ‫امن‬ ،‫کارآمد‬ ‫صورت‬ ‫به‬ ‫را‬ ‫اطلعات‬ ‫از‬ ‫زیادی‬ ‫مقدار‬ ‫آن‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫توانند‬‫می‬ ‫ها‬‫شرکت‬ ‫و‬ ‫افراد‬ .‫کنند‬ ‫سازی‬‫دخیره‬ ‫ارزان‬ Block Storage Cinder‫بلوک‬ ‫سازی‬ ‫دخیره‬ ‫سرویس‬۲۳ ‫برای‬ ‫را‬OpenStack.‫کند‬‫می‬ ‫فراهم‬ ‫این‬ ‫از‬ ‫هرکدام‬ ‫برای‬۹‫نویسی‬‫برنامه‬ ‫کاربردی‬ ‫رابط‬ ‫یک‬ ‫اصلی‬ ‫ی‬‫مؤلفه‬۲۴ ‫را‬ ‫ان‬GG‫امک‬ ‫ط‬GG‫راب‬ ‫ن‬GG‫ای‬ .‫ت‬GG‫اس‬ ‫شده‬ ‫تعریف‬ ‫ورت‬GG‫ص‬ ‫ه‬GG‫ب‬ ‫ا‬GG‫ه‬‫رابط‬ ‫ن‬GG‫ای‬ .‫ند‬GG‫باش‬ ‫اط‬GG‫ارتب‬ ‫در‬ ‫دیگر‬GG‫یک‬ ‫ا‬GG‫ب‬ ‫راحتی‬ ‫به‬ ‫ها‬‫مؤلفه‬ ‫تمامی‬ ‫تا‬ ‫دهد‬‫می‬RESTful‫ازی‬GG‫س‬‫پیاده‬ ‫تعریف‬ ‫به‬ ‫ادامه‬ ‫اند.در‬‫شده‬RESTful API‫ای‬GG‫ه‬‫مؤلفه‬ ‫ای‬GG‫ه‬‫رابط‬ ‫و‬ ‫پردازیم‬‫می‬OpenStack‫رار‬GG‫ق‬ ‫ی‬GG‫بررس‬ ‫ورد‬GG‫م‬ ‫را‬ .‫دهیم‬‫می‬ 21 Developers 22 Block Storage 23 Block Storage 24 API ۱۱
  • 12.
    ۲.۳.۲‫های‬‫مؤلفه‬ ‫های‬‫رابط‬OpenStack ‫های‬‫رابط‬ ‫شود‬‫گفته‬ ‫که‬ ‫طور‬‫همان‬OpenStack‫صورت‬ ‫به‬RESTful‫سازی‬‫پیاده‬‫ا‬GG‫ه‬‫رابط‬ ‫این‬ ‫ابتدا‬ ‫در‬ ‫اند.پس‬‫شده‬ ‫ویژگی‬ ‫و‬ ‫تعریف‬ ‫را‬‫ها‬‫آن‬.‫دهیم‬‫می‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬ ‫را‬ REST ۲۵ ‫چیست؟‬ REST‫انتزاعی‬۲۶ ،‫تر‬‫دقیق‬ ‫طور‬ ‫به‬ .‫است‬ ‫وب‬ ‫جهانی‬ ‫شبکه‬ ‫معماری‬ ‫از‬REST‫کل‬GG‫متش‬ ‫که‬ ‫ست‬‫معماری‬ ‫سبک‬ ‫یک‬ ‫ک‬GG‫ی‬ ‫درون‬ ‫داده‬ ‫ر‬GG‫عناص‬ ‫و‬ ‫ها‬‫دهنده‬‫ال‬GG‫اتص‬ ،‫ا‬GG‫ه‬‫مؤلفه‬ ‫به‬ ‫شده‬‫اعمال‬ ‫معماری‬ ‫های‬‫محدودیت‬ ‫از‬ ‫هماهنگ‬ ‫ای‬‫مجموعه‬ ‫از‬ .‫است‬ ‫شده‬‫توزیع‬ ‫سیستم‬REST‫از‬ ‫ا‬GG‫ه‬‫مؤلفه‬ ‫ل‬GG‫تعام‬ ‫هنگام‬ ‫موجود‬ ‫های‬‫محدودیت‬ ‫و‬ ‫ها‬‫مؤلفه‬ ‫نقش‬ ‫بر‬ ‫تمرکز‬ ‫منظور‬ ‫به‬ ‫ها‬‫مؤلفه‬ ‫سازی‬‫پیاده‬ ‫جزئیات‬‫سینتکس‬ ‫و‬۲۷ ‫کن‬‫می‬ ‫پوشی‬‫چشم‬ ‫ها‬‫پروتکل‬.‫د‬]۴[ ‫سیستم‬ ‫یک‬ ‫های‬‫ویژگی‬REST:‫شود‬‫می‬ ‫تعریف‬ ‫قاعده‬ ‫شش‬ ‫توسط‬]۵[ ۱.‫کلینت‬–‫سرور‬28 .‫باشد‬ ۲.‫حالت‬ ‫بدون‬29 .‫باشد‬ ۳.‫قابلیت‬cache.‫باشد‬ ‫داشته‬30 ۴.‫بندی‬‫لیه‬ ‫سیستم‬31 .‫باشد‬ ‫داشته‬ ‫شده‬ ۵.‫یکنواخت‬ ‫واسط‬32 .‫باشد‬ ‫داشته‬ ۶..‫باشد‬ ‫نیاز‬ ‫صورت‬ ‫در‬ ‫کد‬ ‫قابلیت‬ ‫دارای‬33 25 Representational State Transfer 26 Abstraction 27 Syntax 28 Clinet - Server 29 Stateless 30 Cacheable 31 Layered System 32 Unifrom Interface 33 Code on Demand ۱۲
  • 13.
    ‫معماری‬REST‫ل‬GG‫پروتک‬ ‫از‬ ‫ه‬GG‫ک‬‫ت‬GG‫اس‬ ‫ای‬‫گونه‬‫به‬HTTP.‫د‬GG‫کن‬‫می‬ ‫تفاده‬GG‫اس‬‫ابع‬GG‫من‬34 ‫زی‬GG‫مرک‬ ‫وم‬GG‫مفه‬REST ‫کمک‬ ‫با‬ ‫باشند.منابع‬‫می‬URI35 ‫درخواستی‬ ‫شوند.کلینت‬‫می‬ ‫داده‬ ‫نمایش‬36 ‫از‬ ‫استفاده‬ ‫با‬ ‫را‬URI‫پروتکل‬ ‫متدهای‬ ‫و‬ HTTP‫و‬ ‫متد‬ ‫آن‬ ‫اساس‬ ‫بر‬ ‫سرور‬ ‫و‬ ‫کند‬ ‫می‬ ‫ارسال‬URI.‫کند‬‫می‬ ‫ارسال‬ ‫کلینت‬ ‫برای‬ ‫را‬ ‫پاسخ‬ ‫جدول‬۲‫متدهای‬ :HTTP ExamplesAction HTTP Method http://example.com/api/orders )retrieve order list( Obtain information about a resourceGET http://example.com/api/orders/123 )retrieve order #123( Obtain information about a resourceGET http://example.com/api/orders )create a new order, from data provided with the request( Create a new resourcePOST http://example.com/api/orders/123 )update order #123, from data provided with the request( Update a resourcePUT http://example.com/api/orders/123 )delete order #123( Delete a resourceDELETE ‫سازی‬‫پیاده‬ ‫برای‬RESTful API‫پایتون‬ ‫کمک‬ ‫به‬۳۷ ‫از‬ ‫توان‬‫می‬framework:‫کرد‬ ‫استفاده‬ ‫زیر‬ 1. Django 2. Flask 3. Bottle 4. Werkzeug 5. … 34 Resources 35 Uniform Resource Identifier 36 Request 37 Python ۱۳
  • 14.
    ‫این‬ ‫وجود‬ ‫با‬framework‫دهندگان‬‫توسعه‬،‫ها‬Openstack‫ی‬GG‫طراح‬ ‫ه‬GG‫ب‬ ‫دام‬GG‫اق‬ ‫پایتون‬ ‫های‬‫ماژول‬ ‫از‬ ‫استفاده‬ ‫با‬ ‫خود‬ RESTful API:‫از‬ ‫عبارتند‬ ‫ها‬‫ماژول‬ ‫اند.این‬‫کرده‬ • eventlet • greenlet • Routes • ... • WebOb • websockify • wsgiref • SQLALchemy ‫رابط‬ ‫مثال‬ ‫برای‬Glance API‫در‬ ‫ود‬GG‫موج‬ ‫تصاویر‬ ‫مورد‬ ‫در‬ ‫اطلعاتی‬ ‫خواهیم‬‫دهیم.می‬‫می‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬ ‫را‬ ‫ی‬‫داده‬ ‫پایگاه‬Glance.‫آوریم‬ ‫دست‬ ‫به‬ ‫ماژول‬ ‫کمک‬ ‫با‬ ‫ابتدا‬pycurl:‫باشد‬‫می‬ ‫زیر‬ ‫صورت‬ ‫به‬ ‫درخواست‬ ‫این‬ ‫نهایی‬ ‫شکل‬ ‫که‬ ‫سازیم‬‫می‬ ‫را‬ ‫درخواستی‬ curl -i -X GET -H 'X-Auth-Token: ***' -H 'Content-Type: application/json' -H 'User- Agent: python-glanceclient' http://127.0.0.1:9292/v1/images/detail? sort_key=name&sort_dir=asc&limit=20 ‫رابط‬ ‫جواب‬Glance: HTTP/1.1 200 OK date: Sun, 06 Jul 2014 07:46:07 GMT content-length: 472 content-type: application/json; charset=UTF-8 x-openstack-request-id: req-29656d86-49ea-427f-9968-b132e307ed3b }"images": [{"status": "active", "name": "cirros-0.3.2-x86_64", "deleted": false, "container_format": "bare", "created_at": "2014-07-01T07:29:55", "disk_format": "qcow2", "updated_at": "2014-07-0 1T07:29:55", "id": "fa6a9962-1a6e-4eef-8dda-74b2f0f39b65", "min_disk": 0, "protected": false, "min_ram": 0, "checksum": "64d7c1cd2b6f60c92c14662941cb7913", "owner": "ccfdfca34e6c47259bbffaad7bbdd e3c", "is_public": true, "deleted_at": null, "properties": {}, "size": 13167616{[{ ۱۴
  • 15.
    ۲.۴‫سازی‬‫پیاده‬ ‫معماری‬OpenStack]۳[ ‫سازی‬‫پیاده‬ ‫برای‬‫متداول‬ ‫های‬‫معماری‬ ‫از‬ ‫یکی‬openstack‫اری‬GG‫معم‬ ‫از‬ ‫تفاده‬GG‫اس‬Three-Node with OpenStack Networking:‫باشد‬‫می‬ •‫کننده‬‫کنترل‬ ‫نود‬Identity service, Image Service،‫شبکه‬ ‫و‬ ‫محاسبات‬ ‫مدیریتی‬ ‫های‬‫بخش‬ ،Networking plug-in‫اجرا‬ ‫را‬ ‫داشبورد‬ ‫و‬،‫داده‬ ‫پایگاه‬ ‫های‬‫سرویس‬ ‫شامل‬ ‫همچنین‬ .‫کند‬‫می‬message broker‫و‬NTP ۳۸ .‫باشد‬‫می‬ ‫از‬ ‫هایی‬‫بخش‬ ‫کننده‬‫کنترل‬ ‫نود‬ ،‫تمایل‬ ‫صورت‬ ‫در‬Block Storage , Object Storage , Database Service , Orchestration‫و‬Telemetry‫این‬ .‫کند‬‫می‬ ‫اجرا‬ ‫را‬‫ها‬‫مؤلفه‬‫محیط‬ ‫برای‬ ‫اضافی‬ ‫های‬‫ویژگی‬OpenStack .‫کنند‬‫می‬ ‫فراهم‬ •‫ن‬‫شبکه‬ ‫ود‬Networking plug-in, layer 2 agent‫و‬layer3 agent.‫کند‬ ‫می‬ ‫اجرا‬ ‫را‬‫لیه‬ ‫های‬‫سرویس‬‫دوم‬ ‫ی‬ ‫شامل‬‫سازی‬‫آماده‬۳۹ .‫باشد‬‫می‬ ‫مجازی‬ ‫های‬‫شبکه‬ ‫و‬ ‫ها‬‫تونل‬‫مسیریابی‬ ‫شامل‬ ‫سوم‬ ‫لیه‬ ‫های‬‫سرویس‬۴۰ ،NAT‫و‬ DHCP‫نود‬ ‫این‬ ‫همچنین‬ .‫باشد‬‫می‬‫اینترنت‬ ‫به‬ ‫اتصال‬.‫کند‬‫می‬ ‫فراهم‬ ‫مجازی‬ ‫های‬‫ماشین‬ ‫برای‬ •‫ن‬‫محاسبات‬ ‫ود‬‫بخش‬.‫کند‬ ‫می‬ ‫اجرا‬ ‫را‬ ‫مجازی‬ ‫ماشین‬ ‫مانیتور‬‫از‬ ‫ود‬GG‫ن‬ ‫ن‬GG‫ای‬ ‫رض‬GG‫ف‬‫پیش‬ ‫ور‬GG‫ط‬ ‫به‬KVM‫رای‬GG‫ب‬ ‫استف‬ ‫مجازی‬ ‫ماشین‬ ‫مانیتور‬‫نود‬ ‫این‬ ‫کند.همچنین‬‫می‬ ‫اده‬Networking plug-in‫و‬layer 2 agent‫می‬ ‫اجرا‬ ‫را‬ .‫کند‬ 38 Network Time Protocol 39 Provisioning 40 Routing ۱۵
  • 16.
  • 17.
    ۳‫اوکالیپتوس‬ ۴۱ ‫اوکالیپتوس‬]۷[‫اخت‬GG‫زیرس‬ ‫روی‬ ‫بر‬‫را‬ ‫ترکیبی‬ ‫و‬ ‫خصوصی‬ ‫ابرهای‬ ‫که‬ ‫است‬ ‫لینوکس‬ ‫بر‬ ‫مبتنی‬ ‫افزاری‬‫نرم‬۴۲ ‫های‬ ‫سازی‬‫پیاده‬ ‫موجود‬. ‫کند‬‫می‬‫ابع‬G‫من‬ ‫ن‬G‫.ای‬ ‫ازد‬G‫س‬‫می‬ ‫دور‬G‫مق‬ ‫را‬ ‫بکه‬GG‫ش‬ ‫و‬ ‫سازی‬‫دخیره‬ ،‫محاسباتی‬ ‫منابع‬ ‫تجمع‬ ‫اوکالیپتوس‬ ‫افزار‬‫نرم‬ ‫کاری‬ ‫حجم‬ ‫اساس‬ ‫بر‬ ‫توانند‬‫می‬۴۳ .‫شوند‬ ‫داده‬ ‫کاهش‬ ‫یا‬ ‫افزایش‬]۶[ ۳.۱‫اوکالیپتوس‬ ‫های‬‫مؤلفه‬ ‫از‬ ‫اوکالیپتوس‬۶‫مؤلفه‬:‫است‬ ‫شده‬ ‫تشکیل‬]۸[]۹[ 41 Eucalyptus 42 Infrastructure 43 Application ۱۷ ‫تصویر‬۴‫اوکالیپتوس‬ ‫های‬‫مؤلفه‬ :
  • 18.
    ‫جدول‬۳‫اوکالیپتوس‬ ‫های‬‫مؤلفه‬ ‫معرفی‬: ‫مؤلفه‬ ‫نام‬‫نویسی‬‫برنامه‬ ‫زبان‬‫توضیحات‬ Cloud Controller )CLC( Java CLC‫نهایی‬ ‫کاربران‬ ‫و‬ ‫دهندگان‬ ‫مدیران،توسعه‬ ‫برای‬۴۴ ‫محسوب‬ ‫کلود‬ ‫به‬ ‫ورود‬ ‫ی‬‫نقطه‬ .‫شود‬‫می‬ ClC،‫گیرد‬‫می‬ ‫گزارش‬ ‫دیگر‬ ‫های‬‫مؤلفه‬ ‫از‬ ‫منابع‬ ‫مورد‬ ‫در‬ ‫اطلعات‬ ‫آوردن‬ ‫دست‬ ‫به‬ ‫برای‬ ‫به‬ ‫درخواستهایی‬ ‫و‬ ‫کند‬‫می‬ ‫گیری‬‫تصمیم‬ ‫بال‬ ‫سطح‬ ‫در‬ ‫زمانبدی‬ ‫برای‬Cluster Controller .‫کند‬‫می‬ ‫ارسال‬ ،‫مدیریت‬ ‫فرم‬‫پلت‬ ‫برای‬ ‫کاربری‬ ‫رابط‬ ‫یک‬ ‫عنوان‬ ‫به‬CLC‫منابع‬ ‫نمایش‬ ‫و‬ ‫مدیریت‬ ‫ی‬‫وظیفه‬ .‫دارد‬ ‫را‬ ‫مجازی‬ WarlusJava Warlus‫صورت‬ ‫را‬ ‫ها‬‫داده‬ ‫تا‬ ‫دهد‬‫می‬ ‫اجازه‬ ‫کاربر‬ ‫به‬Objects/Buckets‫کند.با‬ ‫دخیره‬ ‫از‬ ‫استفاده‬Warlus‫توانید‬‫می‬Buckets.‫کنید‬ ‫لیست‬ ‫ویا‬ ‫کنید‬ ‫بسازید،پاک‬ ‫را‬ Cluster Controller )CC( C CC‫که‬ ‫هایی‬‫ماشین‬ ،‫است‬ ‫شبکه‬ ‫به‬ ‫اتصال‬ ‫دارای‬ ‫که‬ ‫واسط‬ ‫ماشین‬ ‫یک‬ ‫برروی‬ ‫شدن‬ ‫اجرا‬ ‫با‬ CLC‫و‬NC‫اجرا‬ ‫را‬‫کنند‬‫می‬‫متصل‬ ‫یگدیگر‬ ‫به‬.‫کند‬‫می‬CC‫را‬ ‫مجازی‬ ‫ماشین‬ ‫های‬‫شبکه‬ .‫کند‬‫می‬ ‫مدیریت‬CC‫مورد‬ ‫در‬ ‫را‬ ‫اطلعاتی‬ ‫همچنین‬‫ی‬‫مجموعه‬NC‫و‬ ‫کند‬‫می‬ ‫آوری‬‫جمع‬ ‫ها‬ .‫کند‬‫می‬ ‫زمانبدی‬ ‫را‬ ‫مجازی‬ ‫ماشین‬ ‫اجرای‬ Storage Controller )SC( Java SC‫با‬CC‫و‬NC‫و‬ ‫ها‬ ‫بلوک‬ ‫حجم‬ ‫و‬ ‫است‬ ‫ارتباط‬ ‫در‬spanshot‫مجازی‬ ‫های‬‫ماشین‬ ‫های‬ .‫کند‬‫می‬ ‫مدیریت‬ ‫را‬ ‫کلستر‬ ‫یک‬ ‫در‬ Node Controller )NC( C NC‫که‬ ‫هایی‬‫ماشین‬ ‫ی‬‫همه‬ ‫روی‬ ‫بر‬VM instances.‫شود‬‫می‬ ‫اجرا‬ ‫کنند‬‫می‬ ‫هاست‬ ‫را‬NC ‫های‬‫فعالیت‬VM‫کنترل‬ ‫را‬‫اجرا‬ ‫شامل‬ ‫ها‬‫فعالیت‬ ‫کند.این‬‫می‬۴۵ ‫باز‬ ،‫رسی‬۴۶ ‫دادن‬ ‫خاتمه‬ ‫و‬VM instances.‫باشد‬‫می‬ Vmware Broker )VB( - VB—‫ک‬‫مشتر‬ ‫کاربر‬ ‫که‬ ‫دسترستی‬‫قابل‬ ‫صورتی‬ ‫در‬ ‫و‬ ‫است‬ ‫اوکالیپتوس‬ ‫اختیاری‬ ‫ی‬‫مؤلفه‬۴۷ .‫باشد‬ ‫اکالیپتوس‬VB‫زیرساخت‬ ‫روی‬ ‫بر‬ ‫مجازی‬ ‫های‬‫ماشین‬ ‫تا‬ ‫کند‬‫می‬ ‫فراهم‬ ‫را‬ ‫امکان‬ ‫این‬ Vmware.‫شوند‬ ‫سازی‬‫پیاده‬ 44 End-Users 45 Execution 46 Insepection 47 Subscriber ۱۸
  • 19.
    ۴OpenNebula OpenNebula]۱۰[‫ای‬‫ونه‬GG‫گ‬ ‫ه‬GG‫ب‬ ‫زار‬GG‫اف‬‫نرم‬‫شود.این‬‫می‬ ‫استفاده‬ ‫دیتاسنتر‬ ‫سازی‬‫مجازی‬ ‫برای‬ ،‫باز‬‫متن‬ ‫افزاری‬‫نرم‬ ‫تیجه‬GG‫یابد.ن‬ ‫توسعه‬ ‫جدید‬ ‫های‬‫مؤلفه‬ ‫توسط‬ ‫همچین‬ ‫و‬ ‫شود‬ ‫داده‬ ‫تطبیق‬ ‫زیرساختی‬ ‫هر‬ ‫با‬ ‫راحتی‬ ‫به‬ ‫تا‬ ‫است‬ ‫شده‬ ‫طراحی‬ ‫دد‬GG‫متع‬ ‫نترهای‬GG‫دیتاس‬ ‫های‬‫رویس‬GG‫س‬ ‫با‬ ‫و‬ ‫کند‬ ‫سازی‬‫پیاده‬ ‫ابر‬ ‫های‬‫معماری‬ ‫انواع‬ ‫تواند‬‫می‬ ‫که‬ ‫است‬ ‫ماژولر‬ ‫سیستم‬ ‫یک‬ ‫اصلی‬ ‫های‬‫رابط‬ ‫ادامه‬ ‫باشد.در‬ ‫داشته‬ ‫رابطه‬OpenNebula.‫کنیم‬‫می‬ ‫بررسی‬ ‫را‬]۱۱[ ++C‫ی‬‫هسته‬ ‫در‬ ‫استفاده‬ ‫مورد‬ ‫نویسی‬ ‫برنامه‬ ‫زبان‬OpenNebula‫باشد.از‬‫می‬Ruby‫طراحی‬ ‫و‬ ‫توسعه‬ ‫برای‬CLI‫و‬ GUI.‫است‬ ‫شده‬ ‫استفاده‬ ‫های‬‫رابط‬ ‫ما‬OpenNebula‫ابر‬ ‫های‬‫رابط‬ :‫ایم‬‫کرده‬ ‫تقسیم‬ ‫اصلی‬ ‫ی‬‫دسته‬ ‫دو‬ ‫به‬ ‫را‬۴۸ ‫سیستم‬ ‫های‬‫رابط‬ ‫و‬۴۹ . 48 Cloud Interfaces 49 System Interfaces ۱۹ ‫تصویر‬۵‫معماری‬ ‫و‬ ‫ها‬‫رابط‬ :OpenNebula
  • 20.
    ۴.۱Cloud Interfaces ‫طریق‬ ‫از‬‫تا‬ ‫سازد‬‫می‬ ‫فراهم‬ ‫کاربر‬ ‫برای‬ ‫را‬ ‫امکان‬ ‫این‬ ‫ابر‬ ‫های‬‫رابط‬REST API‫ها‬‫مجازی،شبکه‬ ‫های‬‫ماشین‬ ‫راحتی‬ ‫به‬ ‫د‬GG‫مفی‬ ‫ایی‬GG‫انته‬ ‫اربران‬GG‫ک‬ ‫رای‬GG‫ب‬ q‫ا‬GG‫مخصوص‬ ‫و‬ ‫کند‬‫می‬ ‫مخفی‬ ‫را‬ ‫ابر‬ ‫های‬‫پیچیدگی‬ ‫ابر‬ ‫های‬‫کند.رابط‬ ‫مدیریت‬ ‫را‬ ‫تصاویر‬ ‫و‬ .‫است‬OpenNebula:‫کند‬‫می‬ ‫سازی‬‫پیاده‬ ‫را‬ ‫رابط‬ ‫نوع‬ ‫دو‬ ‫رابط‬ ‫نام‬‫توضیحات‬ EC2-Query API OpenNebula‫توسط‬ ‫شده‬ ‫ارائه‬ ‫های‬‫قابلیت‬[12]Amazon's EC2 API‫هایی‬‫عمده،قابلیت‬ ‫طور‬ ‫-به‬ ‫تمامی‬ ‫از‬ ‫توان‬‫می‬ ‫صورت‬ ‫این‬ ‫کند.در‬‫می‬ ‫سازی‬‫باشند-پیاده‬ ‫مجازی‬‫ماشین‬ ‫مدیریت‬ ‫به‬ ‫مربوط‬ ‫که‬ ‫گزارش‬ ‫ابزارهای‬EC2‫به‬ ‫تا‬ ‫کرد‬ ‫استفاده‬OpenNebula Cloud.‫داشت‬ ‫دسترسی‬ OCCI-OGF ‫سرویس‬ ‫یک‬ ‫رابط‬ ‫این‬RESTful‫فراهم‬ ‫را‬ ‫ابر‬ ‫منابع‬ ‫مانیتور‬ ‫و‬ ‫کردن‬ ‫ساختن،کنترل‬ ‫امکان‬ ‫که‬ ‫است‬ .‫سازد‬‫می‬ ۴.۲Systems Interfaces ‫رابط‬ ‫نام‬‫توضیحات‬ OpenNebula XML-RPC Interface ‫اصلی‬ ‫رابط‬OpenNebula‫های‬‫قابلیت‬ ‫تمامی‬ ‫به‬ ‫توان‬‫می‬ ‫رابط‬ ‫این‬ ‫از‬ ‫استفاده‬ ‫با‬ .‫است‬OpenNebula ‫منابع‬ ‫توان‬‫می‬ ‫مثال‬ ‫داشت.برای‬ ‫دسترسی‬OpenNebula،‫کاربرها‬ ،‫ها،تصاویر‬‫مجازی،شبکه‬ ‫های‬‫)ماشین‬ .‫کرد‬ ‫مدیریت‬ ‫را‬ (‫کلسترها‬ ‫و‬ ‫ها‬‫هاست‬ ‫ابر‬ ‫افزارهای‬‫نرم‬ ‫برای‬ ‫اگر‬۵۰ ‫برای‬ ‫پایین‬ ‫سطح‬ ‫رابط‬ ‫این‬ ‫به‬ ‫نیاز‬ ‫یا‬ ‫دهید‬‫می‬ ‫توسعه‬ ‫تخصصی‬ ‫های‬‫کتابخانه‬ ‫ی‬‫هسته‬ ‫با‬ ‫ارتباط‬OpenNebula‫رابط‬ ‫از‬ ‫دارید‬XML-RPC.‫کنید‬ ‫استفاده‬ The OpenNebula Cloud API (OCA) ‫ی‬‫هسته‬ ‫با‬ ‫ارتباط‬ ‫برای‬ ‫راحت‬ ‫و‬ ‫ساده‬ ‫راه‬ ‫یک‬ ‫رابط‬ ‫این‬OpenNebula‫های‬‫کند.رابط‬‫می‬ ‫فراهم‬OCA ‫مانند‬ ‫هایی‬‫قابلیت‬XML-RPC.‫سازد‬‫می‬ ‫فراهم‬ ‫ی‬‫پیشرفته‬ ‫ابزارهای‬ ‫اگر‬IaaS‫های‬‫قابلیت‬ ‫به‬ ‫کامل‬ ‫دسترسی‬ ‫نیازمند‬ ‫که‬ ‫دهید‬‫می‬ ‫توسعه‬ OpenNebula‫های‬‫رابط‬ ‫از‬ ‫باشد‬‫می‬OCA.‫کنید‬ ‫استفاده‬ 50 Cloud Applications ۲۰
  • 21.
    OpenNebula Drivers Interfaces ‫میان‬ ‫تعاملت‬OpenNebula‫انجام‬‫ساخت‬‫زیر‬ ‫هر‬ ‫مخصوص‬ ‫درایورهای‬ ‫توسط‬ ‫ابر‬ ‫های‬‫زیرساخت‬ ‫و‬ .‫گیرد‬‫می‬ OpenNebula Database OpenNebula‫حالت‬۵۱ ‫سازی‬‫ذخیره‬ ‫مداوم‬ ‫صورت‬ ‫به‬ ‫داده‬ ‫پایگاه‬ ‫در‬ ‫را‬ ‫زیادی‬ ‫حسابداری‬ ‫اطلعات‬ ‫و‬ .‫کند‬‫می‬ 51 State ۲۱
  • 22.
    ۵‫منابع‬ [1] Website: https://www.openstack.org/software/ [2]Website: https://github.com/openstack [3] Website: http://docs.openstack.org/icehouse/install-guide/install/apt-debian/content/ch_overview.html [4] Website: http://en.wikipedia.org/wiki/Representational_state_transfer [5] Website: http://www.iranapex.ir/index.php/blog/68-what-is-rest [6] Website: https://www.eucalyptus.com/docs/eucalyptus/4.0/index.html#install-guide/intro.html [7] Website: https://github.com/eucalyptus/eucalyptus [8] Website: https://www.eucalyptus.com/docs/eucalyptus/4.0/index.html#install-guide/euca_components.html [9] Website: http://en.wikipedia.org/wiki/Eucalyptus_%28software%29 [10] Website: https://github.com/OpenNebula/one [11] Website: http://docs.opennebula.org/4.6/integration/getting_started/introapis.html#introapis [12] Website: http://aws.amazon.com/ec2/ ۲۲
  • 23.