کلاستر چیست؟
کلاستر سرور cluster server چیست؟
کلاستر یا کلاسترینگ عبارت است از گروهبندی و به کار گرفتن چند سرور مختلف، به عنوان یک سرور و سیستم واحد به طوری که بازدهی و عملکرد آن سیستم چند برابر شود.با توجه به معماری طراحی شده برای Cluster، هرکدام از این سرورها میتوانند در گروه خود به شکل انفرادی عمل کنند یا وظایف محوله بین تمام سرورهای کلاستر شده تقسیم شود.
از کلاسترینگ در صنایع و بخشهای مختلف استفاده میشود ولی عامترین استفاده از کلاستر در صنعت آیتی و مخابرات است برای فضاهای ذخیرهسازی، دیتابیسها و سرورها پردازشی است.
انواع کلاستر
از کلاستر کردن سرورها معمولا برای دو هدف اصلی استفاده میشود:
کارایی بالا: ذخیرهسازی داده و پشتیبان
دسترسی بالا: لود بالانسینگ و پردازش
در حالت اول روی سرورهایی که با هم Cluster میشود دیتای یکسانی ذخیره میشود و با ورود اطلاعات جدید به یک سرور، سایر سرورها نیز عینا آن اطلاعات را به صورت خودکار روی خود کپی و نگهداری میکنند. به این ترتیب اگر به هر دلیلی یکی از سرورها از کار بیفتد یا اطلاعات آن دچار اشکال شود، میتوان از اطلاعات ذخیره شده روی سایر سرورها استفاده کرد.
این اطلاعات میتواند روی دیسکهای مختلف یک سرور ذخیره شده باشد یا روی سرورهایی که در نقاط مختلف جهان قرار دارند.معمولا سایتها یا شرکتهایی که دادههای بسیار مهمی دارند و نمیخواهند خطری متوجه از دست دادن این دادهها شود، از کلاستر استفاده میکنند تا همواره اطلاعاتشان در امان بماند.
در حالت دوم از Cluster در شرایطی که بار زیاد پردازشی متوجه سیستم است، استفاده میشود. مثلا اگر سازمانی یک پایگاه داده عظیم داشته باشد و در لحظه هزاران ریکوئست به آن ارسال شود، با کلاستر کردن چند سرور میتوان بار پردازش را میان آنها بالانس کرد تا هر سرور بخشی از کار را برعهده بگیرد و سرعت پاسخگویی سیستم بیشتر شود.
یکی از تفاوتهای این دو حالت در این است که در حالت اول تنها یکی از سرورها به درخواستها پاسخ میدهد و در صورت از دسترس خارج شدن سرور اول، درخواستها به سرور دوم ارسال میشود، اما در حالت دوم همه سرورهای کلاستر شده با هم به درخواستها پاسخ میدهند تا بار پردازشی تقسیم شود.
cluster size چیست؟
اندازه کلاستر یا cluster size در واقع به کوچکترین مقداری از فضای دیسک اشاره دارد که می توان در آن فایلی قرار داد. وقتی در زمان فرمت یک پارتیشن هیچ cluster size تعریف نشده باشد، یک مقدار پیش فرض برای ان بر اساس اندازه پارتیشن درنظر گرفته می شود.
انواع مدل های پیاده سازی کلاستر چیست
مدل های مختلفی برای پیاده سازی کلاستر ها وجود دارد. به صورت کلی می توان گفت که دو عنصر رسانه پیاده سازی و معماری کنترل جریان پردازه ها در کلاستر ها مواردی است که می تواند در مدل پیکربندی کلاستر نقش حیاتی داشته باشد.
کلاسترهای سلسله مراتبی
کلاسترهای سلسله مراتبی به این صورت عمل می کنند که در شبکه های کوچکی که زیر مجموعه های اولیه این سیستم ها هستند، تمامی سیستم ها به یک شبکه متصل شده، و به عنوان سر خوشه ها، خود شبکه ای جدا را تشکیل می دهند. شبکه های تشکیل شده از این سر خوشه ها نیز خود زیر مجموعه هایی از خوشه های بزرگتر هستند.
یعنی در اینجا یک ساختار سلسله مراتبی است که با استفاده از آن سیستم های فعال، به صورت سلسله مراتبی به یکدیگر متصل می شوند.
کلاستر های متمرکز
در این نوع پیاده سازی، سرور های قدرتمندی در مرکز قرار می گیرند که سیستم های زیادی بدون واسطه به آنها وصل می شود. هر کدام از این شبکه های متمرکز خود یک زیر خوشه است، که با یکدیگر در ارتباط می باشند، و معمولا یک سرور قدرتمند کنترل داده ها را در بین این سرور ها برقرار می کند.
تفاوت این نوع از پیاده سازی با نوع سلسله مراتبی در سطح پیاده سازی خیلی کمتر از سری قبل بوده و در نخ های پردازشی(thread) ما یک درخت کم عمق است و در عوض هر کدام از سرور ها یا هسته ها تعداد بسیار زیادی از سیستم را پشتیبانی می کند. همینطور در مورد کنترل سیستم سلسله مراتبی باید گفت که در نهایت یکی از سرور ها مسئول کنترل کل کلاستر خواهد بود که در مورد سیستم مرکزی این سیستم می تواند دو یا سه سیستم به هم پیوسته باشد.
شاید در ظاهر تفاوتی بین این دو نوع از سرور وجود نداشته باشد اما پیش نیاز هایی که برای راه اندازی و بکارگیری چنین کلاستر هایی وجود دارد بسیار پیچیده خواهد بود.
کلاستر توزیع شده
در این نوع از کلاسترها ما شاهد یک مجموعه کامل از سیستم ها هستیم که به عنوان یک عضو واحد کار می کنند و از زیر شبکه های مختلف حرفی در میان نیست. در این نوع سیستم ها همه nodeها که می توانند سرور یا کامپیوتر باشند با یک پروتکل مش یا همان تور(پروتکل های اتصال سراسری مانند اینترنت) به هم متصل خواهند بود. در این سیستم ها پردازنده ها باید به صورتی تنظیم شود که نیازی به کنترل سرور ها نداشته باشند
در این سیستم ها یک قدرت پردازشی توزیع شده وجود دارد که می تواند با استفاده از سیستم های مخصوص کلاسترینگ به صورتی تقسیم شود که از کل قدرت پردازشی استفاده کند. این نوع از پیکربندی را می توان یک پیکربندی سازگار معرفی کرد که می تواند اماکن خوبی برای کم و زیاد کردن سیستم ها ایجاد کند.
کلاستر های چگال
کلاستر های چگال یا همان Density-based clustering در واقع نوعی از سیستم های توزیع شده هستند که با همان معماری طراحی شده اند با این تفاوت که کار پردازشی متفاوتی انجام می دهند.
در این سیستم ها وقتی تعدادی از کامپیوترها و یا سیستم های نزدیک به هم تشکیل یک هسته پردازشی را می دهند که می توان گفت این هسته به یک موجودیت منطقی مجزا تبدیل شده است. در این صورت عمده کار پردازشی در سیستم شما در هفته ها انجام می شود و تصمیم اینکه کدام یک از هستهها این کار را انجام دهد و یا کدام هسته قوی تر است، بر عهده کل سیستم خواهد بود و این کار با استفاده از همان الگوریتمی که کار را به صورت توزیع شده در می آورد انجام خواهد گرفت.
الگوریتم های چگال عموما بازدهی های خیلی خوبی را برای موارد مختلف در زمینه های آنالیزها و تحلیل داده ها دارند و می توانند از سایر سیستم ها برای کارهای ساده تر و از هسته های چگال خود برای پردازش های سنگین استفاده کنند.
نقش سرور ها و دیتاسنتر ها در این نوع کلاستر به این صورت است که هر کدام از آنها چون خود مرجعی از منابع پردازشی به حساب می آیند و معمولا چند سرور به صورت همزمان مورد استفاده قرار می گیرد، می توانند یک هسته چگال و سنگین از این کلاستر ها باشند.
کلاستر های گره ای
این نوع را ترکیبی از کلاستر های چگال و سلسله مراتبی می دانند. در این نوع از کلاستر ها، یک الگوریتم به صورت توزیع شده وجود دارد که کل سیستم و گره های چگالی که node ها در آن تشکیل می دهند را تشخیص داده و آنها را دسته بندی می کند. هر کدام از این گره ها اصطلاحا یک Cell یا سلول نامیده می شود.
کلاستر، task ها و پردازه هایی را که دارد بین سلول های خود تقسیم کرده و اینگونه بار پردازشی را مدیریت می کند.
پیاده سازی کلاستر ها بیشتر به صورت نرم افزاری خواهد بود و سیستم عامل هر کدام از سرورها می توانند برنامه هایی که دارند را روی این ساختار پیاده سازی کنند.
دیدگاهتان را بنویسید