اوبونتوسیستم عامل لینوکسمقالات وب

چگونه در لینوکس کلاسترینگ/ High Availability را پیکربندی کنیم؟

High Availability ( قابلیت در دسترس پذیری بالا) به کیفیتی از سیستم اطلاق می شود که به طور مداوم و بدون از کارافتادگی برای بازه زمانی طولانی به کار خود ادامه می دهد. راه حل های مربوط به HA را می توان به کمک نرم افزار یا سخت افزار اجرا کرد. یکی از رایج ترین راه حل های ایجاد در دسترس پذیری بالا استفاده از کلاسترینگ(Clustering) است. در دنیای کامپیوتر، کلاسترها از دو یا چند رایانه تشکیل شده اند که به همراه هم برای انجام یک وظیفه خاص عمل می کنند. در چنین وضعیتی، تنها یک node خدمات و سرویس ها را فراهم می کند و node ثانویه در صورت بروز از کار افتادگی وارد عمل می شود. کلاسترها انواع مختلفی دارند که از جمله آن ها می توان به Storage، HA، Load Balancing وHigh Performance اشاره کرد. در این مقاله قصد داریم نحوه پیکربندی کلاسترینگ در لینوکس را با هم مرور کنیم. پس همراه وب ایده باشید.


برای راه اندازی کلاستر، ما حداقل به دو سرور نیاز خواهیم داشت. در این مقاله ما از دو سرور لینوکسی با مشخصات زیر استفاده می کنیم:
Node1: 192.168.10.10
Node2: 192.168.10.11
در ادامه سعی می کنیم مباحث پایه ای نحوه توسعه، پیکربندی و حفظ در دسترس پذیری بالا / کلاسترینگ را در اوبونتو مورد بررسی قرار دهیم.

پیکربندی تنظیمات DNS لوکال بر روی هر سرور:

برای اینکه دو سرور ما بتوانند با هم ارتباط داشته باشند باید تنظیمات مناسبی برای DNS داشته باشیم. برای اینکار باید سری به فایل /etc/hosts در هر دو سرور بزنیم. این فایل را به کمک ویرایشگر مدنظر خود باز کنید.

 

ورودی های زیر را در فایل بالا وارد نمایید. شما باید از ای پی آدرس واقعی سرورهای خود استفاده کنید:

 

تغییرات ایجاد شده را ذخیره کنید و فایل را ببندید.

نصب وب سرور NGINX:

خوب حالا باید وب سرور خودمان را به کمک دستورات زیر نصب کنیم. انجام اینکار بسیار ساده و اسان خواهد بود:

 

بعد از اینکه فرایند نصب کامل شد، سرویس NGINX را استارت کنید و آن را در زمان بوت به صورت خودکار استارت نمایید. سپس ببینید این وب سرور به درستی کار می کند یا خیر. بر روی اوبونتو سرویس ها بعد از اینکه پیش پیکربندی پکیج ها تمام شد باید بلافاصله و به صورت خودکار اجرا شوند. شما می توانید خودتان این گزینه را فعال کنید:

 

بعد از اینکه سرویس های NGINX را استارت کردید، باید یک صفحه سفارشی ایجاد کنید تا کارکرد هر دو سرور را تست کنید. در این بخش سعی می کنیم محتوای صفحه ایندکس NGINX را همانند زیر اصلاح کنیم:

 

نصب و پیکربندی Corosync و Pacemaker:

در این مرحله باید Pacemaker, Corosync و Pcs را بر روی هر node نصب کنیم. برای اینکار از دستورات زیر کمک بگیرید.

 

بعد از اینکه فرآیند نصب کامل شد، باید مطمئن شوید که pcs daemon بر روی هر سرور به درستی کار می کند:

 

ایجاد کلاستر:

در طول فرایند نصب، کاربر سیستم به نام hacluster ایجاد شده است. پس باید تایید هویت مورد نیاز برای Pcs را تنظیم کنیم. اجازه دهید یک پسورد برای کاربر ایجاد شده تنظیم کنیم. ما باید از پسورد یکسانی بر روی هر دو سرور استفاده نماییم.

 

 

سپس بر روی یکی از سرورها(Node1)، دستور زیر را اجرا می کنیم تا فرایند تایید هویت راه اندازی شود:

 

در این مرحله یک کلاستر ایجاد می کنیم و برخی از node ها را بر روی آن قرار می دهیم.

 

کلاستر ایجاد شده را در بوت فعال می کنیم و سرویس را استارت می نماییم.

 

در این مرحله باید به کمک دستور زیر ببینیم سرویس های کلاستر به درستی کار می کنند یا خیر.

 

از نمونه خروجی های موجود می توان متوجه شد که هشدارهایی وجود دارد.

پیکربندی گزینه های مربوط به کلاستر:

اولین گزینه غیر فعال کردن STONITH بر روی Pacemaker است. این کامپوننت به محافظت از داده های شما کمک می کند. چون ما هنوز هیچ دستگاهی را پیکربندی نکرده ایم باید این قابلیت را هم غیر فعال کنیم.
برای اینکار می توانید از دستور زیر استفاده کنید:

 

به کمک اجرای دستور زیر می توانید Quorum policy را هم نادیده بگیرید:

 

بعد از اینکه گزینه های بالا را اجرا کردید، دستور زیر را اجرا نمایید تا بتوانید فهرستی از property ها را مشاهده کنید و مطمئن شوید که گزینه های بیان شده در بالا غیر فعال شده اند.

 

اضافه کردن سرویس کلاستر/ منابع:

در این بخش نگاهی به نحوه اضافه کردن منابع کلاستر می اندازیم. در ادامه سعی می کنیم یک آی پی ادرس شناور تنظیم کنیم. این آی پی آدرس در یک شبکه یا دیتاسنتر می تواند فورا از سروی به سرور دیگر برود. به خاطر داشته باشید که آی پی آدرس شناور تنها برای موقعیت های از کارافتادگی نیست و می تواند کاربرد دیگری هم داشته باشد. باید کلاستر را به گونه ای پیکربندی کنیم که تنها یک عضو فعال از آن بتواند در یک بازه زمانی خاص به ای پی شناور پاسخ دهد یا صاحب آن باشد.
دو منبع برای کلاستر خود اضافه می کنیم: یکی آی پی آدرس شناور به نام floating_ip و دیگری منبعی برای وب سرور به نام http_server.
در ابتدا آی پی آدرس شناور را اضافه می کنیم. به دستور زیر توجه کنید:

 

در دستور بالا:
• floating_ip: نام سرویس است
• ocf:heartbeat:IPaddr2 : به Pacemaker می گوید از چه اسکریپتی استفاده کند.
• op monitor interval=60s : به Pacemaker دستور می دهد سلامت این سرویس ها را هر یک دقیقه یکبار بررسی کند.
سپس منبع دوم را اضافه می کنیم:

 

بعد از اینکه سرویس های کلاستر را اضافه کردید، دستور زیر را وارد کنید تا وضعیت منابع را بررسی نمایید:

 

اگر خروجی این دستورات را بررسی کنید متوجه می شود که دو منبع بر روی آن فهرست شده است. سرویس ای پی شناور هنوز off است زیرا node اولیه در حال کار است. اگر فایر والی بر روی سیستم دارید باید ترافیک را برای nginx فعال کنید:

 

تست HA/ کلاسترینگ:

اخرین و مهم ترین بخش از کار تست کلاسترینگ و HA است. مرورگر خود را باز کنید و ای پی آدرس ۱۹۲٫۱۶۸٫۱۰٫۲۰ را وارد نمایید. شما باید از طریق node2.example.com ، صفحه پیش فرض NGINX را مشاهده نمایید. برای ایجاد از کارافتادگی، دستور زیر را وارد کنید:

 

سپس صفحه را با ای پی ادرس ۱۹۲٫۱۶۸٫۱۰٫۲۰ دوباره بارگذاری نمایید. حالا باید از طریق node1.example.com به صفحه NGINX دسترسی داشته باشید.

چگونه در لینوکس کلاسترینگ/ High Availability را پیکربندی کنیم؟
۳٫۱ (۶۲٫۵%) ۸ votes
برچسب ها

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

بستن