Серверные сетевые карты стандарта Fast Ethernet
Серверные сетевые карты стандарта Fast Ethernet
Серверная сетевая карта 3C980C-TXM Fast EtherLink Server компании 3Com
Самовосстанавливающиеся драйверы
Дополнительные серверные связи
Четырехпортовый серверный адаптер D-Link DFE–570 TX
Двухпортовый серверный адаптер Intel PRO/100+
Адаптивная балансировка нагрузки
Технология отказоустойчивости адаптеров
Двухпортовый серверный адаптер SMC Tiger Array 2
Обеспечение отказоустойчивости
Измерение производительности и степени загруженности процессора
В данный момент на рынке сетевых серверных адаптеров Fast Ethernet присутствует в основном продукция компаний Intel, 3Com, D-Link и SMC. Выпускаемые ими серверные адаптеры Fast Ethernet можно разделить на две категории. В первую из них попадают адаптеры, имеющие один порт (3Com — 3C980C-TXM Fast EtherLink Server), в другую — адаптеры с несколькими (2 или 4) портами (Intel PRO/100+ Dual Server Adapter, D-Link DFE-570 TX, SMC Tiger Array 2).
Мы постарались уделять больше внимания не только производительности серверных сетевых карт, но и дополнительным по сравнению с картами для рабочих станций функциональным возможностям серверных карт — обеспечению отказоустойчивости и балансировке нагрузки.
В процессе тестирования использовался сервер HP с двумя процессорами Intel Pentium III 533, 256 Mбайт ОЗУ, шиной PCI, винчестером 9 Гбайт UltraWide SCS и операционной системой Microsoft Windows NT Server 4.0 SP6. В качестве клиентов использовались различные компьютеры с процессорами от Pentium Celeron 300 до Pentium II 350, количеством памяти от 64 до 128 Mбайт, сетевыми картами 3Com 3C905 и 3с905b и с Windows NT Workstation 4.0 SP6. Сервер и клиенты подключались к коммутатору SuperStack II Switch 3300 компании 3Com.
В настоящее время довольно часто встречается ситуация, когда возможности современных серверов (даже тех, которые позиционируются производителями как серверы уровня рабочих групп, не говоря уже о корпоративных серверах) по скорости обработки и передаче данных значительно превышают возможности Fast Ethernet. В то же время пользователям, работающим с современными приложениями и большими объемами данных, требуется все более высокая пропускная способность. А если учесть, что многочисленные пользователи обычно подключаются к сети также по каналам Fast Ethernet, становится понятным, почему сетевые карты Fast Ethernet в серверах являются «узким местом» всей информационной системы. Решением проблемы может стать либо наращивание возможностей серверных сетевых карт Fast Ethernet (агрегирование каналов, балансировка нагрузки и т.п.), либо переход на Gigabit Ethernet. Но, поскольку начальные затраты на внедрение технологии Gigabit Ethernet до сих пор достаточно велики, а кроме того, гигабитная пропускная способность нужна далеко не всегда, технология Fast Ethernet для серверных сетевых карт остается преобладающей.
Серверная сетевая карта 3C980C-TXM Fast EtherLink Server компании 3Com
Компанией 3Com разработано целое семейство программных средств для усовершенствования функций сетевых карт под общим названием DynamicAccess. Программное обеспечение DynamicAccess для серверных сетевых карт предоставляет возможность распределения нагрузки (Load Balancing) между несколькими картами, создания дополнительных серверных связей (Resilient Server Links) и использования самовосстанавливающихся драйверов (Self-Healing Drivers).
Балансировка нагрузки
Использование средств распределения нагрузки позволяет добиться увеличения производительности при небольших (по сравнению с переходом на Gigabit Ethernet) начальных затратах. Отметим, что производительность можно увеличивать, постепенно, по мере необходимости, добавляя карты. Количество карт, которые должны быть подключены к коммутатору, может варьироваться от двух до восьми (можно использовать любой коммутатор).
Чтобы осуществлять распределение нагрузки, компания 3Com использует комплекс различных алгоритмов и технологий. При этом в отличие от некоторых похожих решений других производителей, в которых между несколькими картами распределяется только исходящий трафик, в решении 3Com может происходить распределение как исходящего, так и входящего трафика. Несколько карт объединяются в группу, при этом у каждой из карт остается свой собственный MAC-адрес, но все они разделяют один общий для группы IP-адрес. Группа карт представляется операционной системой как одна виртуальная карта с одним IP-адресом (рис. 1). В этом случае операционная система воспринимает виртуальную карту как совершенно обычную (поэтому, в общем случае, IP-адресов у виртуальной карты может быть несколько, как и у обычной, невиртуальной карты, но каждый дополнительный IP-адрес все равно будет общим для группы реальных карт и ему будет соответствовать несколько MAC-адресов), то есть виртуальная карта служит для того, чтобы скрыть от системы особенности реализации дополнительных функциональных возможностей и сделать их присутствие полностью прозрачным. Виртуальных карт может быть больше одной, если кроме Load Balancing также используются VLAN. DynamicAccess инсталлирует специальный протокол (DAPassThru Driver Transport), который служит для взаимодействия виртуальных карт с реальными (рис. 2). Этот сквозной протокол как раз и осуществляет выполнение всех дополнительных функций (Load Balance, RSL, VLANs и т.д.). DynamicAccess полностью «развязывает» реальные карты в сетевых привязках от всех вышестоящих протоколов и сервисов, кроме протокола DAPassThru Driver Transport, через который осуществляется взаимодействие с виртуальными картами, и в конечном итоге стандартные вышестоящие протоколы «видят» только виртуальные карты (рис. 3).
Для равномерного распределения исходящего трафика от сервера между несколькими картами используется специальный алгоритм, использующий несколько параметров, при этом в качестве основного параметра используется IP-адрес клиента. Разумеется, данный метод не может гарантировать абсолютно равномерного распределения трафика между всеми картами, но при достаточно большом количестве клиентов в результате удается добиться почти равномерного распределения нагрузки. Кроме того, различные сессии от одного клиента также распределяются между разными картами, так как в большинстве случаев различным сессиям соответствуют разные номера портов TCP и UDP, что учитывается алгоритмом распределения нагрузки, помогая в результате избежать ситуации, когда один интенсивно работающий с сервером клиент чрезмерно загружает одну из серверных карт. Исходящий трафик к группе клиентов, которые находятся за маршрутизатором (или коммутатором 3-го уровня) в другой подсети, также будет распределяться между картами, так как в процессе взаимодействия клиента с сервером у каждого клиента есть уникальный клиентский IP-адрес назначения, несмотря на то что весь трафик передается через общий для группы клиентов промежуточный MAC-адрес маршрутизатора (или коммутатора 3-го уровня).
Распределение входящего трафика осуществляется при помощи специального вспомогательного промежуточного IP-адреса, который служит для того, чтобы DynamicAccess мог вмешаться в стандартный процесс преобразования IP-адреса в MAC-адрес по протоколу ARP с целью раздачи разным клиентам MAC-адресов различных карт. Мы протестировали эту особенность с двумя клиентами, которые обращались к серверу с двумя картами. После обращения на сервер в ARP-кэше первой клиентской станции остался MAC–адрес одной серверной карты, а в ARP-кэше второй клиентской станции — MAC-адрес другой. При этом разные MAC-адреса соответствовали одному серверному IP-адресу.
Нам не удалось найти у других производителей решения, подобного DynamicAccess для серверных карт, в котором не требуется специальной поддержки со стороны коммутатора и в котором при этом реализовано двухстороннее распределение нагрузки. Кроме того, все рассмотренные нами решения от других производителей предусматривали установку не более четырех серверных карт одновременно, в отличие от решения 3Com, в котором можно устанавливать в единую группу до восьми карт.
Как только установлены драйверы, надо решить, инсталлировать программное обеспечение DynamicAccess или нет. Если требуются дополнительные функциональные возможности, предоставляемые DynamicAccess, и принято решение его установить, сразу после его установки можно создать группу карт. При этом одна из карт в группе определяется как основная — Primary (рис. 4), на которую будет распределяться нагрузка и которая будет обеспечивать повышенную надежность серверного сетевого соединения. После этого программное обеспечение автоматически настраивает сетевые привязки и создает виртуальную карту (как было рассмотрено выше).
Отметим, что одно только наличие программного обеспечения DynamicAccess, когда оно не выполняет никаких функций, приводит к некоторому увеличению относительной загрузки процессора при выполнении сетевых операций. Следовательно, если у вас есть одна карта и в ближайшее время у вас не появится потребности в дополнительных функциональных возможностях, предоставляемых DynamicAccess, не стоит торопиться его устанавливать — это можно сделать в любой момент.
Самовосстанавливающиеся драйверы
Самовосстанавливающиеся драйверы — средство, позволяющее добиться высокого уровня надежности соединения с сервером. Это достигается путем непрерывного контроля за состоянием соединения и сетевого адаптера с целью выявления сбойных ситуаций, которые могут привести к снижению пропускной способности или к разрыву соединения.
Эти сбойные ситуации, такие как коллизии доступа, необработанное прерывание или прямое обращение к памяти, потеря несущей и т.п., приводят к вызову драйвера для проведения восстанавливающих действий. К этим действиям относятся перезагрузка драйвера сетевой карты для сброса зависшего прерывания, проверка целостности соединения или правильности взаимодействия с драйверами, а также переключение в случае необходимости на другой канал.
Уровни обработки сбойных ситуаций для самовосстанавливающихся драйверов могут быть установлены в процессе инсталляции и настройки сетевой карты (рис. 5). Утилиты SHD протоколируют все сбойные ситуации и предпринятые действия в специальных журналах системы сетевого управления.
Дополнительные серверные связи
Технология отказоустойчивых серверных соединений (Resilient Server Links) позволяет формировать резервные соединения сервера с сетевой инфраструктурой. Если коммутатор, концентратор, кабель, адаптер или разъем выйдет из строя, RSL автоматически инициирует процедуру восстановления связи, что позволит оставшимся в группе адаптерам взять на себя трафик вышедшего из строя соединения.
При этом также значительно увеличивается надежность сетевого соединения сервера, поскольку драйвер постоянно проверяет активность сетевого соединения каждой из карт посредством генерации специальных сетевых пакетов подтверждения статуса активности. Если какая-либо из карт не посылает пакетов подтверждения статуса активности в течение определенного промежутка времени, программное обеспечение DynamicAccess делает вывод, что сетевое соединение с данной картой неактивно. При этом нагрузка автоматически перераспределяется между оставшимися картами и сервер продолжает работать. Заметим, что для сохранения работоспособности сервера достаточно, чтобы осталась подключенной к сети хотя бы одна карта из группы, содержащей до восьми карт. Например, если какая-либо из карт сервера окажется отключенной от коммутатора, то сервер по-прежнему останется доступным. Если сетевое соединение с картой восстанавливается, программное обеспечение DynamicAccess это обнаруживает, автоматически возвращая конфигурацию в исходное состояние.
В процессе тестирования нами было замечено, что в моменты отсутствия полезной сетевой активности и широковещательных сообщений индикаторы активности карт продолжают периодически мигать — передаются пакеты подтверждения статуса активности, при помощи которых программное обеспечение DynamicAccess for Servers определяет активность сетевого подключения каждой из карт в группе и, в случае если какая-либо из карт не посылает пакетов подтверждения статуса активности в течение определенного промежутка времени, производит перераспределение трафика на оставшиеся карты (в нашем случае — на оставшуюся карту, так как у нас в группе было всего две карты). Мы протестировали, насколько быстро происходит переключение клиента, работающего с одной из карт, на другую карту в случае, если первую отключить от сети. С сетевого диска сервера копировался большой файл на одну из клиентских рабочих станций, при этом собирались заголовки всех пакетов (без данных), проходящих через виртуальную сетевую карту (то есть через обе карты) сервера при помощи Network Associates Sniffer Pro 1.0. В процессе копирования файла карта, которая работала с клиентской станцией, физически отключалась от сети. Подобные события, включая переключение на другую карту, DynamicAccess записывает в системный журнал. Проводилась серия тестов, в ходе которых удалось установить, что полное восстановление процесса прерванного копирования занимает несколько секунд: в ряде случаев быстрее, в ряде случаев медленнее; учитывая достаточно большой разброс полученных значений, усреднять результаты не стали. При этом, если сравнить абсолютные отсчеты времени записей в системном журнале и абсолютные отсчеты времени собранных при помощи Sniffer пакетов, можно сделать вывод, что сам процесс переключения занимает не больше секунды, а остальное время задержки можно отнести на счет вышестоящих протоколов.
Сетевая карта также поддерживает протокол Fast IP (рис. 6), приоритезацию трафика (802.1p) (рис. 7) и RMON. Для централизованного мониторинга сети и анализа ее производительности можно использовать программный продукт DynamicAccess Network Performance Manager компании 3Com.
Несомненным достоинством серверного адаптера 3Com является поддержка виртуальных локальных сетей (VLAN). Использование VLAN увеличивает производительность за счет уменьшения числа используемых маршрутизаторов, локализует широковещательный трафик в пределах одной VLAN, повышает сетевую информационную безопасность, а также дает возможность легко изменять логическую структуру сети вне зависимости от физического положения конечных сетевых устройств. В настоящее время получил широкое распространение стандарт IEEE 802.1Q, в котором технология VLAN реализуется при помощи маркированных кадров Ethernet. Эта технология реализована в 3C980C-TXM.
Кроме того, поддерживаются: автоматическое определение скорости соединения; режим Bus Master; полнодуплексный режим; интерфейс DMI (Desktop Management Interface), что дает возможность получать информацию о конфигурации и ресурсах ПК с помощью ПО сетевого управления; спецификация WfM (Wired for Management), что обеспечивает взаимодействие сетевого адаптера с программными средствами сетевого управления и администрирования; интерфейс ACPI (Advanced Configuration Power Interface), что позволяет снизить энергопотребление; основные операционные системы — Windows NT, NetWare, Linux, SCO Unix, LAN Manager и другие.
Сервисная поддержка, оцениваемая наличием документации, дискеты с драйверами и возможностью скачать последние версии драйверов с сайта компании, находится на высоком уровне.
Имеются три светодиодных индикатора: работа, скорость 10, скорость 100.
Гарантия распространяется на все время эксплуатации сетевого адаптера (пожизненная гарантия).
Четырехпортовый серверный адаптер D-Link DFE–570 TX
Четырехпортовый серверный адаптер DFE–570 TX конфигурируется довольно просто. Для образования группы из нескольких портов необходимо провести их объединение в сегмент. Сегментов может быть один или два; в данном случае был сформирован один сегмент, включающий все четыре порта (рис. 8). В любом случае образуется виртуальная карта, объединяющая все порты адаптера. Эта виртуальная карта имеет один IP-адрес (рис. 9). Для взаимодействия виртуальной карты с реальными портами используется специальный протокол D-Link Transport (рис. 10), разработанный компанией D-Link и входящий в состав драйвера. Этот протокол и содержит средство балансировки загрузки и обеспечения отказоустойчивости. На рис. 11 показано, каким образом связаны порты адаптера и сам виртуальный адаптер с различными протоколами.
Балансировка нагрузки
Все отличающиеся от решения 3Com существующие на рынке технологии балансировки нагрузки условно можно разделить на две основные группы: в первой из них распределение трафика осуществляется на пакетном уровне, то есть кадры Ethernet последовательно распределяются между всеми картами (Round — Robin), во второй распределение трафика осуществляется на основании MAC-адреса клиента (обычно берутся последние два бита MAC-адреса, значение которых после несложных преобразований в зависимости от количества установленных карт однозначно указывает на карту, которая будет использоваться для работы с клиентом с этим MAC-адресом). Первый подход достаточно легко реализуем, мало нагружает процессор и гарантирует равномерное распределение исходящего трафика, но у него есть серьезный недостаток: поскольку пакеты к одному клиенту идут через разные карты, велика вероятность того, что порядок их следования будет нарушен, в результате чего может возникнуть ситуация, когда клиентские станции вынуждены будут часто запрашивать повторную передачу, что в свою очередь приведет к ухудшению производительности и перегрузке сети. У второго подхода, в котором распределение трафика осуществляется на основании MAC-адреса клиента, также есть недостатки: во-первых, интенсивно работающий клиент может чрезмерно нагрузить одну из карт по сравнению с другими (в решении 3Com различные сессии от одного клиента по возможности распределяются по разным картам); во-вторых, у всех клиентских станций, которые находятся в другой подсети и отделены от сервера маршрутизатором, будет один MAC-адрес (MAC-адрес порта маршрутизатора), следовательно, все они будут работать только с одной из карт, что также приведет к неравномерному распределению нагрузки.
Специальное программное средство балансировки нагрузки D-Link позволяет динамически перераспределять нагрузку между портами сетевого адаптера. Причем поддерживаются стеки протоколов TCP/IP, IPX и NetBEUI. На рис. 12 и рис. 13 показаны значения входящего и исходящего трафиков для двух портов адаптера, а на рис. 14 — суммарные значения трафика для всех четырех портов. Они свидетельствуют о том, что происходит равномерное распределение исходящего трафика по всем портам адаптера. Таким образом, механизм балансировки нагрузки D-Link работает очень четко. Это показывает, что распределение трафика происходит на уровне пакетов.
Отказоустойчивость
Сетевой адаптер обеспечивает резервирование на уровне всех четырех портов. Если хотя бы один порт и связанная с ним линия исправны, вся система остается работоспособной. Средство, обеспечивающее отказоустойчивость, работает и в разделяемой, и в коммутируемой среде
(и с концентраторами, и с коммутаторами). Даже в случае, если между этими устройствами и сервером находится маршрутизатор, отказоустойчивость будет обеспечиваться.
После восстановления работоспособности канала связи соединение снова начинает функционировать. Уже упоминавшееся выше программное обеспечение позволяет динамически регулировать условия разрыва и восстановления соединения (рис. 15) и следить за его состоянием (рис. 16 и 17). В данном случае (рис. 15) установлено, что если в течение 60 мин трижды будет зафиксировано падение соединения, то оно будет автоматически отключено. То есть после первых двух падений будут предприниматься попытки восстановления соединения, а после отключения ввести его в строй можно будет только принудительно (кнопка Reactivate на рис. 15).
Использование четырехпортового адаптера D-Link позволяет экономить PCI-слоты, что является несомненным достоинством. Обеспечиваются: автоматическое определение скорости соединения; режим Bus Master; полнодуплексный режим. Кроме того, разные порты адаптера могут работать с различными скоростями. Максимальная пропускная способность — 800 Мбит/с. Функции балансировки нагрузки и отказоустойчивости доступны только в среде Windows NT, хотя поддерживаются все распространенные ОС. Не поддерживается технология виртуальных локальных сетей.
На плате двенадцать индикаторов — по три (работа/соединение, скорость 100, дуплекс) на порт.
Сервисная поддержка находится на очень высоком уровне. На адаптер предоставляется пожизненная гарантия.