اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

معرفی مزایا و معایب Clustering در Linux

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    معرفی مزایا و معایب Clustering در Linux

    سلام دوستان من این بار تصمیم گرفتم که دانشم درباره کلاستر کردن سرورهای لینوکس را برای شما به اشتراک بگذارم که تحت عنوان Linux Clustering For Failover Scenario مطرح میکنم.
    کلاستر کردن سرورهای لینوکس





    پست های زیر هم مطالب مرتبط درباره clustering میباشد :

    1 - معرفی مزایا و معایب Clustering در Linux بخش 1

    2 - نحوه نصب و تنظیمات Cluster با استفاده از 2 Node در Linux بخش 2 (به زودی)

    3 - افزایش و اضافه کردن یک Failover به Clustering بخش 3 (به زودی)

    4 - Sync کردن تنظیمات و همچنین Start Up کردن Clustering (به زودی)



    اول از همه شما باید بدانید که cluster چیست و در صنعت چه استفاده ای از آن میشود و در حقیقت چه نوعی از مزایا و معایب را شامل میشود.



    Clustering چیست ؟

    کلاسترینگ (clustering) در حقیقت پخش کردن ارتباط میان 2 یا چندین سرور میباشد به طوری که این سرورها همانند یک سرور کار کنند. Clustering یکی از عمومی ترین تکنیک ها در میان مهندسان سیستم میباشد و آنها میتوانند سرورها را به عنوان یک سیستم Failover یا یک سیستم Load Balance و یا یک واحد پردازش parallel کلاستر (Cluster) کنند.

    با استفاده از این مقالات امیدوارم بتوانم شما را برای ایجاد یک Cluster لینوکسی با استفاده از 2 تا NOde بر روی سیستم عامل RedHat/Centos و برای یک سناریو Failover کمک کنم.

    تا اینجا شما یک ایده پایه از این که Cluster چیست دارید. بیایید به معنای آن زمانی که با Failover میاید و در حقیقت Failover Clustering بپردازیم. یک Failover Clustering مجموعه ای از سرورهاست که به منظور high availability اپلیکیشن ها و سرویس ها کنار هم جمع شدند.

    به عنوان مثال اگر یک سرور در مواقعی Fail شود سرور یا Node دیگر Load کار را به عهده خواهد گرفت و در حقیقت کاربر تجربه ای از Down Time نخواهد داشت. به منظور چنین سناریویی حداقل نیاز به 2 یا 3 سرور برای ایجاد تنظیمات درست خواهیم داشت.

    من ترجیح میدم از 3 سرور استفاده کنم یک سرور به عنوان سرور Cluster (ردهت) و 2 سرور دیگر به عنوان Node در حقیت (back end server). برای درک بهتر به diagram زیر توجه فرمایید :
    کد PHP:
    Cluster Server172.16.1.250
    Hostname
    clserver.test.net

    node01
    172.16.1.222
    Hostname
    nd01server.test.net

    node02
    172.16.1.223
    Hostname
    nd02server.test.net 
    claster کردن سرور لینوکس




    در سناریو بالا مدیریت Clustering در یک سرور مجزا صورت میگیرد که 2 Node همانطور که در diagram نمایش داده شده را کنترل میکند. سرور مدیریت Cluster به صورت مداوم سیگنال های beat به هر 2 Node ارسال میکند برای اینکه به منظور چک کردن اینکه آیا هر یک در حال fail شدن هستند یا نه؟ و در صورتی که هر کدام fail شوند Node دیگر load را به عهده بگیرد.



    مزایایی سرورهای Clustering :

    سرورهای Clustering کاملا راه کارهای با مقیاس بالا به شمار میآید. شما میتوانید به Cluster متعاقبا resource اضافه کنید اگر یک سرور در Cluster نیاز به هرگونه نگهداری یا تعمیر داشته باشد شما میتوانید با Stop کردن آن مشکل را برطرف کنید در حالی که Load روی سرورهای دیگر میباشد.

    در میان آپشن های high availability در حقیقت Clustering با توجه به اینکه بسیار راحت کانفیگ میشود و همچنین قابل اعتماد و پایدار (reliable) است از جایگاه ویژه ای برخوردار است. در صورتی که یک سرور در فراهم آوردن سرویس های بیشتر با مشکل روبه رو شود سرورهای دیگر در Clustering میتوانند load را بر عهده بگیرند.



    معایب سرورهای Clustering :

    هزینه بالاست. از آنجایی که Cluster نیاز به سخت افزار و یک Design خوب دارد نسبت به طراحی و مدیریت سرورهای غیر Cluster از هزینه های بالای برخوردار است. و در حقیقت این هزینه های بالا از مهمترین معایب این طراحی خاص به حساب میآید.

    از آنجایی که Clustering نیاز به چندین سرور همچنین سخت افزار بالا برای ایجاد یک سرور دارد مانیتور و نگه داری آن سخت است بنابراین زیر ساخت را افزایش میدهد.

    اکنون ببینیم چه نوعی از پکیج ها به منظور تنظیمات باید نصب شود. پکیج های rpm زیر را میتوانید از rpmfind.net دانلود کنید :
    کد PHP:
    Ricci (ricci-0.16.2-75.el6.x86_64.rpm)
    Luci (luci-0.26.0-63.el6.centos.x86_64.rpm)
    Mod_cluster (modcluster-0.16.2-29.el6.x86_64.rpm)
    CCS (ccs-0.16.2-75.el6_6.2.x86_64.rpm)
    CMAN(cman-3.0.12.1-68.el6.x86_64.rpm)
    Clusterlib (clusterlib-3.0.12.1-68.el6.x86_64.rpm
    و اینکه هر کدام از پکیج های بالا به چه منظور نصب و استفاده میشود :

    Ricci :
    یک daemon است که به منظور تنظیمات و مدیریت Cluster استفاده میشود. در حقیقت پیام های دریافت شده distributes/dispatches به node های کانفیگ شده distributes/dispatches میکند.

    Luci :
    یک سرور است که روی سرور مدیریت Cluster راه اندازی میشود و با دیگر node ها ارتباط برقرار میکند. و برای راحت شدن کار یک اینترفیس Web فراهم میآورد.

    Mod_Cluster :
    یک ابزار load balancer است که براساس سرویس های httpd بوده و در اینجا برای برقراری ارتباط با request های ورودی به همراه node های میباشد.

    CCS :
    برای ایجاد و تغییر تنظیمات Cluster روی node های ریموت از طریق Ricci مورد استفاده قرار میگیرد همچنین برای start و stop کردن سرویس Cluster استفاده میشود.

    CMAN :
    یکی از ابزارهای اولیه نسبت به Ricci و Luci برای Cluster میباشد از آنجایی که به عنوان مدیر Cluster یا Cluster manager عمل میکند. در حقیقت CMAN به جای Cluster Manager قرار میگیرد و یک high-availability add-on برای RedHat است که در میان node ها در کلاستر Distribute شده است.

    ادامه مبحث در بخش 2 با شما خواهیم بود و نحوه نصب و ایجاد Cluster برای سناریو مورد نظر را دنبال خواهیم کرد.

    منابع :
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 11-02-2021, 11:10 AM.

    #2
    سلام. قسمت های بعدیش در حال اماده سازی هست؟.

    کامنت


      #3
      سلام بله سعی میکنیم اولین فرصت ممکن ما بقی آموزش رو درست کنیم. ممنون از اطلاع رسانی تون

      کامنت

      درباره انجمن منطقه لینوکسی ها

      انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

      شبکه های اجتماعی
      در حال انجام ...
      X