کلاستر و fence

کلاستر و fence



fence به معنای جلوگیری از ادامه فعالیت نود fail شده در کلاستر میباشد تا بدین طریق از ورود آسیبهای احتمالی توسط آن (آسیب وارده به اطلاعات) جلوگیری گردد. عمل fence با توجه به دیوایسهای در دسترس به شیوه‌های گوناگونی میتواند انجام شود. به عنوان مثال: ۱- در صورت در اختیار داشتن یک سیستم hp میتوان از قابلیتهای ilo (قابلیت مدیریت پاور سیستم از طریق شبکه در سرورهای اچ.پی) استفاده کرد. در این صورت در هنگام انجام عمل fence سیستم reboot خواهد شد. ۲- و همچنین در صورت استفاده از یک SAN Switch میتوان از قابلیت قطع اتصال سیستم به سوییچ (قطع اتصال منطقی) استفاده کرد. در این موارد جهت اینکه سیستم قادر به ادامه کار باشد میبایست یک بار reboot شود.

هنگامی که در یک کلاستر تشخیص داده شود که یک نود fail شده است، یکی از نودهای باقیمانده نود مورد نظر را fence خواهد کرد و این کار را تا زمانی ادامه خواهد داد که عمل fence موفقیت آمیز باشد.

در هنگام fail شدن یک نود،‌ زیرسیستمهای GFS (فایل سیستم کلاستر) و CLVD (مدیریت logical volume در کلاستر که جهت تبادل اطلاعات Metadata در مورد Cluster Storage در سطح کلاستر استفاده میشود) تا انجام موقیت آمیز fence از دسترسیها به اطلاعات کلاستر جلوگیری خواهند کرد.

در نتیجه در صورتیکه عمل fence به صورت موفقیت آمیزی انجام نشود، تمامی دسترسیها به Cluster Storage متوقف و سرویسهایی که اطلاعات آنها بر روی آن منبع ذخیره کلاستر وجود دارد به حالت wait خواهند رفت.

بنابراین تعیین متدهای fence مناسب و اطمینان از صحت عملکرد آنها بسیار مهم است.

این امکان وجود دارد که برای یک نود چندین روش fencing تعریف شود (با توجه به تجهیزات موجود). در چنین مواردی در هنگام انجام عمل fence، نود fence کننده مابین روشها به ترتیب تعریف شده loop میزند تا عمل fence موفقیت آمیز باشد. به عبارتی یک loop بینهایت است. در صورتیکه تنظیمات به درستی انجام نشده باشد این حلقه بینهایت به سرانجام نرسیده و دسترسیها به اطلاعات کلاستر(GFS) قفل خواهد شد.

در صورتیکه سیستم مورد نظر ما دارای چند Power (به عنوان مثال در صورت استفاده از Power Switch) باشد و یا چند مسیر به استوریج داشته باشد (Multi Path) لازم است که برای هر کدام یک fence device مجزا تعریف شود.

  • زمانهای انجام شدن عمل fence

۱- درصورتیکه نود fail شود

۲- در هنگام join شدن نود به کلاستر، در صورتیکه در مدت زمان مشخصی پاسخی از نود دریافت نشود نود join fence خواهد شد.

۳- در هنگام شروع به کار کلاستر،‌ هر نودی که حاضر نباشد fence خواهد شد که به این عمل Startup fence میگویند. میتوان با تنظیم پارامتر post-join-delay میزان زمانی(ثانیه) که نودها بعد از join شدن به کلاستر برای fence کردن نودهای غیر حاضر صبر میکنند را مشخص کرد.