Отказоустойчивость — это способность ИТ-систем продолжать работу даже при отказе одного из элементов. Такие системы строятся на двух принципах:
- Обеспечение избыточности элементов (резервирование) — каждый отказавший элемент имеет как минимум один резервный для подмены;
- Изоляция элементов — отказавший элемент не может негативно воздействовать на другие компоненты системы.
Например, в отказоустойчивой системе дата-центра могут быть установлены сдвоенные блоки питания на каждом сервере. Если один блок питания выйдет из строя, система автоматически переключится на резервный, и работа продолжится без перерывов. Кроме того, диски могут быть объединены в RAID массив, что обеспечивает дублирование данных на нескольких дисках. В случае выхода из строя одного из дисков, остальные продолжат хранить данные, и это не повлияет на доступность системы.
Примеры технологий отказоустойчивости:
Наше мнение
- Повышенная отказоустойчивость помогает предотвратить временные сбои, но не заменяет необходимость регулярного резервного копирования данных. Это важно, чтобы в случае критических ситуаций, таких как масштабный сбой или пожар в серверной, гарантировать долгосрочную сохранность данных и обеспечить их быстрое восстановление после инцидента.
- Состояние компонентов отказоустойчивой системы требует регулярного мониторинга. Если отказ одного из зарезервированных элементов останется незамеченным, это может лишить систему отказоустойчивости. В случаях, когда автоматизированный мониторинг невозможен, его необходимо заменить систематическими ручными проверками в рамках регламентно-профилактического обслуживания.
- Даже в отказоустойчивой системе необходим план аварийного восстановления — набор мероприятий на случай, когда (не «если», а именно «когда») отказоустойчивая система всё же выйдет из строя.
- При проектировании отказоустойчивых систем мы рекомендуем уделить особое внимание предотвращению ситуаций «разделенный мозг» (split brain). В таких случаях зарезервированные элементы теряют связь и начинают считать, что другой больше не функционирует. Это может привести к несогласованности данных в серверных системах или к сбоям в работе сети. Обычно такие ситуации устраняются обеспечением отказоустойчивой связи между элементами и использованием технологий, таких как «кворум» или «свидетель».
- Хотя отказоустойчивость снижает вероятность инцидентов, она не устраняет их полностью. Для оценки общей надежности ИТ-инфраструктуры нужно изучить её архитектуру, взаимосвязь компонентов и методы их резервирования. Также необходимо рассчитать среднее время наработки на отказ (MTBF) для всей системы, опираясь на показатели отдельных элементов. Полученное значение может быть довольно большим, но не бесконечным.