fault tolerance یا تحمل خطا چیست؟
توانایی یک سیستم کامپیوتری، یک خوشه ابری یا یک شبکه برای ادامه عملیات حتی زمانی که بسیاری از مؤلفه ها از کار بیفتند، به عنوان تحمل خطا شناخته می شود.
یک راهاندازی مقاوم در برابر خطا معمولاً از سیستمی تشکیل میشود که توانایی ادامه کار بدون درز را حتی در شرایطی که یک یا چند جزء آن دچار خرابی هستند را دارد.
این متمایز از سیستم های غیر قابل تحمل است، که در آن هر گونه خرابی جزء ممکن است منجر به فروپاشی کامل سیستم شود!
تحمل خطا در محیطها و صنایعی که جریان کار و فرآیندها حیاتی و بسیار حساس به زمان هستند، مانند صنایع بهداشتی و مالی ، تقاضای بالایی دارد .
برای دستیابی به تحمل خطا، زیرساخت باید به گونه ای طراحی شود که حالت های خرابی در نظر گرفته شود و سیستم های مناسب برای مقابله با آنها توسعه یابد.
سیستم های مقاوم در برابر خطا نباید هیچ نقطه خرابی واحدی داشته باشند و باید بتوانند قطعه ای را که از خرابی رنج می برد جدا کرده و از گسترش بیشتر موضوع جلوگیری کنند.
با توجه به اینکه افزونگی ستون فقرات پشتیبانی از تحمل خطا است، سازمان ها نمی توانند تحمل خطا را برای همه اجزای سیستم اتخاذ کنند.
قبل از ادامه و اجرای یک طراحی مقاوم به خطا، شرکت ها باید ماهیت حیاتی جزء سیستم، احتمال خرابی و هزینه اجرای تحمل خطا را در نظر بگیرند.
اگر نیازهای سیستم به اندازه بحرانی نباشد و خطر شکست نسبتاً کم باشد، به دلیل هزینه های بالای اجرای تحمل خطا، ممکن است سازمان ها بخواهند دسترسی بالا را مستقر کنند!
در دسترس بودن بالا در مقابل تحمل خطا
به بیان ساده، تفاوت بین تحمل خطا و در دسترس بودن بالا را می توان به صورت زیر خلاصه کرد: تحمل خطا سرویس را قطع نمی کند، اما بسیار گران است، در حالی که در دسترس بودن بالا زمان خرابی بسیار کمی دارد.
مهم است که توجه داشته باشید که در دسترس بودن بالا و همچنین تحمل خطا، همان هدفی را دنبال می کنند که اطمینان حاصل شود که برنامه شما همیشه در دسترس است بدون اینکه باعث تخریب سیستم شما شود. علیرغم شباهت های آنها، تفاوت های قابل توجهی بین این دو وجود دارد. از نظر هزینه، طراحی، سطح افزونگی و پاسخ به خرابی قطعات از یکی به دیگری متفاوت است.
یک برنامه کاربردی با دسترسی بالا قصد دارد حداقل در ۹۹.۹۹۹٪ مواقع اجرا شود تا همیشه در دسترس کاربران باشد. ساختار آن تضمین می کند که اگر یکی از اجزای آن خراب شود، کل سیستم می تواند به سرعت به طور کلی بازیابی شود. چندین منبع اضافی در دسترس است تا در صورت شکست یکی، امکان ادامه کار برای منبع دیگری وجود داشته باشد.
در مقابل، تحمل خطا به دنبال آن است که برنامه شما را بدون وقفه فعال و اجرا کند. علاوه بر طراحی پیچیدهتر، دارای سطوح بالاتری از افزونگی است بنابراین میتواند در برابر هر گونه نقصی که ممکن است برای یکی از اجزای آن رخ دهد مقاومت کند. علاوه بر این، به دلیل منابع اضافی آن، نه تنها قادر به تحمل هرگونه خطای مؤلفه است، بلکه از تأثیرات عملکرد، از دست دادن داده ها و خرابی سیستم نیز جلوگیری می کند.
نرم افزار با دسترسی بالا
نرم افزار با در دسترس بودن بالا تضمین می کند که زیرساخت عملیاتی باقی می ماند و سیستم ها برای حداکثر زمان در دسترس هستند.
در دسترس بودن بالا مستلزم دسترسی نزدیک به صد درصد است، فقط کمی ضعیف تر از تحمل خطا است، که به عنوان صد در صد در دسترس بودن شناخته می شود!
با توجه به اینکه تحمل خطا بسیار گران است، بسیاری از شرکتها برای کارهایی که زمان کمتری دارند، مانند چاپ، در دسترس بودن بالا را انتخاب میکنند!
محیطهای چاپی بدون تنظیمات در دسترس بالا معمولاً در صورت خرابی هر یک از قطعات، از قطع کامل خدمات چاپ رنج میبرند.
با فعال بودن نرمافزار در دسترس بالا، سرورهای چاپ کپی میشوند، به طوری که در صورت خرابی، کارهای چاپ به سرور موجود هدایت میشوند و چاپ ادامه مییابد و به حداقل رساندن زمان خرابی تضمین میشود.
اثربخشی نرمافزار در دسترس بالا با عملکرد آن در هنگام خرابی اجزای سیستم و توانایی آن در کارکرد مجدد سیستم در سطحی نزدیک به قبل از خرابی تعیین میشود، به نحوی که زمان خرابی سیستم را حذف یا به میزان قابل توجهی کاهش دهد.
نرمافزار با در دسترسپذیری بالا باید قادر به مدیریت انواع خطاهای مؤثر بر در دسترس بودن سیستم، از جمله مسائل سختافزاری و نرمافزاری باشد!
این وبینار رایگان در مورد چگونگی دستیابی به چاپ ۲۴ ساعته در محیط چاپ خود را بررسی کنید !
خوشه بندی: راه حل با دسترسی بالا مایکروسافت
مایکروسافت برنامه با در دسترس بودن بالا یا سرویس خوشهبندی خود را که به عنوان Microsoft Cluster Server شناخته میشود، به کار میگیرد که به رایانههای سرور این امکان را میدهد تا بهصورت یکپارچه بهعنوان یک خوشه کامپیوتری واحد عمل کنند و در دسترس بودن بیشتر برای طیف گستردهای از خدمات و برنامهها، همراه با به حداقل رساندن زمان خرابی .
برنامهها و سرویسها بر روی منابع مشترک کار میکنند و در صورت خرابی، منابع مشترک به طور خودکار از یک سرور خراب به یک سرور با پیکربندی مشابه منتقل میشوند.
همانطور که ویندوز سرور ۲۰۱۲ منتشر شد، مایکروسافت تصمیم گرفت سرویس خوشه بندی را ادامه دهد، اما اجرای آن به وظایف حیاتی که بسیار حساس به زمان بودند محدود شد.
با این حال، وقتی نوبت به چاپ رسید، مایکروسافت تصمیم گرفت که زمان آن رسیده است که سرویس خوشه بندی ارائه شده برای چاپ را حذف کند و در عوض از سرور ۲۰۱۲ به بعد، پشتیبانی مجازی با دسترسی بالا را برای چاپ ارائه دهد!
در دسترس بودن زیاد مجازی: Microsoft Hyper-V
از زمان ظهور Windows Server 2012، مایکروسافت پشتیبانی از چاپ با دسترسی بالا را به فناوری Hyper-V خود اختصاص داد.
Hyper-V اساسا سرورهای چاپ را در دو یا چند ماشین مجازی مجازی می کند، با ماشین اضافی که به عنوان یک مکانیسم پشتیبان عمل می کند، می تواند چاپ را در سناریویی که در ماشین دیگر خراب است مدیریت کند.
این رویکرد مجازیسازی سرور چاپ برای دسترسی بالا، یک نمونه زنده از ماشین مجازی را ایجاد میکند که روی سرور فیزیکی دیگری اجرا میشود.
در صورت خرابی، ایجاد یک ماشین مجازی ثانویه جدید به طور خودکار راه اندازی می شود. یکی از نگرانیهای اصلی این راهاندازی در دسترس بودن بالا، خرابی است که به دلیل خرابی و متعاقب آن ایجاد یک ماشین مجازی دیگر رخ میدهد.
مراحل بعدی:
سازمان ها باید الزامات چاپ خود را ارزیابی کنند و تعیین کنند که خود را از نظر چشم انداز در دسترس بودن بالا کجا می بینند.
در محیطهایی که زمان بسیار مهم است، هیچ وقفه چاپی را نمیتوان تحمل کرد و بودجه شرکت میتواند هزینههای بیشتری را برای زیرساختهای فناوری اطلاعات در نظر بگیرد، ممکن است انتخاب یک سیستم چاپ کاملاً مقاوم در برابر خطا، گزینه بهتری باشد.
در تنظیماتی که شرکتها میتوانند از پس هزینههای کوتاهی برآیند، نرمافزار با در دسترس بودن بالا ممکن است راهحل مناسبی باشد که نزدیک به صد درصد در دسترس بودن را ارائه میدهد.