UMGUM.COM (лучше) 

Windows + Intel + ANS + LACP ( Агрегирование каналов c помощью LACP для сервера с интерфейсами Intel под управлением Microsoft Windows 2003. )

9 ноября 2011  (обновлено 31 января 2015)

OS: Microsoft Windows 2003 Standart SP2.
Hard: Intel PRO/1000 PF Dual Port Server Adapter.

Задача: обеспечить высокий уровень надёжности передачи данных через сетевые адаптеры "Intel PRO Dual Port Server Adapter" для сервера под управлением "Microsoft Windows 2003" вкупе с увеличением пропускной способности каналов в соответствии со спецификацией IEEE 802.3ad (LACP).

Как я уже упоминал в заметке, Microsoft не поддерживает агрегирование каналов передачи данных на уровне системы, полагая (видимо), что проще отдать разработку таких решений тем, кто сможет и захочет это сделать, снимая с себя ответственность за потенциально нестабильную работу на массе оборудования, протестировать которое весьма и весьма трудоёмкая задача.

Подавляющее большинство производителей современных серверов устанавливают сетевые адаптеры, основанные на наборе микросхем компаний "Broadcom" и "Intel". Предположим, что у нас на борту сетевая карта "Intel PRO Dual Port Server Adapter" и мы хотели ли бы установить оригинальные драйверы, а так же специализированное программное обеспечение, позволяющее настроить агрегирование каналов.

Для начала определяем, какое именно оборудование мы пытаемся запустить в работу:

размер: 320 400 640 800 1024 1280
Adapter Teaming. Intel. Microsoft Windows 2003: Выясняем идентификаторы модели и модификации устройства.
Adapter Teaming. Intel. Microsoft Windows 2003: Выясняем идентификаторы модели и модификации устройства.


Vendor (производитель) и Device (устройство) идентификаторы следующие:

VEN_8086 & DEV_105E

С идентификаторами модели и модификации устройства идём на сайт производителя и выясняем, что мы имеем:


Имеем мы следующее:

D53756-xxx
Intel® PRO/1000 PF Dual Port Server Adapter
EXPI9402PF / EXPI9402PFBLK
2xLC, 1000Full, PCI-e, 82571GB / VendorID:8086, DevID:105E

Идём по предложенным ссылкам и скачиваем пакет драйверов для устройства в комплекте со специализированным программным обеспечением ANS (Advanced Networking Services), предназначенным, в частности, для агрегированных адаптеров:

Network Adapter Drivers for Windows Server 2003* - Installs Ethernet drivers. Includes Intel® PROSet for Windows Device Manager*, advanced networking services (ANS) for teaming and VLANs, and SNMP.

Далее, естественно, запускаем инсталлятор и проходим этапы подготовки, явно указывая при этом на необходимость установки специализированного программного обеспечения ANS (Advanced Networking Services):

Adapter Teaming. Intel. Microsoft Windows 2003: Выбираем установку ANS в комплекте с драйверами адаптера.
Adapter Teaming. Intel. Microsoft Windows 2003: Выбираем установку ANS в комплекте с драйверами адаптера.

Некоторое время наблюдаем модальное окошко, пока умная программа шустрит и делает то, что ей положено:

Adapter Teaming. Intel. Microsoft Windows 2003: Идёт процесс инсталляции драйверов для сетевых адаптеров Intel.
Adapter Teaming. Intel. Microsoft Windows 2003: Идёт процесс инсталляции драйверов для сетевых адаптеров Intel.

Итак, драйверы установлены. Проводим предварительную подготовку сетевых адаптеров. Следует иметь в виду то, что расширенный функционал, предоставляемый драйверами и специализированными приложениями Intel для сетевых адаптеров, вроде ANS и VLAN, доступен только с консоли RDP #0 или с физического терминала.

Прежде всего, для всех сетевых интерфейсов, задействованных в объединении, необходимо установить единые значения для ряда параметров. Следует в явном виде указать скорость и режим передачи данных, например: "100 Mb & Full" (естественно, на стороне коммутатора необходимо заранее обеспечить работу интерфейсов в аналогичном режиме):

Adapter Teaming. Intel. Microsoft Windows 2003: Явно определяем параметры сетевого адаптера.
Adapter Teaming. Intel. Microsoft Windows 2003: Явно определяем параметры сетевого адаптера.

Далее следовало бы отключить поддержку "Checksum Offload", "Receive Side Scaling" и "NetDMA" (всё это - функционал "Scalable Networking Pack", предназначенный для оптимизации обработки "прямых" потоков данных), но утилита ANS от Intel оказалась самой умной из всех ранее мною используемых для агрегирования и сама отлично справляется со всеми этими настройками. Кому интересно, что к чему, может почитать эту заметку - не вижу смысла здесь повторяться.

Переходим на вкладку настройки агрегирования любого задействованного нами сетевого адаптера. Инициируем создание нового группового подключения:

Adapter Teaming. Intel. Microsoft Windows 2003: Инициируем создание агрегированного виртуального сетевого интерфейса.
Adapter Teaming. Intel. Microsoft Windows 2003: Инициируем создание агрегированного виртуального сетевого интерфейса.

Выбираем произвольное говорящее имя для создаваемого виртуального сетевого интерфейса:

Adapter Teaming. Intel. Microsoft Windows 2003: Указываем произвольное имя для вирутального интерфейса.
Adapter Teaming. Intel. Microsoft Windows 2003: Указываем произвольное имя для вирутального интерфейса.

Явно указываем, какие именно сетевые адаптеры будут объединены:

Adapter Teaming. Intel. Microsoft Windows 2003: Явно указываем, какие сетевые адаптеры будут агрегированны.
Adapter Teaming. Intel. Microsoft Windows 2003: Явно указываем, какие сетевые адаптеры будут агрегированны.

Выбираем тип агрегирования, в нашем случае это 802.3ad (LACP):

Adapter Teaming. Intel. Microsoft Windows 2003: Выбираем тип агрегирования.
Adapter Teaming. Intel. Microsoft Windows 2003: Выбираем тип агрегирования.

В самом простом случае - это всё. После нажатия кнопки "Finish" будет создан новый виртуальный групповой интерфейс и сброшены TCP/IP параметры подчинённых интерфейсов. Если в сети налажен DHCP, то групповой интерфейс получит параметры автоматически (IP, mask, gayeway, DNS), в противном случае - настраиваем его вручную:

Adapter Teaming. Intel. Microsoft Windows 2003: Общий вид списка сетевых интерфейсов после осуществления агрегирования.
Adapter Teaming. Intel. Microsoft Windows 2003: Общий вид списка сетевых интерфейсов после осуществления агрегирования.

Естественно, с момента инициирования создания нового группового соединения (с сопутствующим сбросом TCP настроек задействованных сетевых интерфейсов) и до момента настройки TCP/IP на новом виртуальном интерфейсе сетевое взаимодействие будут невозможным. Кроме того, как это водится, операционная система Microsoft Windows запросит перезагрузку, обнаружив "новое устройство".

Ясно, что необходимо обеспечить поддержку LACP на всех сторонах сетевого взаимодействия. Как это сделать для Cisco Catalyst я писал здесь. После того, как поддержка LACP обеспечена на обеих взаимодействующих сторонах, можно подключать второй сетевой линк (или третий, если будет угодно):

Adapter Teaming. Intel. Microsoft Windows 2003: Состояние задействованных в агрегировании сетевых адаптеров.
Adapter Teaming. Intel. Microsoft Windows 2003: Состояние задействованных в агрегировании сетевых адаптеров.

Чем больше линков сгруппируем, тем большую надёжность и суммарную пропускную способность получим:

Adapter Teaming. Intel. Microsoft Windows 2003: Состояние агрегированного сетевого интерфейса.
Adapter Teaming. Intel. Microsoft Windows 2003: Состояние агрегированного сетевого интерфейса.


Заметки и комментарии к публикации:


Оставьте свой комментарий ( выразите мнение относительно публикации, поделитесь дополнительными сведениями или укажите на ошибку )