Высокая доступность ( HA ) — это характеристика системы, которая направлена на обеспечение согласованного уровня эксплуатационной производительности, обычно времени безотказной работы , в течение более длительного, чем обычно, периода. [1]
В настоящее время зависимость от этих систем возросла в результате модернизации. Например, для выполнения своих обычных ежедневных задач больницам и центрам обработки данных необходимо, чтобы их системы были высокодоступны. Доступность относится к способности сообщества пользователей получать услугу или товар, получать доступ к системе, отправлять новую работу, обновлять или изменять существующую работу или собирать результаты предыдущей работы. Если пользователь не может получить доступ к системе, она — с точки зрения пользователя — недоступна . [2] Обычно термин «время простоя» используется для обозначения периодов, когда система недоступна.
Высокая доступность является свойством устойчивости сети , способностью «обеспечивать и поддерживать приемлемый уровень обслуживания в условиях сбоев и проблем с нормальной работой». [3] Угрозы и проблемы для услуг могут варьироваться от простой неправильной конфигурации до крупномасштабных стихийных бедствий и целевых атак. [4] Таким образом, устойчивость сети затрагивает очень широкий спектр тем. Чтобы повысить устойчивость данной сети связи, необходимо определить вероятные проблемы и риски и определить соответствующие показатели устойчивости для защищенной услуги. [5]
Важность устойчивости сети постоянно растет, поскольку сети связи становятся основополагающим компонентом в работе критических инфраструктур. [6] Следовательно, недавние усилия сосредоточены на интерпретации и улучшении устойчивости сети и вычислений с приложениями для критических инфраструктур. [7] В качестве примера можно рассмотреть в качестве цели устойчивости предоставление услуг по сети, а не услуги самой сети. Это может потребовать скоординированного ответа как от сети, так и от служб, работающих поверх сети. [8]
Эти услуги включают в себя:
Устойчивость и выживаемость взаимозаменяемы в зависимости от конкретного контекста данного исследования. [9]
В области надежности существуют три принципа проектирования систем , которые могут помочь достичь высокой доступности.
Можно провести различие между запланированным и незапланированным простоем. Обычно запланированный простой является результатом обслуживания , которое нарушает работу системы и которого обычно невозможно избежать при текущей установленной конструкции системы. События запланированного простоя могут включать исправления для системного программного обеспечения , требующие перезагрузки , или изменения конфигурации системы, которые вступают в силу только после перезагрузки. В целом запланированный простой обычно является результатом некоторого логического события, инициированного руководством. События незапланированного простоя обычно возникают из-за некоторого физического события, такого как сбой оборудования или программного обеспечения или аномалия окружающей среды. Примерами событий незапланированного простоя являются отключения питания, отказ компонентов ЦП или ОЗУ (или, возможно, других отказавших аппаратных компонентов), отключение, связанное с перегревом, логически или физически разорванные сетевые соединения, нарушения безопасности или различные сбои приложений , промежуточного программного обеспечения и операционной системы .
Если пользователей можно предупредить о запланированных простоях, то это различие полезно. Но если требуется действительно высокая доступность, то простой остается простым, независимо от того, запланирован он или нет.
Многие вычислительные сайты исключают запланированный простой из расчетов доступности, предполагая, что он не оказывает или оказывает незначительное влияние на сообщество пользователей вычислений. Поступая так, они могут заявлять о феноменально высокой доступности, что может создать иллюзию непрерывной доступности . Системы, которые демонстрируют действительно непрерывную доступность, сравнительно редки и стоят дороже, и большинство из них имеют тщательно реализованные специальные конструкции, которые устраняют любую единую точку отказа и позволяют выполнять обновления, исправления и замены оборудования, сети, операционной системы, промежуточного программного обеспечения и приложений в режиме онлайн. Для некоторых систем запланированный простой не имеет значения, например, простой системы в офисном здании после того, как все ушли домой на ночь.
Доступность обычно выражается в процентах от времени безотказной работы в данном году. В следующей таблице показано время простоя, которое будет разрешено для определенного процента доступности, предполагая, что система должна работать непрерывно. Соглашения об уровне обслуживания часто ссылаются на ежемесячное время простоя или доступности для расчета кредитов за обслуживание для соответствия ежемесячным циклам выставления счетов. В следующей таблице показано преобразование из заданного процента доступности в соответствующее количество времени, в течение которого система будет недоступна.
Термины «время безотказной работы» и «доступность» часто используются взаимозаменяемо, но не всегда относятся к одному и тому же. Например, система может быть «включена», а ее службы не «доступны» в случае сбоя сети . Или система, находящаяся на обслуживании программного обеспечения, может быть «доступна» для работы системного администратора , но ее службы не кажутся «доступными» конечному пользователю или клиенту. Таким образом, здесь важен предмет терминов: независимо от того, является ли предметом обсуждения серверное оборудование, серверная ОС, функциональная служба, программная служба/процесс или что-то подобное, слова «время безотказной работы» и «доступность» могут использоваться как синонимы только в том случае, если есть один последовательный предмет обсуждения.
Простое мнемоническое правило гласит, что 5 девяток дают примерно 5 минут простоя в год. Варианты можно получить, умножая или деля на 10: 4 девятки — это 50 минут, а 3 девятки — это 500 минут. В обратном направлении 6 девяток — это 0,5 минуты (30 секунд), а 7 девяток — это 3 секунды.
Еще один прием расчета допустимой продолжительности простоя для процента доступности «-девятки» — это использование формулы секунд в день.
Например, 90% («одна девятка») дает показатель степени , и, следовательно, допустимое время простоя составляет секунды в день.
Кроме того, 99,999% («пять девяток») дает показатель степени , и, следовательно, допустимое время простоя составляет секунды в день.
Проценты определенного порядка величины иногда обозначаются числом девяток или «классом девяток» в цифрах. Например, электроэнергия, которая поставляется без перебоев ( отключений , понижений напряжения или скачков напряжения ) 99,999% времени, будет иметь надежность 5 девяток или класс пять. [10] В частности, этот термин используется в связи с мэйнфреймами [11] [12] или корпоративными вычислениями, часто как часть соглашения об уровне обслуживания .
Аналогично, проценты, заканчивающиеся на 5, имеют общепринятые названия, традиционно количество девяток, затем «пять», поэтому 99,95% — это «три девятки пять», сокращенно 3N5. [13] [14] Это обычно называют «три с половиной девятки», [15] но это неверно: 5 — это всего лишь множитель 2, в то время как 9 — это множитель 10, поэтому 5 — это 0,3 девятки (согласно приведенной ниже формуле: ): [примечание 2] 99,95% доступности — это 3,3 девятки, а не 3,5 девятки. [16] Проще говоря, переход от 99,9% доступности к 99,95% доступности имеет коэффициент 2 (от 0,1% до 0,05% недоступности), а переход от 99,95% до 99,99% доступности имеет коэффициент 5 (от 0,05% до 0,01% недоступности), то есть более чем в два раза больше. [примечание 3]
Формулировка класса 9, основанная на недоступности системы, будет выглядеть следующим образом:
(ср. Функции пола и потолка ).
Аналогичное измерение иногда используется для описания чистоты веществ.
В целом, число девяток нечасто используется сетевыми инженерами при моделировании и измерении доступности, поскольку его трудно применить в формуле. Чаще всего указывается недоступность, выраженная как вероятность (например, 0,00001), или время простоя в год. Доступность, указанная как число девяток, часто встречается в маркетинговых документах. [ необходима цитата ] Использование «девяток» было поставлено под сомнение, поскольку оно не отражает должным образом, что влияние недоступности меняется в зависимости от времени ее возникновения. [17] Для больших количеств девяток индекс «недоступности» (мера времени простоя, а не времени безотказной работы) проще в обращении. Например, именно поэтому в показателях битовых ошибок жесткого диска или канала передачи данных используется метрика «недоступности», а не доступности .
Иногда юмористический термин «девять пятерок» (55,5555555%) используется для противопоставления «пяти девяткам» (99,999%), [18] [19] [20], хотя это не является реальной целью, а скорее саркастическим указанием на что-то, что совершенно не соответствует ни одной разумной цели.
Измерение доступности может быть подвергнуто некоторой степени интерпретации. Система, которая работала в течение 365 дней в невисокосный год, могла быть омрачена сбоем сети, который длился 9 часов в период пиковой нагрузки; сообщество пользователей будет считать систему недоступной, в то время как системный администратор будет заявлять о 100% времени безотказной работы. Однако, учитывая истинное определение доступности, система будет доступна примерно на 99,9%, или три девятки (8751 час доступного времени из 8760 часов в невисокосный год). Кроме того, системы, испытывающие проблемы с производительностью, часто считаются пользователями частично или полностью недоступными, даже если системы продолжают функционировать. Аналогично, недоступность некоторых функций приложения может остаться незамеченной администраторами, но иметь разрушительные последствия для пользователей — истинная мера доступности является целостной.
Доступность должна быть измерена, чтобы быть определенной, в идеале с помощью комплексных инструментов мониторинга («инструментов»), которые сами по себе являются высокодоступными. Если не хватает инструментов, системы, поддерживающие обработку больших объемов транзакций в течение дня и ночи, такие как системы обработки кредитных карт или телефонные коммутаторы, часто по своей сути лучше контролируются, по крайней мере, самими пользователями, чем системы, которые испытывают периодические затишья в спросе.
Альтернативным показателем является среднее время наработки на отказ (MTBF).
Время восстановления (или расчетное время ремонта (ETR), также известное как целевое время восстановления (RTO)) тесно связано с доступностью, то есть общим временем, необходимым для планового отключения, или временем, необходимым для полного восстановления после незапланированного отключения. Другой показатель — среднее время восстановления (MTTR). Время восстановления может быть бесконечным при определенных конструкциях и сбоях системы, то есть полное восстановление невозможно. Одним из таких примеров является пожар или наводнение, которые уничтожают центр обработки данных и его системы, когда нет вторичного центра обработки данных для аварийного восстановления .
Другая связанная концепция — это доступность данных , то есть степень, в которой базы данных и другие системы хранения информации добросовестно регистрируют и сообщают о системных транзакциях. Управление информацией часто фокусируется отдельно на доступности данных или целевой точке восстановления , чтобы определить приемлемую (или фактическую) потерю данных при различных сбоях. Некоторые пользователи могут терпеть перерывы в обслуживании приложений, но не могут терпеть потерю данных.
Соглашение об уровне обслуживания («SLA») формализует цели и требования организации к доступности.
Высокая доступность является одним из основных требований к системам управления в беспилотных транспортных средствах и автономных морских судах . Если система управления становится недоступной, наземная боевая машина (GCV) или беспилотное судно непрерывного слежения ASW (ACTUV) будут потеряны.
С одной стороны, добавление большего количества компонентов в общую конструкцию системы может подорвать усилия по достижению высокой доступности, поскольку сложные системы изначально имеют больше потенциальных точек отказа и их сложнее правильно реализовать. Хотя некоторые аналитики выдвигают теорию о том, что наиболее высокодоступные системы придерживаются простой архитектуры (единая, высококачественная, многоцелевая физическая система с комплексной внутренней избыточностью оборудования), эта архитектура страдает от требования, что вся система должна быть остановлена для исправления и обновления операционной системы. Более продвинутые конструкции систем позволяют исправлять и обновлять системы без ущерба для доступности услуг (см. балансировка нагрузки и отказоустойчивость ). Высокая доступность требует меньшего человеческого вмешательства для восстановления работы в сложных системах; причина этого в том, что наиболее распространенной причиной сбоев является человеческая ошибка. [21]
С другой стороны, избыточность используется для создания систем с высоким уровнем доступности (например, популярные сайты электронной коммерции). В этом случае требуется высокий уровень обнаруживаемости отказов и избегания отказов по общей причине.
Если избыточные части используются параллельно и имеют независимый отказ (например, не находясь в одном центре обработки данных), они могут экспоненциально увеличить доступность и сделать общую систему высокодоступной. Если у вас есть N параллельных компонентов, каждый из которых имеет X доступности, то вы можете использовать следующую формулу: [22] [23]
Наличие параллельных компонентов = 1 - (1 - X)^ N
Так, например, если каждый из ваших компонентов имеет доступность только 50%, то, используя 10 компонентов параллельно, вы можете достичь доступности 99,9023%.
Два вида избыточности — пассивная избыточность и активная избыточность.
Пассивное резервирование используется для достижения высокой доступности путем включения достаточной избыточной мощности в конструкцию для компенсации снижения производительности. Простейшим примером является лодка с двумя отдельными двигателями, приводящими в движение два отдельных винта. Лодка продолжает движение к месту назначения, несмотря на отказ одного двигателя или винта. Более сложным примером являются несколько избыточных установок по производству электроэнергии в рамках большой системы, включающей передачу электроэнергии . Неисправность отдельных компонентов не считается отказом, если только результирующее снижение производительности не превышает пределов спецификации для всей системы.
Активное резервирование используется в сложных системах для достижения высокой доступности без снижения производительности. Несколько элементов одного типа включены в конструкцию, которая включает метод обнаружения сбоя и автоматической перенастройки системы для обхода неисправных элементов с использованием схемы голосования. Это используется в сложных вычислительных системах, которые связаны. Интернет- маршрутизация получена из ранних работ Бирмана и Джозефа в этой области. [24] [ необходим неосновной источник ] Активное резервирование может привнести в систему более сложные режимы сбоев, такие как непрерывная перенастройка системы из-за неисправной логики голосования.
Проектирование системы с нулевым временем простоя означает, что моделирование и имитация показывают, что среднее время между отказами значительно превышает период времени между плановым обслуживанием , обновлениями или сроком службы системы. Нулевое время простоя подразумевает массивную избыточность, которая необходима для некоторых типов самолетов и для большинства видов спутников связи . Система глобального позиционирования является примером системы с нулевым временем простоя.
Инструментарий для обнаружения неисправностей может использоваться в системах с ограниченной избыточностью для достижения высокой доступности. Действия по техническому обслуживанию выполняются в короткие периоды простоя только после активации индикатора неисправности. Отказ имеет значение только в том случае, если он происходит в критически важный для миссии период.
Моделирование и имитация используются для оценки теоретической надежности больших систем. Результат такого типа модели используется для оценки различных вариантов проектирования. Создается модель всей системы, и модель подвергается нагрузке путем удаления компонентов. Моделирование избыточности включает критерии Nx. N представляет собой общее количество компонентов в системе. x — количество компонентов, используемых для нагрузки системы. N-1 означает, что модель подвергается нагрузке путем оценки производительности со всеми возможными комбинациями, где один компонент неисправен. N-2 означает, что модель подвергается нагрузке путем оценки производительности со всеми возможными комбинациями, где два компонента неисправны одновременно.
Опрос среди экспертов по академической доступности в 2010 году ранжировал причины недоступности корпоративных ИТ-систем. Все причины относятся к несоблюдению передовой практики в каждой из следующих областей (в порядке важности): [25]
Книга о самих факторах была опубликована в 2003 году. [26]
В отчете IBM Global Services за 1998 год было подсчитано, что недоступность систем обошлась американскому бизнесу в 4,54 млрд долларов в 1996 году из-за потери производительности и доходов. [27]
что приводит к сбоям и показателям времени безотказной работы, близким к девяти пятеркам, чем к пяти девяткам.
и пять девяток (а не девять пятерок) надежности[ постоянная мертвая ссылка ]
но мне кажется, что по надежности сети мы приближаемся к 9-5 (55,5555555%), а не к 5-9