Введение
Системы с высоким временем безотказной работы, также известные как "всегда включенные".
Высокая доступность (HA) – это характеристика системы, направленная на обеспечение согласованного уровня операционной производительности, как правило, времени безотказной работы, в течение более длительного, чем обычно, периода. Модернизация привела к увеличению зависимости от таких систем. Например, больницам и центрам обработки данных требуется высокая доступность своих систем для выполнения повседневных задач. Доступность относится к возможности пользовательского сообщества получать услуги или ресурсы, обращаться к системе для отправки новых заданий, обновления или изменения существующих, или получения результатов предыдущих работ. Если пользователь не может получить доступ к системе, она, с его точки зрения, считается недоступной. Обычно термин "время простоя" используется для обозначения периодов, когда система недоступна.
Принципы
В области надежности существуют три принципа проектирования систем, которые могут помочь достичь высокой доступности. Устранение единичных точек отказа. Это означает добавление или встраивание избыточности в систему, чтобы отказ одного компонента не приводил к отказу всей системы. Надежное переключение. В избыточных системах сама точка переключения часто становится единичной точкой отказа. Надежные системы должны обеспечивать надежное переключение. Обнаружение отказов по мере их возникновения. Если соблюдаются два вышеуказанных принципа, пользователь может никогда не заметить отказ, но служба технического обслуживания должна его обнаружить.
Планируемые и незапланированные простои
Можно различать запланированные и незапланированные простои. Обычно запланированные простои являются результатом технического обслуживания, нарушающего работу системы, и, как правило, не могут быть устранены при текущей архитектуре системы. События запланированных простоев могут включать в себя установку обновлений системного программного обеспечения, требующих перезагрузки, или изменения конфигурации системы, вступающие в силу только после перезагрузки. В целом, запланированные простои обычно являются результатом какого-либо логического события, инициированного администрацией. Незапланированные простои обычно возникают из-за физических событий, таких как аппаратные или программные сбои, либо аномалии окружающей среды. Примеры незапланированных простоев включают отключения электроэнергии, выход из строя процессора или оперативной памяти (или, возможно, других аппаратных компонентов), отключение из-за перегрева, логическое или физическое разрывы сетевых соединений, нарушения безопасности, а также различные сбои приложений, промежуточного программного обеспечения и операционной системы. Если пользователей можно предупредить о запланированных простоях, то такое разделение полезно. Однако, если требуется истинная высокая доступность, то простой есть простой, независимо от того, запланирован он или нет. Многие вычислительные центры исключают запланированные простои из расчетов доступности, полагая, что они оказывают незначительное или вообще никакого влияния на сообщество пользователей. Таким образом, они могут заявлять о феноменально высокой доступности, что может создать иллюзию непрерывной работы. Системы, демонстрирующие действительно непрерывную доступность, относительно редки и стоят дороже, и большинство из них имеют тщательно разработанную специализированную архитектуру, исключающую единую точку отказа и позволяющую выполнять обновления, исправления и замену аппаратного обеспечения, сети, операционной системы, промежуточного программного обеспечения и приложений в режиме онлайн. Для некоторых систем запланированные простои не имеют значения, например, простой системы в офисном здании после того, как все сотрудники покинули его на ночь.
Процентный расчет
Доступность обычно выражается в процентах от времени безотказной работы в течение года. В следующей таблице показано время простоя, допустимое для определенного процента доступности, при условии, что система должна работать непрерывно. Соглашения об уровне обслуживания (SLA) часто ссылаются на ежемесячное время простоя или доступность для расчета компенсаций, соответствующих ежемесячным циклам выставления счетов. В следующей таблице приведено соответствие между процентом доступности и временем, в течение которого система будет недоступна. Например, система может быть "включена", но ее сервисы могут быть "недоступны" в случае сбоя сети. Или система, находящаяся на техническом обслуживании, может быть "доступна" для работы системного администратора, но ее сервисы не будут "работать" для конечного пользователя или клиента. Таким образом, важно понимать, о чем идет речь: будь то серверное оборудование, операционная система сервера, функциональный сервис, программный сервис/процесс или что-то подобное – только при наличии единого и последовательного объекта обсуждения термины "время безотказной работы" и "доступность" могут использоваться как синонимы.
Доступность %Время простоя в годВремя простоя в кварталВремя простоя в месяцВремя простоя в неделюВремя простоя в день (24 часа)90% ("одна девятка")36,53 дня9,13 дня73,05 часа16,80 часа2,40 часа95% ("одна девятка пять")18,26 дня4,56 дня36,53 часа8,40 часа1,20 часа97% ("одна девятка семь")10,96 дня2,74 дня21,92 часа5,04 часа43,20 минуты98% ("одна девятка восемь")7,31 дня43,86 часа14,61 часа3,36 часа28,80 минуты99% ("две девятки")3,65 дня21,9 часа7,31 часа1,68 часа14,40 минуты99,5% ("две девятки пять")1,83 дня10,98 часа3,65 часа50,40 минуты7,20 минуты99,8% ("две девятки восемь")17,53 часа4,38 часа87,66 минуты20,16 минуты2,88 минуты99,9% ("три девятки")8,77 часа2,19 часа43,83 минуты10,08 минуты1,44 минуты99,95% ("три девятки пять")4,38 часа65,7 минуты21,92 минуты5,04 минуты43,20 секунды99,99% ("четыре девятки")52,60 минуты13,15 минуты4,38 минуты1,01 минуты8,64 секунды99,995% ("четыре девятки пять")26,30 минуты6,57 минуты2,19 минуты30,24 секунды4,32 секунды99,999% ("пять девяток")5,26 минуты1,31 минуты26,30 секунды6,05 секунды864,00 миллисекунды99,9999% ("шесть девяток")31,56 секунды7,89 секунды2,63 секунды604,80 миллисекунды86,40 миллисекунды99,99999% ("семь девяток")3,16 секунды0,79 секунды262,98 миллисекунды60,48 миллисекунды8,64 миллисекунды99,999999% ("восемь девяток")315,58 миллисекунды78,89 миллисекунды26,30 миллисекунды6,05 миллисекунды864,00 микросекунды99,9999999% ("девять девяток")31,56 миллисекунды7,89 миллисекунды2,63 миллисекунды604,80 микросекунды86,40 микросекунды99,99999999% ("десять девяток")3,16 миллисекунды788,40 микросекунды262,80 микросекунды60,48 микросекунды8,64 микросекунды99,999999999% ("одиннадцать девяток")315,58 микросекунды78,84 микросекунды26,28 микросекунды6,05 микросекунды864,00 наносекунды99,9999999999% ("двенадцать девяток")31,56 микросекунды7,88 микросекунды2,63 микросекунды604,81 наносекунды86,40 наносекунды
Пять на пять .
Простое правило запоминания гласит, что 5 девяток обеспечивают примерно 5 минут простоя в год. Варианты можно получить, умножая или деля на 10: 4 девятки – это 50 минут, а 3 девятки – 500 минут. В противоположном направлении, 6 девяток – это 0,5 минуты (30 секунд), а 7 девяток – 3 секунды.
"Силы десяти" трюк
Еще один прием для запоминания при расчете допустимой продолжительности простоя для процента доступности, выраженного в "девятках", – использовать формулу секунд в день. Например, 90% ("одна девятка") дает показатель , и, следовательно, допустимое время простоя составляет секунд в день. Также, 99,999% ("пять девяток") дает показатель , и, следовательно, допустимое время простоя составляет секунд в день.
Измерение и интерпретация
Измерение доступности подвержено определенной степени интерпретации. Система, работавшая 365 дней в невисокосном году, может быть омрачена сетевым сбоем, длившимся 9 часов в период пиковой нагрузки; пользовательское сообщество сочтет систему недоступной, в то время как системный администратор заявит о 100% времени безотказной работы. Однако, исходя из точного определения доступности, система будет доступна примерно на 99,9%, или "три девятки" (8751 час доступного времени из 8760 часов в невисокосном году). Более того, системы с проблемами производительности пользователи часто считают частично или полностью недоступными, даже если системы продолжают функционировать. Аналогично, недоступность отдельных функций приложения может остаться незамеченной администраторами, но оказаться критичной для пользователей – истинная оценка доступности должна быть комплексной. Доступность необходимо измерять, желательно с помощью всесторонних инструментов мониторинга ("инструментация"), которые сами по себе должны быть высокодоступными. При отсутствии инструментации системы, поддерживающие обработку больших объемов транзакций круглосуточно, такие как системы обработки кредитных карт или телефонные станции, часто контролируются лучше, по крайней мере, самими пользователями, чем системы, испытывающие периодические спады нагрузки. Альтернативной метрикой является среднее время наработки на отказ (MTBF).
Тесно связанные понятия
Время восстановления (или предполагаемое время ремонта (ETR), также известное как целевое время восстановления (RTO)) тесно связано с доступностью, то есть с общим временем, необходимым для планового простоя или временем, требуемым для полного восстановления после внепланового простоя. Другой метрикой является среднее время восстановления (MTTR). Время восстановления может быть бесконечным при определенных конструкциях систем и типах отказов, то есть полное восстановление может быть невозможно. Примером может служить пожар или наводнение, уничтожающее центр обработки данных и его системы, при отсутствии вторичного центра восстановления после аварий. Другим связанным понятием является доступность данных, то есть степень, с которой базы данных и другие системы хранения информации корректно регистрируют и отражают системные транзакции. Управление информацией часто отдельно фокусируется на доступности данных или на целевой точке восстановления (RPO), чтобы определить допустимую (или фактическую) потерю данных при различных сценариях отказа. Некоторые пользователи могут допустить прерывания в работе приложений, но не потерпят потерю данных. Соглашение об уровне обслуживания (SLA) формализует цели и требования организации в отношении доступности.
Военные системы управления
Высокая доступность – одно из важнейших требований к системам управления беспилотных аппаратов и автономных морских судов. В случае выхода из строя системы управления наземный боевой автомобиль (GCV) или беспилотный корабль непрерывного слежения (ACTUV) будут потеряны.
Конструкция системы
Добавление дополнительных компонентов к общей архитектуре системы может снизить эффективность усилий по достижению высокой доступности, поскольку сложные системы по своей природе имеют больше потенциальных точек отказа и их сложнее правильно реализовать. В то время как некоторые аналитики выдвигают теорию о том, что наиболее высокодоступные системы придерживаются простой архитектуры (единой, высококачественной, многоцелевой физической системы с всесторонней внутренней аппаратной избыточностью), эта архитектура имеет недостаток: вся система должна быть выведена из эксплуатации для установки исправлений и обновления операционной системы. Более продвинутые архитектуры систем позволяют выполнять установку исправлений и обновления без снижения доступности сервисов (см. балансировку нагрузки и переключение при отказе). Высокая доступность требует меньшего вмешательства человека для восстановления работы в сложных системах, поскольку наиболее распространенной причиной сбоев является человеческий фактор. Избыточность используется для создания систем с высоким уровнем доступности (например, бортовых компьютеров самолетов). В этом случае требуется высокий уровень обнаружения отказов и предотвращения общих причин отказов. Существуют два вида избыточности: пассивная и активная. Пассивная избыточность используется для достижения высокой доступности путем включения в конструкцию достаточного запаса мощности для компенсации снижения производительности. Самый простой пример – лодка с двумя независимыми двигателями, приводящими два независимых винта. Лодка продолжает движение к месту назначения, даже если один из двигателей или винтов выйдет из строя. Более сложный пример – наличие нескольких резервных электрогенерирующих установок в рамках крупной системы, включающей передачу электроэнергии. Отказ отдельных компонентов не считается отказом, если результирующее снижение производительности не превышает предельные значения спецификаций для всей системы. Активная избыточность используется в сложных системах для достижения высокой доступности без снижения производительности. В конструкцию включается несколько одинаковых элементов, а также механизм обнаружения отказа и автоматической реконфигурации системы для обхода неисправных элементов с использованием схемы голосования. Это применяется в сложных вычислительных системах, объединенных в сеть. Интернет-маршрутизация берет свое начало из ранних работ Бирмана и Джозефа в этой области. Активная избыточность может привести к появлению в системе более сложных режимов отказа, таких как непрерывная реконфигурация системы из-за некорректной логики голосования. Проектирование системы с нулевым временем простоя означает, что моделирование и симуляция показывают, что среднее время наработки на отказ значительно превышает период времени между плановым техническим обслуживанием, обновлениями или сроком службы системы. Нулевое время простоя предполагает значительную избыточность, которая необходима для некоторых типов самолетов и для большинства видов спутников связи. Глобальная система позиционирования (GPS) является примером системы с нулевым временем простоя. Аппаратная диагностика может использоваться в системах с ограниченной избыточностью для достижения высокой доступности. Техническое обслуживание выполняется в течение коротких периодов простоя только после активации индикатора неисправности. Отказ имеет значение только в том случае, если он происходит в критически важный период выполнения задачи. Моделирование и симуляция используются для оценки теоретической надежности больших систем. Результаты такого моделирования используются для оценки различных вариантов проектирования. Создается модель всей системы, и модель подвергается нагрузке путем удаления компонентов. Симуляция избыточности включает в себя критерии N x. N представляет общее количество компонентов в системе. x – количество компонентов, используемых для создания нагрузки на систему. N 1 означает, что модель испытывается путем оценки производительности при всех возможных комбинациях, когда один компонент неисправен. N 2 означает, что модель испытывается путем оценки производительности при всех возможных комбинациях, когда два компонента неисправны одновременно.
Расходы, связанные с недоступностью
В отчете IBM Global Services за 1998 год оценивалось, что недоступность систем обошлась американскому бизнесу в 4,54 миллиарда долларов в 1996 году из-за снижения производительности и выручки.