Отказоустойчивость определяет процесс, позволяющий ОС реагировать на неисправности в аппаратном или программном обеспечении. Отказоустойчивость важна для непрерывной работы бизнеса и высокой доступности приложений и систем, независимо от неполадок.
Как обеспечить отказоустойчивость?
Для бесперебойной работы в системе не должно быть компонентов, которые в случае неисправности привели бы к отказу всей системы. Ключевые аспекты устойчивой системы: балансировка нагрузки и устранение появления единой точки отказа.
Обеспечение отказоустойчивости следует двум основным моделям.
- Нормальное функционирование системы — когда отказоустойчивая структура сталкивается с неисправностью, но продолжает функционировать в обычном режиме. Система не видит изменений в показателях производительности, таких как пропускная способность или время отклика.
- Плавный спад производительности при возникновении неполадок. Влияние сбоя на эффективность работы системы пропорционально серьезности неисправности — небольшая неполадка окажет незначительное влияние на производительность системы, а не приведет к полному отказу.
Главные элементы отказоустойчивой системы
В отказоустойчивых системах используют резервные компоненты, которые автоматически заменяют вышедшие из строя элементы для предотвращения потери работоспособности.
Аппаратные системы могут быть зарезервированы идентичными или эквивалентными им системами. Типичный пример — сервер, сделанный отказоустойчивым путем развертывания идентичного сервера, который работает параллельно и зеркально проводит все его операции. Например, избыточный массив самостоятельных дисков (RAID), который объединяет физические дисковые компоненты для достижения избыточности и повышения производительности.
Программные системы можно сделать отказоустойчивыми путем резервного копирования с помощью другого ПО. Распространенный пример — резервное копирование базы данных, содержащей данные о клиентах, для обеспечения ее непрерывной репликации на другую машину. В случае сбоя основной БД операции будут продолжаться, поскольку они автоматически реплицируются и перенаправляются на резервную базу данных.
Источники питания также можно сделать отказоустойчивыми: система оснащается одним или несколькими блоками питания, которым не нужно подавать питание на систему, если первичный БП работает нормально. В случае отказа или неисправности основного БП он может быть выведен из эксплуатации и заменен резервным, который берет на себя его функции и обеспечивает производительность системы.