Отказоустойчивость — это переключение на резервный или резервный компьютерный сервер , систему , аппаратный компонент или сеть при отказе или аварийном завершении работы ранее активного приложения , [1] сервера, системы, аппаратного компонента или сети в компьютерной сети . Отказоустойчивость и переключение по сути являются одной и той же операцией, за исключением того, что отказоустойчивость происходит автоматически и обычно происходит без предупреждения, тогда как переключение требует вмешательства человека.
Разработчики систем обычно предусматривают возможность отказоустойчивости серверов, систем или сетей, требующих практически постоянной доступности и высокой степени надежности .
На уровне сервера автоматизация отказоустойчивости обычно использует систему « пульса », которая соединяет два сервера либо с помощью отдельного кабеля (например, последовательных портов/кабеля RS-232 ), либо сетевое соединение. В наиболее распространенной конструкции, пока между главным сервером и вторым сервером продолжается регулярный «импульс» или «пульс», второй сервер не выводит свои системы в оперативный режим; однако несколько систем активно используют все серверы и могут переключить свою работу на оставшиеся серверы после сбоя. Также может быть третий сервер «запасных частей», на котором работают запасные компоненты для «горячего» переключения, чтобы предотвратить простои. Второй сервер берет на себя работу первого, как только обнаруживает изменение в «пульсе» первой машины. Некоторые системы имеют возможность отправлять уведомления об отказоустойчивости.
Некоторые системы намеренно не выполняют аварийное переключение полностью автоматически, а требуют вмешательства человека. Эта «автоматизированная с ручным одобрением» конфигурация запускается автоматически после того, как человек одобрил аварийное переключение.
Восстановление работоспособности — это процесс восстановления системы, компонента или службы, ранее находившихся в состоянии отказа, до их исходного рабочего состояния, а также перевод резервной системы из рабочего состояния в состояние ожидания.
Использование программного обеспечения для виртуализации позволило сделать методы отказоустойчивости менее зависимыми от физического оборудования благодаря процессу, называемому миграцией , в ходе которого работающая виртуальная машина перемещается с одного физического хоста на другой с минимальным или нулевым перебоем в обслуживании.
Технологии отказоустойчивости и возврата к исходному состоянию также регулярно используются в базе данных Microsoft SQL Server, в которой экземпляр отказоустойчивого кластера SQL Server (FCI) устанавливается/настраивается поверх отказоустойчивого кластера Windows Server (WSFC). Группы и ресурсы SQL Server, работающие на WSFC, могут быть вручную переведены на второй узел для любого запланированного обслуживания на первом узле ИЛИ автоматически переведены на второй узел в случае возникновения проблем на первом узле. Таким же образом операция возврата к исходному состоянию может быть выполнена на первом узле после устранения проблемы или выполнения обслуживания.
Термин «переключение при отказе», хотя, вероятно, он использовался инженерами гораздо раньше, можно найти в рассекреченном отчете NASA 1962 года. [2] Термин «переключение» можно найти в 1950-х годах [3] при описании «горячих» и «холодных» резервных систем, с текущим значением немедленного переключения на работающую систему (горячая) и отложенного переключения на систему, которую нужно запустить (холодная). В материалах конференции 1957 года описываются компьютерные системы как с аварийным переключением (то есть переключением при отказе), так и с запланированным переключением при отказе (для обслуживания). [4]
Хотя невозможно предотвратить некоторую потерю данных во время аварийного переключения приложения, определенные шаги могут [...] минимизировать ее..