• ارسال به دوستان
  • چاپ
نام ارسال کننده :  
ایمیل ارسال کننده:
نام دریافت کننده :
ایمیل دریافت کننده :  
موضوع ایمیل :
کد تصویری :
 
هدف HAحذف تمامی نقاط Single Point Of Failure) SPOF) در تمامی لایه ‏های معماری است. در این بخش مقدمه‏ای درباره HA در OpenStack آورده شده است. سطوح مختلفی از HA در OpenStack وجود دارند. این سطوح عبارتند از:
سطح ۱: این سطح شامل هاست‏ های فیزیکی، تجهیزات ذخیره ‏سازی و شبکه و همچنین ابرناظرها (hypervisors) است.
سطح ۲: این سطح شامل سرویس‏های OpenStack مانند سرویس compute ، شبکه، پایگاه ‏داده‏ ها و سرویس‏ های انتقال پیام است.
سطح ۳: این سطح شامل ماشین‎های مجازی است که روی هاست ‏های فیزیکی قرار دارند و توسط سرویس‎های OpenStack مدیریت می‏شوند.
سطح ۴: این سطح شامل برنامه ‏های کاربردی است که روی ماشین‏ های مجازی اجرا می‎شوند.


از بین چهار سطح فوق، سطوح یک و دو بیشتر در OpenStack پشتیبانی می‏شوند. یکی از پارامترهایی که در بحث HA مورد توجه قرار می‏گیرد، نوع سرویس‏ ها از نظر stateless یا stateful بودن است. در ادامه توضیحات مختصری درباره هر یک از این دو نوع سرویس بیان می‏شود:


سرویس ‏های Stateless

سرویس‏های stateless سرویس‏ هایی هستند که نیاز به ذخیره‏ سازی درخواست‏ های (requests) قبلی ندارند. به عبارت دیگر هر درخواستی تنها نیاز به اطلاعاتی دارد که به همراه آن درخواست ارسال می‏شود و هیچ وابستگی به درخواست‏های قبلی یا بعدی ندارد. هیچ ارتباط و وابستگی بین درخواست‏های مختلف وجود ندارد و اگر درخواستی از بین برود به سادگی می‏تواند روی سرویس‏ دهنده دیگری اجرا شود.


سرویس‏های Stateful

سرویس ‏های stateful سرویس‏ هایی هستند که در این سرویس‏ ها بین درخواست‏ه ای مختلف وابستگی‏ وجود دارد. هر درخواستی ممکن است وابسته به نتایج درخواست‏ های قبلی باشد و با درخواست ‏های بعدی نیز وابستگی‏ هایی داشته باشد. مدیریت سرویس ‏های staeful به مراتب سخت‏ تر از مدیریت سرویس ‏های stateless است زیرا درخواست‏ های مختلف باید به منظور حفظ سازگاری با یکدیگر سنکرون باشند.
از جمله سرویس‏های stateless مربوط به OpenStack سرویس‏ های nova-api، nova-conductor، glance-api، keystone-api، neytron-api، nova-scheduler و web server هستند. سرویس های MySQL و RabbitMQ هم مثال‎ هایی از سرویس‏ های stateful مربوط به OpenStack هستند.


در حال حاضر سه روش کلی برای پیاده ‏سازی HA در OpenStack وجود دارد. هر یک از این روش‏ ها در ادامه به اختصار توضیح داده شده‏ اند:
۱- در ساده‏‏ ترین روش می‏توان از یک گره cloud controller استفاده کرد و این گره را مجازی ‏سازی کرد و سپس با استفاده از VMware clustering یا Linux clustering ماشین مجازی را HA کرد. اگرچه این روش، روشی ساده است ولی تنها باید در نواحی (regions) با تعداد محدودی از گره‏ های پردازشی (compute) و تعداد محدود فراخوانی‏ های API استفاده شود. همچنین این روش تنها دارای قابلیت مقیاس پذیری عمودی (vertical) است و از مقیاس ‏پذیری افقی (horizontal) پشتیبانی نمی‏کند. در عمل از این شیوه استفاده چندانی نمی‎شود.

۲- دومین روش برای فراهم کردن HA استفاده از روش Active/Passive است. این روش، شبیه روشی است که در قسمت قبل توضیح داده شد ولی به جای استفاده از VMware clustering یا Linux clustering برای شروع مجدد ماشین مجازی از کار افتاده، سرویس‏ های از کار افتاده را روی یک گره کنترلر دیگر روی Linux clustering بالا می‏آورد.

۳- سومین روش برای فراهم کردن HA روش Active/Active است. در این روش‏ سرویس ‏ها به صورت افقی (horizontally) مقیاس ‏پذیر هستند و یک موازنه کننده بار (load balancer) برای توزیع بار وجود دارد. هر دو روش Active/Passive و Active/Active نیازمند نرم‏ افزارهای کلاسترینگ برای بررسی در دسترس بودن سرویس‏ ها و هاست ‏ها هستند. دو نمونه متداول از این نرم‏ افزارها Pacemaker و Keepalived هستند.


شرکت سیگما دارای قابلیت پیاده‏ سازی OpenStack به صورت HA است.

نسخه قابل چاپ