تا %60 درصد تخفیف برای تنها 4 نفر با کد PPE3HEXQ + صدور گواهینامه فقط تا
000000

OpenStack چیست ؟ به زبان زیادی ساده : قسمت 2

خوب در قسمت قبلی شما متوجه شدید که ماهیت OpenStack چیست و به چه درد ما می خورد ! یکی از دوستان در مقاله اول هم سئوال مهمی پرسیدند که تفاوت OpenStack با سایر سرویس های Cloud در چیست ! که واضح توضیح دادیم که تفاوت آن در Open Source بودن است ! شما می توانید به Cloud خود ماژول های خودتان را اضافه کنید و برایش کد نویسی کنید و آن را توسعه دهید و از طرفی درگیر زیرساخت قضیه هم بشوید .

برعکس Azure و AWS که ما فقط در نقش کاربر هستیم و زیرساخت کاری به ما ندارد ! اما بگذریم ! اگر باز هم ابهامی در کار است در ادامه مطرح کنید ، قرار است امروز در خصوص مهمترین اجزا یا Component های OpenStack صحبت کنیم که کلی اسامی عجیب و غریب دارند و شما باید به عنوان یک OpenStack کار خود این اجزا و کاری که در پلتفرم OpenStack انجام می دهند را یاد بگیرید که در ادامه به زبان خیلی ساااده برای شما آنها را معرفی می کنیم :

معماری OpenStack

جزء اول به نام Nova

آخی ! وقتی اسم نوا رو میشنوم یاد شورلت Nova میوفتم !! ببخشید ربطی نداشت ولی خوب نوستالوژیه دیگه ! این کامپوننت از OpenStack رو می تونیم بگیم هسته اصلی پردازشی این پلتفرم کلاود هست ، یعنی چی ؟ یعنی اینکه اون کار اصلی Cloud که بحث عدم نیاز به دونستن زیرساخت های مجازی سازی در سمت کاربر هست رو Nova انجام میده ! یعنی چی ؟ باز هم ساده تر می گم ، وقتی شما میگید OpenStack همه پلتفرم های مجازی سازی و هایپروایزورها رو یکپارچه تحویل کاربر میده بدون اینکه کاربر متوجه بشه از چه هایپروایزوری داره استفاده می کنه یعنی کاری که Nova انجام میده !

این Nova هست که ماشین های مجازی KVM لینوکسی ، ماشین های مجازی ESXi محصول VMWare ، ماشین های مجازی Hyper-V مایکروسافتی ، ساختار ماشین مجازی Container Based ای مثل Docker و حتی LXC ها رو با هم یکپارچه می کنه ! یعنی هسته اینجاست ! Core اینجاست! قربونت برم اصل مطلب کلاود رو در OpenStack این قسمت هماهنگی پلتفرم های مختلف با هم انجام میده که همانا چیزی نیست جز Component ای به نام Nova و بس !!! البته فقط کارش به هماهنگی این پلتفرم ها ختم نمیشه ، قبلا هم گفتیم شما از OpenStack نیازهای IaaS رو میخاین ! یعنی منابع پردازشی و حتی پردازش موازی و ... حتی به مدت زمان معین شاید چند ساعت و چند روز ! اینکه کجا و روی چه ماشین مجازی و چه تکنولوزی انجام میشه برای شمای کاربر اصلا مهم نیست !

حالا اگه در این حین شما نیاز داشته باشید روی چندین سرور همزمان قدرت پردازشی تقسیم بشه ! همه سرورهای شما بصورت یکپارچه روی یک پردازش انرژی بزارن و در اصطلاح جمع کردن قدرت پردازشی رو داشته باشید که در اصطلاح خفنش بهش میگن HPC یا High Performance Computing اونکار رو هم Nova بر عهده داره .. باز هم به زبان ساده تر ، مدیریت پردازش ها و تعداد زیادی از ماشین های مجازی بر عهده Nova جون هست . پانوشت : HCP در لایه سخت افزار سرورها انجام میشه ، با VM ها الزاما درگیری نداره ... به تصویر پایین نگاه کنید !!! آخ من کشته مرده اون LibVirt ای هستم که مجازی ساز ایرانی ( KVM ایرانی ) میگه من ازش استفاده نمی کنم خخخخ

کامپوننت Nova در OpenStack

جزء دوم به نام Swift

اسم سویفت که میاد یاد تراکنش های مالی بین المللی میوفتم ! چقدر تحریممون کردناااا !!! بگذریم وقتی راجع به Component ای به نام Swift در OpenStack صحبت می کنیم یعنی داریم در مورد یک فایل سرور صحبت می کنیم ! حالا نگید چقدر مثال مسخره ای هست درستش اینه باید بگیم Object Storage Cloud !! خوب بابا چرا می زنید ! باشه Swift یک Object Storage Cloud هست ! حالا به زبان آدمیزاد Object تو محیط Cloud چه چیزهایی هست ؟

هر چیزی که در قالب فایل نگهداری بشه بهش میگیم Object برای مثال فایل ها ، ویدیوها ، داده های تحلیلی ( Analytics Data ) ، محتوای وب ، فایل های بکاپ و خود بکاپ ، تصاویر ، ماشین های مجازی ، Snapshot های ماشین های مجازی و در کل هر داده ای که در قالب ساختار پایگاه داده و زیرساخت خود OpenStack نباشه و یه جور فایل غیر پیکربندی سیستمی باشه ! وظیفه مدیریتش بر عهده Swift هست . Swift یک بستر نگهداری و مدیریت فایل در OpenStack هست ، فکر کنید قرار هست یک ماشین مجازی ایجاد کنید! خوب دیدید که از Image ها برای اینکار استفاده میشه !

خوب این Image ها توسط Swift مدیریت میشه ، Swift کاری می کنه که تمامی هارد دیسک هایی که در مجموعه Cloud شما وجود دارند به شکلی واحد و یکپارچه دیده بشن ! یعنی اگر مفهوم Storage Cluster رو بدونید Swift رو هم درک کردید ! فکر کنید 100 تا هارد دیسک رو Swift میگیره از 30 تا سرور مختلف و چیزی که شما می بینید یک هارد دیسک مثلا 100 ترابایتی هست و مهم نیست روی کدوم سرور هست ! خوبیش می دونید کجاست ؟ اگه یکی دو تا و ... از این هارد دیسک ها از بین بره ، هیچ داده ای از بین نمیره و وظیفه مدیریت یکپارچه و ذخیره سازی روی هارد دیسک ها مثل یک RAID Controller بر عهده Swift هست .

جزء سوم به نام Cinder

هرچند که واژه cinder به معنی سیلندر هم هست ! اما ترجمه google translate به معنی سیب زمینی هم از آن یاد می کند ! میدونم هیچ ربطی نداشت ولی ترجمه سیب زمینی شاید به ساختار ذخیره سازی داده ها بصورت بلاکی ربط داشته باشه دیگه ! مثلا بلوک هارد دیسک رو سیب زمینی در نظر بگیریم ! در واقع Cinder مسئولیت ذخیره سازی بلوک های داده رو بر عهده داره ، اگر با انواع تجهیزات Storage تحت شبکه مثل SAN Storage ها و NAS Storage ها و حتی شبیه سازهاشون کار کرده باشید باید درک کنید که ساختار داده ای Block Based چی هست و چه کاربردی داره !

به زبان ساده تر ! وقتی در OpenStack ما می خایم برای یک VM هارد دیسک اختصاص بدیم ، این وظیفه Cinder هست که بره شبیه کاری که پروتکل iSCSI برامون انجام میده رو از طریق زیرساختش انجام بده و منابع دیسک رو به VM اختصاص بده ، اگه با SAN Storage هایی مثل NetApp یا HP و حتی EMC کار کرده باشید قشنگ درک می کنید اینجا چه اتفاقی می افته ! این Cinder هست که وظیفه Attach و Deattach کردن Block های هارد دیسک از این Storage ها به زیرساخت IaaS رو بر عهده داره ، البته وظیفه ایجاد کردن یا Create و حذف کردن یا Remove یا Delete رو هم همین Cinder بر عهده داره .

جزء چهارم به نام Neutron

اگر با VMware NSX آشنایی داشته باشید حتما به سادگی کاربرد کامپوننت Neutron را متوجه خواهید شد . وقتی شما چند VM از یک محیط Cloud درخواست می کنید ، احتمالا نیاز دارید که این VM ها با هم در یک لایه شبکه اختصاصی باشند و در محیط کلاود شخص دیگری امکان دسترسی به آنها را نداشته باشد و ... به زبان ساده فرآیند پیکربندی شبکه مجازی یا همان Virtual Networking در محیط OpenStack بر عهده کامپوننت Neutron است .

ایجاد کردن VLAN و ایزوله کردن VM ها و فایروال و حتی IPS و IDS در این لایه و در این کامپوننت در OpenStack کار می کنند . به دلیل همین فرآیند شبکه سازی اختصاصی در محیط Cloud اوپن استک ، سرعت ارتباطی بین سرورها هم از این طریق بیشتر می شود . پس هر جا در OpenStack اسم نوترون را شنیدید یاد شبکه مجازی در محیط مجازی بیوفتید .. شنیده ها حاکی از آن است که نوترون باعث بالا رفتن سرعت ارتباط بین Component های مختلف OpenStack هم می شود که روش انجام اینکار را حداقل من نمی دارنم ! اگر می دانید در ادامه مطرح کنید .

جزء پنجم به نام Horizon

می دونم که اگه جزو افرادی باشید که با محصولات VMware کار کرده ، وقتی به اسم Horizon برخورد می کنید تصورتون این هست که مثلا داریم در مورد VDI در OpenStack صحبت می کنیم ، این تصور رو کلا دور بریزید چون هیچ ربطی به OpenStack نداره و یک مفهوم کاملا مستقل هست . Horizon در واقع اون چیزی هست که در سمت کاربر دیده میشه ، رابط کاربری تحت وبی که از طریق اون ما کلیه ماژول های OpenStack رو می بینیم و می تونیم محیط کلاود رو مدیریت کنیم رو بهش میگن Horizon ، به زبان فنی همون داشبورد مدیریتی گرافیکی که در جستجوی گوگل از محیط OpenStack می بینید همون Horizon هست. این کامپوننت ملموس ترین کامپوننت OpenStack هست که کاربر باهاش ارتباط میگیره و می تونه محیط Cloud رو و اتفاقاتی که روی محیط Cloud اش میوفته رو مشاهده کنه .Horizon طبق ذات معمول OpenStack با استفاده از زبان برنامه نویسی پایتون و فریمورک جانگو نوشته شده است و روی وب سرور آپاچی ( اگه اشتباه نکنم ، چون کلا پروژه اصلی مبتنی بر آپاچی هست ) اجرا می شود.

جزء ششم به نام Keystone

نه اصلا فکرشم نکنید ! هیچ ربطی نداره به اون Keystone ای که سالها تو شبکه در حوزه Passive ازش استفاده کردید ! فراموشش کنید !! هر سیستمی که در حوزه کلاود پیاده سازی می شود در نهایت دارای سطوح دسترسی و مجوزهای عبور و سیستم احراز هویت باید باشد ، Keystone به عنوان OpenStack Identity Service شناخته می شود و یک سیستم یکپارچه برای مدیریت کاربران OpenStack ایجاد می کند ، تقریبا شبیه کاری که اکتیودایرکتوری ( LDAP ) در سرویس های مایکروسافتی انجام می دهد با این تفاوت که روش های مختلف احراز هویتی در Keystone از جمله Username و Password ، روش استفاده از Token برای لاگین کردن و حتی مکانیزم لاگین آمازونی AWS در Keystone قابل استفاده هستند. تمام کاربرانی که در فضای OpenStack Cloud تعریف می شوند توسط کامپوننت Keystone مدیریت می شوند .

جزء هفتم به نام Glance

آقا من یه چیزی میگم نخندید تو رو خدا ولی در انگلیسی Glance به عنوان OpenStack Image Service در محیط OpenStack نام می برند ! حالا یه بنده خدایی در یک وب سایتی که بسیار مدعی مجازی سازی در ایران هستند در تعریف سرویس یا کامپوننت Glance میگه که خدمات تصویر در OpenStack را انجام می دهد !! یعنی اینقدر بیسوادی که نمیدونه در محیط مجازی سازی و Cloud وقتی صحبت از Image میشه منظور ما Image سیستم عامل ها و Template یعنی سیستم عامل های آماده برای نصب هست نه تصویر !! بگذریم !!! به زبان ساده کاربرد کامپوننت Glance در OpenStack مدیریت و انجام کارهای مرتبط با Image های دیسک و Image های سیستم عامل ( سرورها ) در فضای کلاود هست .

Glance وظیفه شناسایی یا Discovery ، ثبت کردن یا Registration و ارائه یا Delivery سرویس های مربوط به دیسک و سرور (Image) هاش رو بر عهده داره ، دقت کنید ذخیره سازی بهش ارتباطی نداره یعنی فضای ذخیره سازی ارتباطی بهش نداره اون کارش با Swift هست ، ایجاد کردن فالب های آماده از سیستم عامل ها و گرفتن Snapshot ها و در نهایت ایجاد کاتالوگی آماده از سرورها برای انتخاب کردن و فعال سازی در محیط Cloud با استفاده از Glance انجام میشه ... باز هم برای ساده سازی بیشتر ، اگر با استفاده از Template ها و Clone ها در VMware آشنایی داشته باشید و Deploy کردن ماشین های مجازی !! Glance چیزی شبیه به اینکار را در OpenStack انجام می دهد.

جزء هشتم به نام Ceilometer

هرجا در سرویس های کلاود و هر سرویس اینترنتی کلمه متر اومد ! یعنی قراره حساب کتاب کنیم چقدر باید پول بدید ! کامپوننت Ceilometer هم همینه عزیزم ! یعنی یک سیستم اکانتینگ و Billing هست که بصورت آنلاین و در لحظه وقتی کاربر منابع درخواستی خودش رو انتخاب می کنه ، بلافاصله هزینه هایی که نیاز هست براش پرداخت بشه رو محاسبه و بهش اعلام می کنه و در واقع قسمت تجاری و Business ماژول OpenStack محسوب میشه .

شما با استفاده از Ceilometer هست که ایده های تجاریتون رو می تونید در OpenStack پیاده سازی کنید ، مثلا اگر قرار هست به ریال محاسبه بشه و بره تو شبکه شتاب پرداختی داشته باشه از این قسمت باید استفاده بشه . صدور فاکتور و قبض از جمله سرویس هایی هست که در این کامپوننت اجرایی میشه و از طرفی الگوبرداری از سرویس های مشابه اکانتینگی مثل Microsoft Azure و AWS هست که به ازای IaaS هاشون مبلغی شارژ باید پرداخت بشه .

ادامه دارد ....

نویسنده : محمد نصیری

منبع : جزیره محاسبات ابری وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی است

عنوان
1 OpenStack چیست ؟ به زبان زیادی ساده : قسمت 1 رایگان
2 OpenStack چیست ؟ به زبان زیادی ساده : قسمت 2 رایگان
3 OpenStack چیست ؟ به زبان زیادی ساده : قسمت 3 رایگان
زمان و قیمت کل 0″ 0
2 نظر
مرتضی امیدیان

ای چقدر خندیدم از این جمله: :))))))))))))

""" آخ من کشته مرده اون LibVirt ای هستم که مجازی ساز ایرانی ( KVM ایرانی ) میگه من ازش استفاده نمی کنم خخخخ """

رضا پدرام

خدمات تصویر در OpenStack !!!
شاید مثل دوستان آروان می‌خوان از کلمات فارسی استفده کنند

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر