Даже для людей, далеких от производства комплектующих к вычислительным машинам, очевидно, что безотказных устройств не бывает. Каким же образом из «ненадежных» элементов можно создать надежную систему обработки ценной информации и обеспечить ее постоянную готовность к работе? Что представляют собой отказоустойчивые системы? Какие отказоустойчивые системы могут стать системами гарантированной готовности и что для этого необходимо?
Известно, что избыточность является минимальной платой за надежность - наличие запасных элементов обеспечивает работоспособность системы в целом при выходе из строя отдельных ее частей. Избыточность может быть пассивной или активной. Пассивная требует проведения процедуры восстановления, что неизбежно приводит к перерыву в работе пользователей. Активная избыточность как бы «маскирует» возникший отказ и обеспечивает непрерывность работы пользователей.
Характерным примером систем с пассивной избыточностью являются резервные серверы, которые вводятся в действие после отказа основного. Независимо от того, как проводится восстановление, вручную оператором или автоматически, информация как минимум какое-то время будет недоступна. Подобные решения можно отнести к категории высоконадежных, но они не могут обеспечить отказоустойчивости.
В качестве примера активной избыточности можно привести зеркалирование жестких дисков. При выходе из строя одного из зеркальных дисков, пользователь продолжает работу без остановки и потери производительности. Разумеется, только за счет использования массива RAID 1 сервер в целом не станет отказоустойчивым. Если аппаратная платформа не имеет возможности горячей замены дисков, то сервер придется остановить для проведения ремонта. Тоже относится и к резервным источникам питания и вентиляторам. Подавляющее большинство аппаратных платформ на базе Pentium не обеспечивает избыточности центральных процессоров и прочих элементов, расположенных на материнской плате.
Полностью отказоустойчивая система, в отличие от прочих, имеет три состояния:
- рабочее, в котором система выполняет свое функциональное назначение и обеспечивает активную избыточность всех элементов;
- незащищенное, в котором система выполняет свое функциональное назначение, но не обеспечивает активной избыточности хотя бы одного из элементов;
- нерабочее, в котором система не выполняет своего функционального назначения.
Полностью отказоустойчивая система должна обеспечивать:
- обнаружение ошибок до начала их влияния на целостность данных;
- изоляцию элементов, вносящих ошибки;
- автоматический переход в незащищенное состояние при сохранении непрерывности выполнения функционального назначения;
- уведомление администратора о переходе в незащищенное состояние;
- возможность замены отказавших элементов при сохранении непрерывности выполнения функционального назначения;
- восстановление защищенного состояния при сохранении непрерывности выполнения функционального назначения.
Отказоустойчивая система обеспечивает защиту от отказов, возникающих в самой системе, однако причиной потери данных или перерыва в работе пользователей могут послужить и внешние воздействия: аварии устройств, расположенных в той же аппаратной, пожары и прочие стихийные бедствия.
Защищенность от внешних воздействий называется катастрофоустойчивостью. Для ее обеспечения взаимозаменяющие элементы должны быть разнесены на достаточное расстояние, способное обеспечить защиту от внешних воздействий. В большинстве случаев к наиболее вероятным внешним воздействиям относятся аварии системы электропитания и пожары, а достаточным удалением взаимозаменяющего оборудования, считается его размещение в разных аппаратных и, предпочтительно в разных строениях кампуса, что обычно составляет несколько сотен метров.
Физическое разнесение довольно часто используется в системах с пассивной избыточностью. Удаленное расположение взаимозаменяющих элементов систем с активной избыточностью реализовать значительно сложнее, однако именно такие аппаратные платформы серверов способны обеспечить наиболее полную защиту работы пользователей. Подобные системы носят название систем гарантированной готовности (assured availability) и обеспечивают не только защиту от внутренних отказов и внешних воздействий, но и возможность «маскирования» отказов транспортной среды.
Для того чтобы аппаратная платформа сервера обеспечивала гарантированную готовность, необходимо иметь:
- отказоустойчивую аппаратную платформу с взаимозаменяющими элементами в виде автономных устройств;
- средства коммуникации, способные обеспечить работоспособность данной отказоустойчивой аппаратной платформы при разнесении взаимозаменяющих элементов на достаточное расстояние.
В большинстве случаев отказоустойчивые аппаратные платформы весьма дороги, используют специализированные операционные системы и строго определенные приложения, для которых разрабатываются дополнительные программные модули.
Одно из возможных решений предлагается компанией Marathon, чье решение Endurance 4000 было специально разработано с учетом использования со стандартными аппаратно-программными платформами Wintel и стандартными приложениями (без необходимости написания дополнительных управляющих скриптов и программ).
Рис. 1. Разделение функций по Endurance 4000 |
Известно, что функции любой вычислительной системы можно разделить на: манипулирование данными и их преобразование; получение/отправку данных на накопители, в сеть и прочие устройства ввода/вывода.
Endurance 4000 позволяет логически и физически разделить выполнение этих функций между двумя разными ПК, осуществляя взаимодействие (рис. 1) через высокоскоростные PCI-интерфейсы - MIC (Marathon Interface Card).
Два ПК образуют один функционально полный комплекс. Два таких комплекса образуют отказоустойчивую систему.
Рис. 2. Схема обеспечения активной избыточности |
Как показано на рис. 2, система обеспечивает активную избыточность вычислительного элемента (СЕ), процессора ввода/вывода (IOP), жестких дисков, сетевой платы и всего функционально полного комплекса (TUPLE). Интерфейсные платы MIC содержат приемо-передающую часть, для дуплексного обмена данными, и логические схемы, проверяющие идентичность результатов вычислений. Оба вычислительных элемента работают с пошаговой синхронизацией. Если в работе одного из вычислительных элементов будет обнаружена ошибка, второй обеспечит работу пользователей после паузы, не превышающей нескольких миллисекунд и необходимой для исключения отказавшего вычислительного элемента из конфигурации. Система сформирует сообщение об ошибке и переводится в незащищенное состояние с неощутимой для пользователей задержкой. После этого отказавший вычислительный элемент должен быть отключен, отремонтирован и вновь подключен. Система автоматически введет исправный вычислительный элемент в конфигурацию и, используя высокоскоростное соединение, произведет ресинхронизацию работы вычислительных элементов в течение нескольких секунд с минимальным влиянием на работу пользователей.
Аналогичным образом осуществляется замена отказавшего устройства ввода/вывода или жесткого диска с той только разницей, что в этих случаях после замены будет произведена ресинхронизация информации, хранящейся на жестких дисках. Для ресинхронизации используется выделенное сетевое соединение Full Duplex Ethernet, что также минимизирует влияние процесса восстановления на работу пользователей.
Активная избыточность сетевой платы обеспечивается следующим образом. Обе взаимозаменяемых сетевые платы используют один и тот же МАС-адрес, и оба работают на прием. Передавать данные может только одна из плат. Используя выделенное сетевое соединение, система следит за исправностью плат и в случае отказа переносит всю нагрузку на исправный, формируя сообщение об ошибке. Для замены сетевой платы необходимо лишь вывести из конфигурации соответствующее устройство ввода/вывода, что не требует остановки системы в целом и прекращения работы пользователей.
Отказ аппаратных средств из состава системы Endurance 4000 будет квалифицирован как выход из строя соответствующего функционального комплекса и приведет к переходу в незащищенное состояние. Последующий перевод в рабочее состояние не потребует остановки системы в целом и прекращения работы пользователей. Таким образом, такой сервер может быть отнесен к категории отказоустойчивых аппаратных платформ с автономными элементами.
Для использования Endurance 4000 в качестве сервера гарантированной готовности необходимо иметь средства коммуникации, способные обеспечить стабильное взаимодействие элементов при достаточной протяженности каждого из трех соединений. В рабочем состоянии система использует три соединения:
- высокоскоростное нестандартное соединение между MIC-контролерами;
- выделенное соединение Full Duplex Ethernet 10/100;
- соединение между взаимозаменяемыми платами по транспортной среде локальной сети.
В компании Marathon разрабатывают средства для организации лишь первого из перечисленных соединений и, соответственно, указывает предельную для него протяженность до 1,5 км. Такое расстояние в большинстве случаев будет достаточным для обеспечения катастрофоустойчивости. Кроме того, эта величина обусловлена в основном ограничениями многомодового оптического волокна и, при использовании известных средств, скорее всего, может быть существенно увеличена.
Иначе дело обстоит с сетевыми соединениями, которые используют стандартный протокол обмена. Организация этих соединений, включая выбор сетевого оборудования, является задачей владельца сервера гарантированной готовности, и тут только от него самого зависит, обеспечат ли эти соединения достаточную удаленность взаимозаменяющих элементов.
Единственным условием, продиктованным спецификой аппаратных средств Endurance 4000, является использование сетевых плат стандарта Ethernet 10/100 для образования специализированного сетевого соединения, а также в качестве взаимозаменяемых сетевых адаптеров. Основанная на случайном методе доступа (CSMA/CD), технология Ethernet не обеспечивает какой-либо синхронизации или детерминированных интервалов передачи. По сути, такая специфика не соответствует потребностям задачи определения выхода из строя по таймауту, и создает определенные проблемы при необходимости передачи больших объемов информации между двумя оконечными устройствами, подключенными к сегменту с высоким трафиком. Однако на ограниченной транспортной среде ее влияние практически неощутимо. Для того чтобы снизить влияние специфики Ethernet на работу отказоустойчивой системы, в Marathon рекомендует использовать выделенную линию для образования специализированного сетевого соединения и подключать взаимозаменяемые платы к портам одного концентратора. В случае размещения оборудования в одной аппаратной это реализуется очень просто, но не обеспечивает катастрофоустойчивости. При размещении комплексов в разных аппаратных, использование одного концентратора становится невозможным, а наличие отдельного соединения между устройствами ввода/вывода требует прокладки дополнительного кабеля. Чем больше требуемое расстояние между аппаратными, тем больше внимания следует уделить организации транспортной среды. Как правило, чем больше протяженность транспортной среды, тем больше число оконечных устройств, сложнее задача развязки сетевого трафика и острее проблема создания прямых соединений между двумя произвольными точками. Серьезные осложнения как с точки зрения стабильности работы отказоустойчивого сервера, так и с точки зрения перегрузки транспортной среды в целом, могут возникнуть даже для расстояний гораздо меньших, чем 1,5 км.
Наиболее распространенным средством ограничения широковещательного трафика и сегментирования транспортной среды Ethernet является коммутация. Однако использование Ethernet-коммутаторов по-настоящему эффективно только в случае применения технологии коммутации виртуальных сетей (VLAN). Использование этой технологии теоретически позволяет организовать изолированный сегмент в пределах развитой транспортной среды, но на практике возможность создания виртуальных локальных сетей достаточно просто реализуется только на общей шине одного коммутатора. Созданию виртуальных локальных сетей путем группирования портов разных коммутаторов фактически препятствуют две основные проблемы. Первая заключается в слабом развитии стандартизации. До недавнего времени различные компании-производители коммутаторов использовали собственные протоколы. Сейчас принят стандарт IEEE 802.1Q, который имеет существенные недостатки и не пользуется широкой популярностью. Вторая проблема возникает при использовании стандарта Ethernet 100/1000 на распределенной магистрали, для которой группирование портов разных коммутаторов может привести к возникновению узких мест и внезапной потере производительности, что почти невозможно просчитать заранее.
Очевидно, что в транспортной среде на базе Ethernet 10/100/1000 допустимые точки установки взаимозаменяемых комплексов сервера гарантированной готовности надо определять для каждого конкретного случая. Расположение таких точек зависит от организации транспортной среды, специфики сетевого оборудования, а также от возможности прокладки дополнительного кабеля для специализированного сетевого соединения. При этом трудно гарантировать стабильность работы отказоустойчивого ресурса до окончания опытной эксплуатации. Кроме того, следует помнить, что любая последующая реорганизация, включая увеличение числа оконечных устройств, инсталляция новых приложений, и даже просто интенсификация работы пользователей, может оказать влияние на работоспособность отказоустойчивого ресурса. Задача обеспечения гарантированной готовности становится весьма проблематичной, но решить эти проблемы позволяет использование на магистральных соединениях АТМ.
Технология АТМ изначально создавалась для глобальных сетей, и с целью ее адаптации к условиям локальных сетей используется так называемая эмуляция локальных сетей. Технология АТМ, в отличие от Ethernet10/100/1000, обеспечивает гарантированную доставку, а также возможность динамического перераспределения используемой полосы пропускания и ограничения трафика, создаваемого разными оконечными устройствами. Требуемая производительность отдельных соединений может быть просчитана достаточно точно, а создаваемая нагрузка, при необходимости, может быть скорректирована в процессе эксплуатации. Эти свойства АТМ позволяют избежать угрозы возникновения узких мест и обеспечить поддержку задач, чувствительных к временным задержкам, а также дают возможность перенастройки транспортной среды с целью оптимизации ее производительности при последующем развитии или реорганизации сети. Возможность маршрутизации на уровне АТМ позволяет объединять удаленные IP сегменты без низкопроизводительной маршрутизации третьего уровня модели OSI.
Использование протокола АТМ на магистральных соединениях между виртуальными сетями позволяет полностью изолировать внутренний трафик отдельных сетей (рис. 3). Для образования специализированного сетевого соединения Full Duplex Ethernet 100 и для подключения к транспортной среде локальной сети клиентов отказоустойчивого сервера используются устройства доступа к сети АТМ, которые представляют собой Ethernet коммутаторы с портом АТМ и реализующие функции клиента эмулированной локальной сети. Стандарт LANE обеспечивает поддержку коммутации виртуальных сетей и совместимость устройств доступа разных производителей. Однако при выборе сетевого оборудования, следует отдавать предпочтение устройствам, обладающим максимальным набором функциональных возможностей. Так, например, использование устройства доступа ES-3810 компании Marconi (Fore Systems) позволит объединить виртуальные сети не только при помощи LANE, но и по постоянным виртуальным соединениям (PVC), что значительно расширит возможности использования преимуществ протокола АТМ.
Как показано на рис. 3, специализированное сетевое соединение реализовано в виде виртуальной локальной сети, включающей в себя по одному порту каждого из устройств доступа. Трафик, создаваемый при ресинхронизации информации, хранящейся на жестких дисках, при передаче по сети АТМ может быть ограничен до уровня, допустимого, с точки зрения производительности транспортной среды, и достаточного, с точки зрения времени восстановления рабочего состояния отказоустойчивого сервера. Количество АТМ коммутаторов, образующих соединение, а, соответственно, и расстояние между аппаратными, в которых установлены устройства доступа, практически не ограничено. Прямого кабельного соединения между аппаратными не требуется.
Виртуальная локальная сеть клиентов отказоустойчивого сервера надежно изолирована от влияния трафика специализированного сетевого соединения, а также от нагрузки, создаваемой прочими оконечными устройствами. Так же, как и в случае специализированного сетевого соединения, количество АТМ коммутаторов, образующих соединение, не ограничено.
Таким образом, при использовании на магистрали протокола АТМ, специфика организации транспортной среды не станет более значимой причиной ограничения дистанции, необходимой для обеспечения катастрофоустойчивости, чем максимально допустимая протяженность высокоскоростного соединение между MIC-контролерами.
Отвечая на вопросы, поставленные в начале статьи, можно порадовать владельцев самых рядовых по надежности аппаратных платформ Wintel - систему обработки ценной информации можно сделать и из того, что есть, используя аппаратно-программные средства Endurance 4000. Для поддержки Windows 2000 разработана новая версия - Endurance 6200. Ни в том, ни в другом случае не понадобиться никаких сверхнадежных устройств, и даже RAID-контролеров. Единственное строгое требование к ПК - это их попарная идентичность, причем ПК, используемые в качестве вычислительных элементов, кроме материнской платы с процессором и оперативной памятью, должны иметь в своем составе только гибкий дисковод. Для обеспечения минимальной конфигурации отказоустойчивого сервера, ПК, используемые в качестве устройств ввода/вывода должны быть укомплектованы полностью, использовать контроллеры жестких дисков стандарта SCSI и иметь по два сетевых адаптера стандарта Ethernet. Конфигурация сервера может расширяться в соответствии с потребностями и возможностями владельца, точно так же, как и при использовании обычных аппаратных платформ.
Отказоустойчивый сервер, созданный на базе Endurance 4000/6200, сможет обеспечить катастрофоустойчивость и гарантированную готовность на транспортной среде любой сложности и протяженности (в случае использования протокола АТМ на магистральных соединениях).
Об авторах
Владимир Задорожный — сотрудник Главного управления информационных ресурсов ФАПСИ. С ним можно связаться по электронной почте по адресу: zador@gov.ru.
Ирина Малиновская, консультант Главного управления информационных ресурсов ФАПСИ. С ней можно связаться по электронной почте по адресу: malim@gov.ru