fault tolerance چیست؟
توسط sajjad
fault tolerance (تحمل پذیری خطا) در شبکه به توانایی سیستم (کامپیوتر ، شبکه ، کلود کلاستر و غیره) برای ادامه کار بدون وقفه در صورت خرابی یک یا چند جز از آن اشاره دارد. به عبارتی ویژگی ای است که سامانه را قادر میسازد تا با به وجود آمدن اشکال (یک یا چندین اشکال) در اجزایش، به صورت صحیح به کار خود ادامه دهد.
هدف از ایجاد یک سیستم تحمل خطا جلوگیری از اختلالات ناشی از یک نقطه خرابی و اطمینان از در دسترس بودن و تداوم برنامه های کاربردی مهم تجاری یا سیستم های مهم است. سیستم های تحمل پذیر خطا از اجزای پشتیبان استفاده می کنند که به طور خودکار جایگزین اجزای خراب می شوند. تحمل خطا می تواند در استراتژی بازیابی فاجعه (disaster recovery strategy) نقش داشته باشد.
به عنوان مثال، سیستم های Fault tolerance با اجزای پشتیبان در فضای ابری می توانند سیستم های مهم را به سرعت بازیابی کنند ، حتی اگر یک فاجعه طبیعی یا انسانی ناشی از آن باعث از بین رفتن زیرساخت های فناوری اطلاعات شود
اجزاء سیستمهای دارای تحمل خطا برای جلوگیری از قطعی سرویس:
- سیستمهای سختافزار که با سیستمهایی مشخص یا معادل خود، پشتیبانی میشوند. به عنوان مثال، یک سرور میتواند با استفاده از سروری موازی خود همراه با تمام اجزای مشابه، تحمل خطای بالایی داشته باشد.
- سیستمهای نرم افزاری که با نرمافزارهای مشابه، پشتیبانی میشوند. به عنوان مثال، یک دیتابیس با اطلاعات کاربران میتواند به صورت منظم در سیستمی دیگر، بکاپگیری شود. اگر دیتابیس اولیه دچار مشکل شد، عملیاتها میتوانند به صورت خودکار به دیتابیس دوم ریدایرکت شوند.
- منابع انرژی که توسط منابعی جایگزین، دارای تحمل خطا هستند. به عنوان مثال، سازمانهای بسیاری دارای ژنراتورهای تولید انرژی هستند که میتوانند انرژی مورد نیاز سیستمها را به عنوان قطعی برق، تامین کنند.
به صورت مشابه، هر سیستم یا اجزایی که ممکن است منبع بروز خطا باشند، میتوانند با استفاده از ریداندنسی، تحمل خطای بالایی داشته باشند.
موارد استفاده Fault Tolerance
زمانی که ماشین Secondary فعال شده و نقش ماشین Primary را اجرا میکند ، وضعیت ماشین به طور کامل بازیابی میشود ، یعنی محتویات رم ، برنامه های در حال اجرا و وضعیت پردازشی بدون هیچ تاخیر و نیاز به Load مجدد .به عنوان مثال از این قابلیت برای زمانی که سرویسی داریم که نیاز داریم تمام مدت ، بدون هیچ تاخیری در حال اجرا باشد ، استفاده میشود.
نیازمندی ها و محدودیت های
CPU هاست ها باید با vMotion و یا Enhanced vMotion سازگار باشد و از MMU پشتیبانی کند و حتما از شبکه ۱۰G در بستر شبکه استفاده شود. در هر هاست حداکثر تا ۴ ماشین را میتوان توسط FT محافظت کرد (هر دو Primary و Secondary شمارش می شوند) اما میتوان این محدودیت را از طریق Advanced Option افزایش داد.
در ورژن ۶ به بعد، دیسک ماشین Secondary می تواند روی LUN دیگری در Storage دیگر باشد زیرا دو ماشین در حال Sync شدن هستند. ماشین Secondary برای آپدیت شدن وضعیت اش باید محتویات Memory و CPU را سینک کند، برای اینکار باید پورت VMkernel network داشته باشیم. به همین دلیل VMware توصیه می کند برای پورت فیزیکی از کارت ۱۰G استفاده شود.
از ماشینی که FT enabled می شود نمی توان Snapshot گرفته و Snapshot های قبلی را باید حذف کرد.
تفاوت تحمل خطا و دسترسی بالا
منظور از دسترسی بالا، توانایی یک سیستم برای جلوگیری از از دست رفتن سرویس مورد نظر با به حداقل رساندن زمان داون بودن، است. این امر در ارتباط با آپتایم بودن سیستم، به عنوان درصدی از زمان اجرای آن محاسبه میشود. آپتایم ۹۹.۹۹۹٪ ایدهآلترین زمان در دسترس بودن برای یک سیستم است.
در اکثر مواقع، استراتژی یک بیزینس شامل هر دو دسترسی بالا و تحمل خطا میباشد تا از این طریق پابرجا بودن وظایف اصلی یک سازمان در زمان بروز مشکلات، تضمین شود
زمانی که هر دو تحمل خطا و دسترسی بالا، مدتها برای عملیات یک سیستم در نظر گرفته شود، متوجه تفاوتهایی بین اهمیت هر کدام از آنها در برنامه مدیریت کسب و کار خود خواهید شد.
برای درک بهتر تفاوت بین تحمل خطا و دسترسی بالا، مثال زیر را بررسی میکنیم.
یک هواپیمای دو موتوره، سیستمی با تحمل خطا است، چرا که اگر یکی از موتورها دچار مشکل شد، موتور دوم وارد عمل شده و به هواپیما این امکان را میدهد تا به پرواز ادامه دهد.
در حالی که، اتومبیلی با تایر یدکی از دسترسی بالایی برخوردار است. پنچری تایر اتومبیل، موجب ایستادن آن میشود اما مدت زمان توقف آن بسیار کم است، چرا که تایر جدید به سادگی جایگزین تایر پنچر میشود.
پست های توصیه شده
کلان داده
14 مهر, 1402
تحول دیجیتال
14 مهر, 1402
تجزیه و تحلیل داده ها
14 مهر, 1402