Одной из основных задач построения вычислительных систем остается обеспечение их продолжительного надежного функционирования. Эта задача имеет три составляющие: надежность, готовность и удобство обслуживания. Ее решение предполагает, в первую очередь, борьбу с неисправностями системы, порождаемыми отказами и сбоями в ее работе.
Повышение надежности основано на принципе предотвращения неисправностей путем снижения интенсивности отказов и сбоев за счет применения электронных схем и компонентов с высокой и сверхвысокой степенью интеграции, снижения уровня помех, облегченных режимов работы схем, обеспечения тепловых режимов их работы, а также за счет совершенствования методов сборки аппаратуры. Единицей измерения надежности является среднее время наработки на отказ (MTBF - Mean Time Between Failure).
Повышение готовности предполагает подавление, в определенных пределах, влияния отказов и сбоев на работу системы. Это осуществляется с помощью средств контроля и коррекции ошибок, а также средств автоматического восстановления вычислительного процесса после проявления неисправности, включая аппаратурную и программную избыточность, на основе которой реализуются различные варианты отказоустойчивых архитектур. Повышение готовности - способ сокращения времени простоя системы. Единицей измерения здесь является коэффициент готовности, который определяет вероятность пребывания системы в работоспособном состоянии в любой момент времени. Статистически коэффициент готовности неизбыточной системы при организованном ремонте определяется как MTBF/(MTBF+MTTR), где MTTR (Mean Time To Repair) - среднее время восстановления, иначе говоря, среднее время между моментом обнаружения неисправности и моментом возврата системы к полноценному функционированию. Очевидно, что основные эксплуатационные характеристики системы существенно зависят от удобства ее обслуживания, в частности, от ремонтопригодности и контролепригодности.
В литературе по вычислительной технике все чаще употребляются термины "системы высокой готовности", "устойчивые и эластичные к сбоям и отказам системы", "системы непрерывной и постоянной готовности". Однако как и многие термины в области ИТ, они трактуются по-разному отдельными поставщиками и потребителями. Прежде чем говорить о системах непрерывной готовности, следует определить их место среди систем, к надежности функционирования которых предъявляются повышенные требования. Сегодня для определения различных типов систем используется та или иная форма снижения планового и непланового времени простоя.
Высокая Готовность (High Availability). Конструкции с высоким коэффициентом готовности для минимизации планового и непланового времени простоя используют обычную компьютерную технологию. При этом конфигурация системы обеспечивает ее быстрое восстановление после обнаружения неисправности, для чего в ряде мест используются избыточные аппаратные и программные средства. Время, в течение которого программа, отдельный компонент или система простаивает, колеблется от нескольких секунд до нескольких часов, но чаще всего составляет от 2 до 20 минут. Обычно системы высокой готовности хорошо масштабируются.
Все системы высокой готовности обеспечивают устойчивость к отказам и сбоям в работе дисков и системы электропитания благодаря применению принципа избыточности: RAID, UPS и т.п. Следует отметить, что для современных систем высокой готовности характерно использование технологии "горячей" замены отказавшего узла.
Эластичность к сбоям (Fault Resiliency). Ряд поставщиков компьютерного оборудования делит весь диапазон систем высокой готовности на две части, при этом в верхней части оказываются системы, эластичные к сбоям. Эластичность к сбоям определяет более короткое время восстановления, которое позволяет системе быстро откатиться назад при обнаружении неисправности.
Устойчивость к сбоям (Fault Tolerance). Устойчивые к сбоям системы ("отказоустойчивые системы") имеют в своем составе избыточную аппаратуру для всех функциональных блоков, включая процессоры, источники питания, подсистемы ввода/вывода и подсистемы дисковой памяти. Если соответствующий функциональный блок неправильно работает, всегда имеется горячий резерв и неисправность в любом блоке не может вывести систему из строя. В ряде отказоустойчивых систем избыточные аппаратные средства можно использовать для распараллеливания обычных работ. Время восстановления после обнаружения неисправности для переключения отказавших компонентов на избыточные в таких системах обычно меньше одной секунды.
Непрерывная готовность (Continuous Availability). Лучшими среди отказоустойчивых систем являются системы, обеспечивающие непрерывную готовность. Продукт с непрерывной готовностью, если он работает корректно, позволяет ликвидировать как плановые, так и неплановые простои и проводить модернизацию (upgrade) и обслуживание системы в оперативном режиме (режиме on-line). Разработка подобной системы охватывает как аппаратные средства, так и программное обеспечение. Очень важным дополнительным требованием к таким системам является сохранение уровня производительности в случае отказа какого-либо компонента. Время восстановления после отказа не превышает одной секунды.
Следует отметить, что понятие непрерывная готовность все-таки подразумевает возможность сбоя в работе компьютера. Однако если типичное значение коэффициента готовности для обычной вычислительной системы составляет 99%, что эквивалентно примерно 80 часам простоя в год, то для систем непрерывной готовности этот параметр устанавливается на уровне 99.999% - 5 минут простоя в год.
Важно понимать, что системы высокой готовности вовсе не обязательно использовать для поддержки всех приложений. Однако если работа оперативного приложения жизненно важна для функционирования предприятия, именно непрерывная готовность обеспечивает наивысший возможный уровень гарантии того, что приложение будет спокойно поддерживаться в рабочем состоянии 24 часа в сутки, 365 дней в году. Помимо того, что непрерывная готовность является проверенной технологией, она представляет собой прямое, простое в использовании, прозрачное для приложений и базирующееся на стандартах решение, которое позволяет обойти ряд трудностей, связанных с реализацией кластерных систем.
Постоянная готовность (Permanent Availability). Это скорее теоретическое понятие. Коэффициент готовности для такого рода систем принимается равным 100%, т. е. предполагается отсутствие сбоев в работе, что практически недостижимо.
Все упомянутые типы систем высокой готовности предназначены для сокращения времени простоя. Существует два типа простоев: плановые и неплановые. Минимизация каждого из них требует различной стратегии и технологии. Плановое время простоя обычно включает время, отведенное на проведение работ по модернизации системы и на ее обслуживание. Неплановое время простоя является результатом отказа системы или компонента.
Высокая готовность не дается бесплатно. Общая стоимость подобных систем складывается из начальной стоимости системы, издержек планирования и реализации, а также системных накладных расходов. Выбор того или иного уровня готовности определяется также теми последствиями, которые будут иметь для конкретного предприятия простои информационной системы. Оценка стоимости простоя системы остается достаточно сложной задачей, поскольку она связана не только с потерей работоспособности системы, но существенно зависит и от организационной структуры конкретного предприятия и от места проявления неисправности.