جشنواره تخفیف های جمعه سیاه
محمد نصیری
بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

Failover Clustering چیست؟ معرفی سرویس کلاسترینگ مایکروسافت

قبلا در خصوص سرویس NLB Clustering در ویندوز سرور 2012 صحبت کردیم و در ادامه روش پیاده سازی سرویس NLB Clustering را نیز به شما در انجمن تخصصی فناوری اطلاعات ایران آموزش دادیم ، امروز قرار است در خصوص سرویس Failover Clustering صحبت کنیم . همانطور که قبلا هم اشاره کردیم ما از سرویسی مثل NLB فقط زمانی استفاده می کنیم که داده های ما مرتب در حال تغییر نباشند و عنوان کردیم که زمانیکه سرویس یا Application ای که داده های آن مرتبا در حال تغییر است نمی تواند به درستی در محیط های NLB کار کند .

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

به همین دلیل مایکروسافت سرویس دیگری به نام Failover Clustering را ارائه داده است که می تواند همان قابلیت های Clustering را برای سرویس ها و نرم افزارهایی ارائه دهد که داده های آنها دائما در حال تغییر هستند ، شما در نسخه های قبلی ویندوز سرور می توانستید از Failover Clustering در سرویس هایی مثل SQL Server و Exchange Server استفاده کنید اما در ویندوز سرور 2012 نسخه R2 شما قابلیت راه اندازی این سرویس برای بسیاری دیگر از سرویس های ویندوزی را دارید.

Failover Clustering چیست ؟

Failover Cluster به گروهی از سرورها گفته می شود که به گونه ای پیکربندی شده اند که از به وجود آمدن هرگونه Failure در سرورها جلوگیری می کنند و در صورت بروز Failure در سرورها سرویس دهی از بین نرفته و کلاینت ها همچنان می توانند از سرویس ها استفاده کنند. سرویس ها یا نرم افزارهای کاربردی که توسط Failover Cluster محافظت می شوند به نامها و اسامی مختلفی شناخته می شوند که از آن جمله می توان به Roles ، Clustered Roles ، Clustered Services ، Clustered Applications ، Highly Available Services و ... اشاره کرد.

به هر کدام از سرورهایی که در Failover Cluster سرویس دهی می کنند همانند سرورهایی که در NLB Cluster سرویس دهی می کنند یک Node گفته می شود. در یک Failover Cluster همانطور که از نامش هم پیداست در صورتیکه یکی از Node ها Fail شود بلافاصله یک Node دیگر جایگزین Node مورد نظر و Role تعریف شده می شود و در لفظ فنی سرور جدید بر روی سرور قدیمی Fail Over می کند. اگر فقط یک Role در حالت Failed قرار بگیرد و کل Node از دسترسی خارج نشود و Fail نشود ، فقط همان Role از طریق سرویس Failover Clustering ابتدا Restart می شود و در صورتیکه کارساز نشد کل Node توسط Node دیگری در صورت نیاز Fail Over می شود. در این حین کاربرانی که از سرویس ها استفاده می کنند تنها لحظه ای ممکن است احساس کنند مشکلی در ارتباط به وجود آمده است و نتیجه Fail Over شدن به سرعت برای کاربران قابل لمس خواهد بود.

تفاوت NLB Clustering و Failover Clustering در چیست ؟

تفاوت های مهمی در میان سرویس NLB Clustering و Failover Clustering وجود دارد. اول از همه در Failover Cluster فقط یک سرور در لحظه به درخواست های موجود در لحظه پاسخ می دهد ، این در حالی است که در NLB Clustering همه Host ها یا Node های موجود در Cluster می توانند در لحظه به درخواست های کلاینت ها سرویس دهی کنند. در NLB Clustering هر کدام از سرورها اگر قرار باشد اطلاعاتی را ذخیره سازی کنند در حافظه داخلی سرور این عملیات ذخیره سازی انجام می شود .

در حالیکه در Failover Clustering چیزی به نام Local Storage وجود نخواهد داشت و سرورهای موجود در Failover Cluster داده هایی که می خواهند بنویسند یا بخوانند را از طریق یک فضای ذخیره سازی اشتراکی یا Shared Storage در شبکه مانند فضاهای Logical Unit Numbers یا LUN های موجود در iSCSI یا Fiber Channel در SAN Storage ها تامین می کنند. این مشترک بودن فضای ذخیره سازی داده ها باعث می شود که فقط یک منبع برای ذخیره سازی داده های سرورهای موجود در Failover Cluster وجود داشته باشد و این از به وجود آمدن تناقض و ناهماهنگی در این داده ها جلوگیری می کند.

نتیجه گیری کلی در درک تفاوت بین NLB Cluster و Failover Cluster در این است که در بحث Failover Clustering اولویت با دسترسی پذیری یا Availability سرویس ها است و در محل هایی استفاده می شود که کلاینت ها قرار است داده ای را بروز رسانی کنند ، شما معمولا سرورهایی مانند فایل سرور ، Database سرور ، Mail Server و یا پرینت سرور و در نهایت Virtual Machine های خودتان را می توانید در Failover Cluster قرار دهید ، بر خلاف این حالت شما سرویس هایی را در NLB Cluster قرار می دهید که می دانید داده ای برای بروز رسانی وجود ندارد ، بیشترین استفاده از NLB Cluster ها در وب سرورها است. در پایین می توانید شماتیک کلی یک Failover Cluster را بصورت کامل مشاهده کنید که در ساده ترین حالت ممکن با دو عدد Node ایجاد شده است :

معرفی سرویس Failover Clustering در ویندوز سرور 2012

نیازمندی های سخت افزاری برای راه اندازی Failover Clustering

برای راه اندازی سرویس Failover Clustering به دو سطح تجهیزات نیاز داریم ، اولین سطح در سرورها و دومین سطح در دستگاه های ذخیره سازی شبکه است ، شما در محیط های واقعی طبیعتا بایستی همه این موارد را بصورت فیزیکی داشته باشید اما در اینجا ما در ITPRO همه این موارد را بصورت مجازی انجام می دهیم که در سناریوی بعدی حتما مشاهده خواهید کرد ، اما بصورت کلی شما به موارد زیر برای راه اندازی Failover Clustering نیاز دارید :

  • نیازمندی های سرور : برای راه اندازی Failover Clustering شما نیازمند حداقل دو عدد سرور فیزیکی با حداقل دو عدد کارت شبکه فیزیکی هستید. هر کدام از این سرورها به عنوان یک Node در Cluster شناخته می شود ، توجه کنید که حداکثر تعداد Node ای که شما می توانید در یک Failover Cluster داشته باشید 64 عدد می باشد. اگر شما می خواهید مثل unity در ITPRO تنظیمات را بصورت مجازی انجام دهید تا با روند ایجاد کردن Failover Clustering آشنا شوید می توانید حتی یک Single Node Cluster با یک سرور ایجاد کیند و یا اینکه در محیط مجازی سازی مثل VMware Workstation دو عدد ویندوز سرور 2012 راه اندازی کنید و تمامی مواردی که برای راه اندازی Failover Clustering نیاز دارید در آنها راه اندازی کنید.
  • نیازمندی های ذخیره سازی یا Storage : برای راه اندازی Failover Cluster شما نیاز به یک دستگاه SAN Storage یا یک هارد دیسک SAS به اشتراک گذاشته شده در شبکه دارید . شما می توانید حتی Virtual Machine هایی که با Hyper-V در ویندوز سرور 2012 ایجاد می کنید را در این فضاهای اشتراک ذخیره سازی کنید ( هر چند دو زارم Hyper-V رو به عنوان یک مجازی ساز واقعی قبول ندارم ولی مایکروسافته دیگه D: ) . توجه کنید که شما می توانید در خصوص SAN Storage ها از طریق همین لینک اطلاعاتی بدست بیاورید ، در ضمن ما در محیط های لابراتوار این امکان را داریم که کلیه تجهیزات مورد نیاز اعم از SAN Storage را نیز مجازی سازی کنیم و به همین دلیل در سناریویی که در انجمن تخصصی فناوری اطلاعات ایران در خصوص راه اندازی Failover Clustering به شما آموزش خواهیم داد از همین نرم افزارهای مجازی سازی SAN Storage استفاده خواهیم کرد.

توجه کنید که راه اندازی کردن سرویس Failover Clustering در محیط های واقعی هزینه های نسبتا زیادی را در بر دارد و برای محیط هایی پیشنهاد می شود که حاضر هستند هزینه های آن را هم پرداخت کنند. اگر می خواهید در محیط های واقعی این سرویس را راه اندازی کنید پیشنهاد می شود که شما سرورهای سخت افزاری مناسب که دارای کارت شبکه های مخصوص اتصال به SAN Storage ها باشند ، SAN Storage واقعی که مثلا از برند هایی مثل HP یا .. باشند .

حتی در محیط های واقعی برای راه اندازی چنین سرویس هایی برای هر کدام از تجهیزات اعم از سویچ ها و روترها را نیز بصورت Redundant باید در نظر بگیریم. شما می توانید در نسخه های Standard و Datacenter از ویندوز سرور 2012 یا ویندوز سرور 2012 نسخه R2 سرویس Failover Clustering را راه اندازی کنید. در یک Failover Cluster همه Node های موجود بایستی به عضویت یک Active Directory Domain در بیایند ، در نهایت مشابه NLB Clustering قابلیت Failover Clustering نیز بایستی بر روی همه سرورهای موجود در یک Cluster نصب شده باشد.


محمد نصیری
محمد نصیری

بنیانگذار انجمن تخصصی فناوری اطلاعات ایران ، هکر کلاه خاکستری ، کارشناس امنیت اطلاعات و ارتباطات

محمد نصیری هستم ، بنیانگذار انجمن تخصصی فناوری اطلاعات ایران و مجموعه توسینسو ، هکر قانونمند و کارشناس امنیت سایبری ، سابقه همکاری با بیش از 80 سازمان دولتی ، خصوصی ، نظامی و انتظامی در قالب مشاور ، مدرس و مدیر و ناظر پروژه ، مدرس دوره های تخصص شبکه ، امنیت ، هک و نفوذ ، در حال حاضر در ایران دیگه رسما فعالیتی غیر از مشاوره انجام نمیدم ، عاشق آموزش و تدریس هستم و به همین دلیل دوره های آموزشی که ضبط می کنم در دنیا بی نظیر هستند.

نظرات