Сервер не работает! Internet не работает! Системные и сетевые администраторы хотели бы никогда не слышать этих возгласов — тем более что они редко соответствуют действительности. В каких случаях сервер полностью выходит из строя? Часто ли Internet прекращает функционировать в глобальном масштабе? Большинство системных сбоев — это результат отказа какого-то одного компонента. Задача администратора — отыскать его, восстановить и вернуть систему в рабочее состояние.

Для особо важных систем необходимо всегда искать способы прогнозировать возможное время простоя и стараться свести его к минимуму. Один из подходов предполагает анализ маршрута соединения серверов и пользователей, а также потенциальных точек отказа на этом маршруте — т. е. тех отдельных системных компонентов, сбой которых может отразиться на готовности всей системы в целом. После того как потенциальное место отказа выявлено, нужно понять, что с этим делать. Поскольку затраты на поддержку работоспособности системы следует учитывать всегда, требуется провести анализ рисков — с формальной или неформальной позиции. При этом в расчет часто принимаются следующие стратегии поведения:

  • ничего не предпринимать — или риски очень низки, или затраты на изменение ситуации очень велики;
  • приобретение «холодного» (незагруженного) резерва — это компоненты, которые могут использоваться для быстрой замены вышедшего из строя элемента. Данная стратегия характеризуется средними затратами и рисками и допустимым временем простоя;
  • приобретение «горячего» (нагруженного) резерва — это избыточные компоненты, которые постоянно в работе и всегда готовы взять на себя функции вышедших из строя элементов. Кластеризация, балансировка нагрузки, зеркальные сайты (hot site) — вот некоторые формы такой избыточности, применяющиеся в зависимости от того, о восстановлении какого системного компонента идет речь.

Сетевой администратор должен быть уверен, что между сервером и клиентом продолжают проходить пакеты. Часто лучше использовать избыточные сетевые подключения. При настройке сети с помощью внесения избыточности достигается отказоустойчивость и увеличивается пропускная способность соединения. Для построения надежных сетевых соединений необходимо владеть методами реализации LAN- и WAN-подключений с резервированием. Дополнительную информацию об этом можно найти во врезке «Стандарты и протоколы построения сетей с резервированием».

Резервирование LAN-соединений

Рано или поздно администраторам приходится сталкиваться с необходимостью что-то предпринимать для устранения сбоев в системных коммуникациях локальной сети производственного сервера. Сетевая карта сервера и шлюз, заданный по умолчанию, являются потенциальными точками отказа. Однако можно организовать резервирование — для этого существует несколько способов.

  • Несколько сетевых карт в одной подсети. Не имеет значения, что представляет собой сервер — один он (standalone) или в составе кластера, сбалансирована ли на нем нагрузка, — все равно сетевые адаптеры — это потенциальная брешь в сети. Начиная с Windows 2000 разработчики Microsoft упростили процедуру установки нескольких сетевых карт, сконфигурированных для работы в одной подсети. Для обеспечения резервирования такие сетевые карты могут быть подключены к одному и тому же концентратору или коммутатору или даже (желательно) к нескольким коммутаторам. Свойство Interface metric адаптера указывает, какая из активных сетевых карт системы будет задействована для исходящего трафика; система станет использовать для этих целей карту с минимальным значением в поле Interface metric. Следует открыть Control Panel, Network and Dial-up Connections, Local Area Connection, Properties. Затем нужно выбрать Internet Protocol (TCP/IP) и щелкнуть Properties. На вкладке General требуется щелкнуть Advanced. Далее следует снять флажок Automatic Metric в нижней части диалогового окна и установить нужную метрику для выбранной сетевой карты.
  • Несколько шлюзов, заданных по умолчанию. Сбой на шлюзе, выбранном по умолчанию для данной подсети, вызовет сбой соединения с другими подсетями. Создание нескольких маршрутизаторов в локальной подсети обеспечит некоторую отказоустойчивость при подобных сбоях. Протоколы Virtual Router Redundancy Protocol (VRRP) и Hot Standby Router Protocol (HSRP) обеспечивают такую отказоустойчивость без внесения изменений в настройки на станции клиента. Дополнительно можно организовать несколько шлюзов по умолчанию для каждого клиента, указав несколько адресов шлюзов для каждой сетевой карты. Начиная с Windows 2000 разрешается назначать для шлюзов метрики — точно так же, как в случае назначения метрик для NIC.

В более ранних версиях Windows можно было назначить метрику для шлюза по умолчанию, установив дополнительные шлюзы по умолчанию непосредственно в таблице маршрутизации IP. Для того чтобы выполнить изменения в таблице маршрутизации, в окне командной строки надо задать команду Route Add с параметром metric. Например:

route p add 0.0.0.0 mask 0.0.0.0 10.10.0.254 metric 15

В данном случае для маршрутизатора 10.10.0.254 добавляется постоянный шлюз по умолчанию с метрикой 15. Следует помнить, что только трафик на основе соединений (connection-oriented), например трафик TCP, отреагирует на выполненное изменение; для UDP-трафика и трафика Internet Control Message Protocol (ICMP) — Ping, к примеру, — ничего не изменится. Установка шлюзов по умолчанию для различных сетевых карт на станции с несколькими сетевыми адаптерами может вызвать проблемы, если сетевые карты подсоединены к сетям, между которыми не может происходить обмен данными. Даже когда шлюзы по умолчанию описаны на разных сетевых картах, только один из них в каждый момент времени является для станции активным. Дополнительную информацию о настройке шлюзов по умолчанию можно найти в статье Microsoft «Default Gateway Configuration for Multihomed Computers» (http://support.microsoft.com/?kbid=157025).

Internet Router Discovery Protocol (IRDP) — это еще один способ отреагировать на отказ шлюза по умолчанию. Маршрутизаторы, которые поддерживают IRDP, используют сообщения ICMP для извещения о своем присутствии. Для Windows NT 4.0 Microsoft добавила поддержку протокола IRDP, но по умолчанию он отключен. Необходимо внести некоторые изменения в реестр для активизации IRDP, причем для каждой сетевой карты (соответствующие инструкции можно найти в статьях Microsoft «Internet Router Discovery Protocol (IRDP) Client Support Added to Windows NT 4.0» по адресу: http://support.microsoft.com/?kbid=223756 и «Router Discovery Protocol Is Disabled by Default» по адресу http://support.microsoft.com/?kbid=269734). После того как будет активизирована IRDP, стек протоколов начнет прослушивать сеть и опрашивать маршрутизатор, чтобы использовать полученную информацию для установки шлюза по умолчанию.

  • Объединение соединений (Link aggregation). Несколько лет тому назад изготовители сетевых адаптеров начали предлагать заказчикам средства для решения проблемы уязвимости одиночного сетевого адаптера. Эти технические решения легли в основу стандарта IEEE 802.3ad Link Aggregation Control Protocol (LACP). LACP поддерживает множественные параллельные соединения типа коммутатор-коммутатор и сервер-коммутатор. Можно задействовать этот стандарт, который называют по-разному — NIC Teaming, Port Bonding, Link Aggregation, — для настройки продуктов, основанных на использовании LACP, для обеспечения отказоустойчивости, увеличения ширины полосы пропускания и балансировки нагрузки по нескольким параллельным соединениям.

Экран 1. Отказоустойчивость соединений.
На Экране 1 представлена концепция сервера-коммутатора. В этом примере четыре NIC-порта на сервере подключены к четырем портам одного коммутатора. В драйвере NIC поддерживается статический режим LACP, а коммутатор объединяет полосу пропускания четырех портов таким образом, чтобы эффективная полоса пропускания равнялась сумме скоростей всех сетевых карт. Трафик по всем четырем соединениям сбалансирован по нагрузке, и, когда происходит сбой одного соединения, алгоритм балансировки нагрузки за счет очень быстрого переключения перераспределяет баланс нагрузки по оставшимся соединениям. Однако данная конфигурация не обеспечивает отказоустойчивость в случае выхода из строя маршрутизатора.

Экран 2. Отказоустойчивость коммутаторов.
На Экране 2 изображена конфигурация сервер-коммутатор, которая обеспечивает отказоустойчивость в том случае, если сбой происходит на коммутаторе, однако при этом не обеспечивается агрегирование соединения и балансировка нагрузки. Для такой конфигурации требуется задействовать алгоритм Spanning Tree Algorithm (STA) на обоих коммутаторах. Это позволит гарантировать, что только одно соединение будет в данный момент активным. Таким образом, предотвращается ситуация, когда пакеты начинают циркулировать между соединениями.

Экран 3. Отказоустойчивость коммутаторов и соединений.
На Экране 3 показана конфигурация сервер-коммутатор. Здесь, в свою очередь, необходим динамический режим — LACP Dynamic Mode. Поскольку сервер подключен к двум коммутаторам, данная конфигурация обеспечивает отказоустойчивость при сбое коммутатора. Сервер имеет несколько подключений к каждому коммутатору, причем подключения сгруппированы (составляют своеобразную команду — team, отсюда NIC Teaming). В приведенной схеме группа подключений коммутатора А является активной, в то время как группа подключений коммутатора В находится в резерве. LACP обеспечивает объединение соединений, балансировку нагрузки и отказоустойчивость при отказе соединения в активной группе. В случае отказа коммутатора LACP переводит трафик на резервную группу коммутатора В.

Экран 4. Отказоустойчивость соединения.
На Экране 4 представлена конфигурация коммутатор-коммутатор. Эта схема поддерживает дополнительные возможности в отношении балансировки нагрузки, полосы пропускания и отказоустойчивости при сбое соединения.

Резервирование WAN-соединений

Если при резервировании локальной сети (обычно Ethernet) используются схемы сервер-коммутатор или коммутатор-коммутатор, то для резервирования глобальных сетей WAN применяется схема маршрутизатор-маршрутизатор. Давайте посмотрим, какую можно использовать сетевую архитектуру для построения схем резервирования маршрутов к удаленным серверам и обеспечения отказоустойчивости в случае выхода из строя WAN-соединения или отдельного маршрутизатора.

Экран 5. Простое подключение к WAN (отказоустойчивость не обеспечена).
На Экране 5 показана простейшая схема подключения к Internet через одиночный маршрутизатор А. Если локальная сеть достаточно проста, маршрутизатор А может использовать статическую маршрутизацию и не задействовать возможности протокола Interior Gateway Protocol(IGP), такого, как Routing Information Protocol (RIP) или Open Shortest Path First (OSPF). Однако данная схема не обеспечивает отказоустойчивость.

Экран 6. Отказоустойчивое WAN-соединение с использованием одного Internet-провайдера.
На Экране 6 представлена конфигурация с одним уровнем отказоустойчивости: локальная сеть через два независимых подключения подсоединяется к группе маршрутизаторов Autonomous System (AS) Internet-провайдера (ISP). Оба маршрутизатора — А и В — работают по протоколу Border Gateway Protocol 4 (BGP-4). Дополнительная информация об особенностях Interior Border Gateway Protocol (IBGP) и Exterior Border Gateway Protocol (EBGP) приведена во врезке «Стандарты и протоколы построения сетей с резервированием». Хотя эта конфигурация обеспечивает отказоустойчивость в случае выхода из строя маршрутизатора А или маршрутизатора В и сбоя на линии связи, она еще не застрахована от аварийного отключения при работе в Internet. Если оба подключения задействуют один канал для «последней мили» между провайдером передачи данных (т. е. местной телефонной компанией) и локальной сетью, любая неожиданность — например повреждение кабеля ковшом экскаватора — приведет к сбою в маршруте, который используется в обоих соединениях. Оба соединения заканчиваются в одной и той же точке присутствия провайдера — ISP Point of Presence (POP), — в результате оба они оказываются бесполезными.

Экран 7. Отказоустойчивое WAN-соединение с использованием двух Internet-провайдеров.
На Экране 7 показана усовершенствованная конфигурация обеспечения отказоустойчивости: подключение к двум различным ISP. В этой схеме также может проявиться уязвимость при разрушении «последней мили», однако отказ одного ISP не приведет к сбою в работе. В данном случае необходимо, чтобы в локальной сети использовался глобально уникальный номер Autonomous System Number (ASN) (см. врезку «Стандарты и протоколы построения сетей с резервированием»).

Организации, которые работают с различными филиалами на территории своей страны или зарубежом, могут использовать еще более сложные конфигурации обеспечения отказоустойчивости. Представим себе частную сеть в организации с территориально распределенными офисами. Частная сеть связывает каждый офис с двумя или несколькими офисами на других территориях. По крайней мере двум из них следует обеспечить отказоустойчивость ISP-соединений. В зависимости от возможностей самого провайдера в смысле отказоустойчивости, организация может воспользоваться услугами одного и того же ISP из разных офисов или принять решение об обращении к дополнительным провайдерам. Такая сеть способна пережить региональный сбой (каждый офис будет иметь по крайней мере два маршрута к другим офисам) и региональные проблемы с Internet, переключившись на ISP за пределами пострадавшего региона.

Всесторонний анализ сетевых коммуникаций — вот ключ к успешной реализации резервирования для достижения отказоустойчивости. Знаете ли вы маршруты «последней мили»? Обладает ли ваш ISP отказоустойчивостью с точки зрения Internet-подключений?

Компетентные сетевые администраторы прилагают значительные усилия для правильной настройки компонентов сети, за которые они несут ответственность. Однако лучшие сетевые администраторы видят дальше и постоянно стараются отыскать точки потенциальных сбоев в коммуникационной среде.


Стандарты и протоколы построения сетей с резервированием

Вот перечень «кирпичиков» — стандартов и протоколов, из которых строятся сети с резервированием.

Border Gateway Protocol 4. Пограничный межсетевой протокол (известный под названием Inter-Autonomous System Routing) BGP-4 поддерживает междоменную маршрутизацию. Маршрутизаторы Border Gateway Protocol (BGP) обмениваются данными, связанными с сетевым доступом, с другими маршрутизаторами BGP. Основная задача BGP — идентификация сетей по их автономным системным номерам Autonomous System Number (ASN). Автономная система (AS) — это логически непрерывная сеть с единой административной структурой, в которой используется единая политика маршрутизации. Протокол BGP может также применяться для обмена маршрутной информацией, циркулирующей между различными BGP, с выбранной AS. Эта разновидность BGP носит название Interior Border Gateway Protocol (IBGP). Похожим образом BGP можно использовать при обмене маршрутной информацией с несколькими AS. В этом случае речь идет еще об одной разновидности BGP — Exterior Border Gateway Protocol (EBGP).

Classless Inter-Domain Routing. Бесклассовая междоменная маршрутизация, CIDR, позволяет указывать сетевые адреса более гибко и требует в таблице пространства сетевых адресов и маршрутов меньше места, если сравнивать с концепцией классов IP (т. е. при работе с пространствами адресов класса A, B, C и D).

Fast EtherChannel. Fast EtherChannel — схема канального концентратора (известная под именем Port-Trunking), запатентованная Cisco Systems, дает возможность устанавливать множество параллельных активных каналов связи между двумя устройствами. Канальный концентратор позволяет масштабировать общую ширину полосы пропускания между двумя устройствами и балансировать нагрузку каналов связи. Преимущество Fast EtherChannel — быстрота восстановления (менее секунды), когда один из активных каналов связи выходит из строя.

Hot Standby Routing Protocol. Протокол маршрутизации «горячего» резерва, HSRP, является также запатентованной Cisco Systems реализацией Virtual Router Redundancy Protocol (VRRP). Как и VRRP, протокол HSRP дает возможность сконфигурировать полностью резервированный исходящий коммуникационный маршрут.

IEEE 802.1D Spanning Tree Algorithm. Для подключения к коммутатору связи можно задействовать множество параллельных подключений, в которых реализована математика Spanning Tree Algorithm — алгоритм связующего дерева. STA отключает все подключения, кроме одного, а в случае сбоя активного канала связи активизирует альтернативное подключение.

IEEE 802.3ad Link Aggregation Control Protocol. Стандарт Link Aggregation Control Protocol (LACP), который «вырос» из стандарта Fast EtherChannel, дает возможность использовать преимущества объединения каналов, когда в сетевой инфраструктуре задействовано оборудование нескольких производителей. Доступно два режима работы: Static и Dynamic. В Static Mode несколько адаптеров подключается к одному и тому же коммутатору (с выключенным STA). Static Mode обеспечивает отказоустойчивость в случае отказа коммутатора, если соблюдены следующие требования: два сетевых адаптера подключены к двум коммутаторам (с включенным STA), при этом один сетевой адаптер остается активным до момента возникновения сбоя на канале, после чего прерванную работу подхватывает другой. В Dynamic Mode несколько адаптеров сервера разделены на два подмножества, каждое из которых подключено к своему коммутатору. В каждый момент времени активно только одно подмножество, с возможностью масштабирования полосы пропускания и балансировки нагрузки. В случае сбоя активного коммутатора весь трафик переходит на подмножество каналов второго коммутатора.

Internet Router Discovery Protocol. Этот протокол описан в Internet Engineering Task Force (IETF) Request for Comments (RFC) 1256. Internet Router Discovery Protocol (IRDP) описывает алгоритм, в соответствии с которым маршрутизаторы периодически заявляют о своем присутствии самостоятельно или в ответ на запросы клиентов о немедленном оповещении (обычно при начальном запуске системы). Алгоритм IRDP дает возможность системам клиентов динамически находить шлюзы, заданные по умолчанию.

Virtual Router Redundancy Protocol. VRRP работает вместе с BGP для достижения сетевой отказоустойчивости в случае сбоя на маршрутизаторе.

С появлением VRRP вводятся понятия идентификатора виртуального маршрутизатора (virtual router ID) и IP-адреса виртуального маршрутизатора (virtual router IP address), которые в случае сбоя основного маршрутизатора выступают в роли резервного маршрутизатора. Физический маршрутизатор может быть сконфигурирован с несколькими Virtual Router ID; несколько физических маршрутизаторов может иметь один и тот же Virtual Router ID. Для каждого Virtual Router ID активным в данный момент времени может быть только один физический маршрутизатор. Когда он выходит из строя, другой маршрутизатор с тем же самым Virtual Router ID становится активным.

Джон Грин — президент компании Nereus Computer Consulting. С ним можно связаться по адресу: john@nereus.cc.