
6 Обеспечение отказоустойчивости Резервирование 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, к примеру, — ничего не изменится. Установка шлюзов по умолчанию для различных сетевых карт на станции с несколькими сетевыми адаптерами может вызвать проблемы, если сетевые карты подсоединены к сетям, между которыми не может происходить обмен данными. Даже когда шлюзы по умолчанию описаны на разных сетевых картах, только один из них в каждый момент времени является для станции активным.
Internet Router Discovery Protocol (IRDP) — это еще один способ отреагировать на отказ шлюза по умолчанию. Маршрутизаторы, которые поддерживают IRDP, используют сообщения ICMP для извещения о своем присутствии. Для Windows NT 4.0 Microsoft добавила поддержку протокола IRDP, но по умолчанию он отключен. Необходимо внести некоторые изменения в реестр для активизации IRDP, причем для каждой сетевой карты. После того как будет активизирована 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 представлена конфигурация коммутатор-коммутатор. Эта схема поддерживает дополнительные возможности в отношении балансировки нагрузки, полосы пропускания и отказоустойчивости при сбое соединения.