Отказоустойчивоть — Способность системы продолжать функционировать в случае сбоя одного из ее компонентов. Я уже говорил об отказоустойчивости жесткого диска при использовании RAID, и большинство серверного оборудования содержат опции отказоустойчивости электропитания и сетевых адаптеров. Помимо отказоустойчивости оборудования сервера, вы должны рассмотреть ее на других уровнях.
- Отказоусточивость сервера - Этот уровень определяет способность продолжать поддерживать пользователей в случае потери одного из серверов. Для этого определите число необходимых серверов и добавьте еще один - запасной.
- Отказустойчивость размещения - Способность поддерживать пользователей после потери всех серверов в некотором месте. Эта потеря может быть вызвана сбоем сети, пожаром в здании или природной катастрофой. Для обеспечения отказоустойчивости этого рода вы должны подсчитать число серверов, необходимых для поддержки ваших пользователей, разбить их по местам и добавить запасные серверы в каждом месте. Запасные серверы также размещаются в разных местах.
В большинстве случаев нет необходимости поддерживать отказоустойчивость для всех пользователей, достаточно только для критических. Для принятия правильного решения вам необходимо собрать адекватные данные.
Допустим, есть 1200 критических пользователей. Для обеспечения отказоустойчивости сервера, это число пользователей требуют 4 сервера, каждый из которых может поддерживать 400 пользователей. В обычных условиях на каждом сервере по 300 пользователей, но в случае поломки сервера остальные серверы способны вынести нагрузку. Для обеспечения отказоустойчивости метоположения с 4 серверами в двух зданиях, вам потребуется 6 х 400 серверов. Если здание 1 будет недоступным, три сервера в здании 2 продолжат поддерживать пользователей.
(Прим. перев.: наверное, навеяно событиями 11 сентября)
Вам также следует рассмотреть вопрос регламента работы. Если пользователи работают 14 часов 7 дней в неделю, вам понадобится адекватная емкость, чтобы иметь возможность отключить один из серверов для профилактики или установки нового ПО. Если же пользователи работают 8 часов и есть два выходных, то эти работы можно выполнить в нерабочие часы, сэкономив на дополнительных серверах.
После того, как вы определились с количеством серверов, вам нужен способ распределения сеансов пользователей по серверам. Мы подошли к расределению нагрузки.