2022-12-16 19:26:02
Уровни построения отказоустойчивости.
Отказоустойчивость ИТ-сервиса в виртуальной среде можно обеспечить на разных уровнях:
На уровне сервера:
При внезапном выходе сервера из строя виртуальные машины перезапускаются на других узлах. Классический Active-passive кластер с его особенностями:
Требуется время на переключение, загрузку операционной системы и старт сервисов.
Есть вероятность потерять несохраненные на диск данные или повредить уже сохранённые из-за особенностей работы приложения.
На уровне виртуальной машины:
Гипервизор поддерживает постоянно обновляющуюся копию виртуальной машины на другом узле, в случае отказа происходит "незаметное" для клиентов переключение на резервную машину.
Потеря времени на переключение минимальна
Есть шанс избежать отключения клиентов.
На уровне приложения:
Переключение, транзакций и безопасность данных контролируется самим приложением, выполнение приложения распределено между несколькими независимыми операционными системами.
Меньше вероятность,что что-то пойдёт не так и транзакция, будет потеряна или возникнет неконсистентность данных.
Можно обеспечить распределение нагрузки между несколькими узлами.
На каком уровне обеспечивать отказоустойчивость - зависит от задачи:
Если 10 минут на перезагрузку ОС, в случае сбоя, не проблема - это стоит отдать на откуп системе виртуализации на уровне сервера.
Если важна каждая транзакция и консистентность данных — то лучше к отказоустойчивости на уровне приложения, добавив ещё и отказоустойчивость конкретных узлов на уровне сервера.
Если приложение не возможно кластеризовать, в том числе и кластерным окружением в ОС, но при этом необходима высокая доступность — то на уровне виртуальной машины. Этот вариант хуже с точки зрения предсказуемости поведения при отказе, но проще доработки приложения или внедрения кластерного окружения.
При проектировании любой инфраструктуры важно собрать требования к отказоустойчивости для всех сервисов, мы собираем их в процессе составления SLA.
#open_source_virt
202 views16:26