Vmware lacp lag настройка
To migrate the network traffic of distributed port groups to a link aggregation group (LAG), you create a LAG on the distributed switch.
What to do next
Set the LAG as standby in the teaming and failover configuration of distributed port groups. In this way, you create an intermediate configuration that lets you migrate the network traffic to the LAG without losing network connectivity.
Распределение нагрузки трафика между физическими и виртуальными сетями.
Также обеспечивает пассивную отказоустойчивость, в случае сбоя оборудования или сбоя в работе сети.
Для того, чтобы использовать NIC Teaming нам потребуется минимум два активных сетевых адаптера.
Режимы работы
Route based on the originating virtual switch port ID – распределение на основе идентификатора порта виртуального коммутатора. Этот механизм используется по умолчанию. Он выбирает для uplink-порт, на основании номера виртуального порта на виртуальном коммутаторе. Один виртуальный адаптер может одновременно использовать только один физический адаптер.
Данный механизм может обеспечивать равномерное распределение, если количество виртуальных сетевых адаптеров превышает количество физических адаптеров. Он не подходит для виртуальных серверов, обрабатывающих большое количество запросов от разных клиентов, когда необходимо разделять трафик одной виртуальной машины (с одним виртуальным сетевым адаптером) по нескольким NIC’ам. Этот механизм не позволяет использовать технологию агрегирования каналов 802.3ad. Кроме всего прочего проблемы могут возникнуть с доступом к IP-хранилищам (iSCSI, NFS), так как VMkernel аналогично сможет использовать только один физический NIC для работы с разными iSCSI-таргетами.
Route based on source MAC hash - распределение на основе хеширования MAC-адреса источника. Этот механизм аналогичен предыдущему и использовался по умолчанию в более ранних версиях ESX Server.
Route based on IP hash - распределение на основе хеширования IP-адреса источника и получателя. Трафик с одной виртуальной машины, направленный на разные IP-адреса, распределяется по разным физическим сетевым адаптерам. Для использования этого механизма необходимо включить поддержку 802.3ad на физическом коммутаторе, к которому подключен ESX Server.
Равномерность распределения трафика зависит от числа TCP/IP-сессий между хостом и различными клиентами. При большом количестве соединений Route based on IP hash позволяет распределять нагрузку наиболее равномерно и не имеет недостатков присущих механизму Route based on the originating virtual switch port ID.
Use explicit failover order - для передачи трафика используется первый по списку активный физический сетевой адаптер виртуального коммутатора, определенный параметром failover order, который определяет Active/Standby режим NIC’ов по отношению к виртуальному коммутатору.
Этот механизм удобно использовать на уровне портов виртуальных машин, сервисной консоли и VMkernel. Например, установив для сервисной консоли активный режим первого NIC’а и пассивный для второго, а для порта VMkernel соответственно наоборот, можно таким образом сконфигурировать failover для сетей управления.
В данной статье мы рассмотрим пример настройки агрегации для VMware vSAN.
Агрегация каналов позволяет объединять несколько сетевых подключений параллельно для увеличения пропускной способности и обеспечения избыточности. Когда группирование сетевых адаптеров настроено с помощью LACP, происходит распределение нагрузки сети vSAN по нескольким аплинкам. Однако это происходит на сетевом уровне, а не через vSAN.
Ознакомиться с общей информацией об агрегировании каналов можно в одной из моих статей про Агрегирование каналов Cisco
В то время как объединение каналов является очень свободным термином, для целей этой статьи основное внимание будет уделяться протоколу управления объединением каналов или LACP. В то время как IEEE имеет свой собственный стандарт LACP 802.3ad, некоторые производители разработали проприетарные типы LACP. Например, PAgP (протокол агрегации портов) похож на LAG, но является собственностью Cisco. Таким образом, руководство поставщика имеет решающее значение, и следует всегда придерживаться лучших практик поставщиков.
Основным выводом при реализации LACP является то, что он использует отраслевой стандарт и реализован с использованием port-channel. Там может быть много алгоритмов хеширования. Политика группы портов vSwitch и конфигурация канала порта (хэш) должны совпадать и соответствовать.
Настраиваем адаптеры на хостах
Переходим в меню “Добавление и редактирование хостов” нашего распределённого коммутатора, выбираем пункт “Редактирование хостов”, добавляем хосты, которые подключены к данному distributed switch.
Назначаем LAG-порты к соответствующим vmnic. По аналогии назначаем порты для других хостов.
Настройка NIC Teaming
Для настройки будем использовать vSphere клиент.
Шаг 1. Подключаемся к хосту и переходим на вкладку Конфигурация, Сеть (Configuration - Networking )
Шаг 2. Переходим в свойства - сетевые адаптеры (network adapters) - Добавить (Add).
Шаг 3. Выбираем неназначенный интерфейс и нажимаем Далее.
Шаг 4. Проверяем что выбранные адаптеры находятся под вкладкой Активные адапторы
Шаг 5. Нажимаем Далее и Финиш
Шаг 6. На вкладке портов выбираем необходимую группу портов и переходим в свойства
Шаг 7. Переходим на вкладку NIC Teaming и выбираем нужную политику балансировки нагрузки
Procedure
- In the vSphere Client , navigate to the distributed switch.
- On the Configure tab, expand Settings and select LACP .
- Click the New Link Aggregation Group icon.
- Name the new LAG.
- Set the number of ports to the LAG.
Set the same number of ports to the LAG as the number of ports in the LACP port channel on the physical switch. A LAG port has the same function as an uplink on the distributed switch. All LAG ports form a NIC team in the context of the LAG.
If the LACP-enabled ports on the physical switch are in Active negotiating mode, you can set the LAG ports in Passive mode and the reverse.
Note: The hashing algorithm must be the same as the hashing algorithm set to the LACP port channel on the physical switch.
Periodic transmissions of LACP PDUs occur at either a slow or fast transmission rate, depending upon the LACP timeout preference you select. In a fast timeout, PDUs are sent every second, and, in a slow timeout, PDUs are sent every 30 seconds. A slow timeout is the default setting.
This option is active when overriding the VLAN and NetFlow policies per individual uplink ports is enabled on the uplink port group. If you set the VLAN and NetFlow policies to the LAG, they override the policies set on the uplink port group level.
Общие правила настройки EtherChannel
LACP и PAgP группируют интерфейсы с одинаковыми:
- скоростью (speed),
- режимом дуплекса (duplex mode),
- native VLAN,
- диапазон разрешенных VLAN,
- trunking status,
- типом интерфейса.
Настройка EtherChannel:
- Так как для объединения в EtherChannel на интерфейсах должны совпадать многие настройки, проще объединять их, когда они настроены по умолчанию. А затем настраивать логический интерфейс.
- Перед объединением интерфейсов лучше отключить их. Это позволит избежать блокирования интерфейсов STP (или перевода их в состояние err-disable).
- Для того чтобы удалить настройки EtherChannel достаточно удалить логический интерфейс. Команды channel-group удалятся автоматически.
Создание EtherChannel для портов уровня 2 и портов уровня 3 отличается:
- Для интерфейсов 3го уровня вручную создается логический интерфейс командой interface port-channel
- Для интерфейсов 2го уровня логический интерфейс создается динамически
- Для обоих типов интерфейсов необходимо вручную назначать интерфейс в EtherChannel. Для этого используется команда channel-group в режиме настройки интерфейса. Эта команда связывает вместе физические и логические порты
После того как настроен EtherChannel:
- изменения, которые применяются к port-channel интерфейсу, применяются ко всем физическим портам, которые присвоены этому port-channel интерфейсу
- изменения, которые применяются к физическому порту влияют только на порт на котором были сделаны изменения
Синтаксис команды channel-group
Синтаксис команды channel-group:
Комбинации режимов при которых поднимется EtherChannel:
Режим PAgP | auto | desirable |
---|---|---|
auto | - | EtherChannel |
desirable | EtherChannel | EtherChannel |
Режим LACP | passive | active |
---|---|---|
passive | - | EtherChannel |
active | EtherChannel | EtherChannel |
Интерфейсы в состоянии suspended
Если настройки физического интерфейса не совпадают с настройками агрегированного интерфейса, он переводится в состояние suspended. Это будет видно в нескольких командах.
Просмотр состояния интерфейсов:
Просмотр информации о EtherChannel:
Команды просмотра информации
NIC Teaming по протоколу LACP в Vmware vsphere 5.5.x
VMware ESXi 5.5.x, как и прошлые версии поддерживает работу в режиме статического тиминга. Настройка его ни чем не отличается от той, которая написана в статье LACP, 802.3ad, load based IP hash и все такое. Далее, нас интересует настройка NIC Teaming с использованием согласования по протокол LACP на Vmware. В чем же польза LACP по сравнению с static aggregation:
-
Возможность использовать Hot-Standby Ports. Если добавить физических портов больше чем поддерживает оборудование (по крайне мере в cisco), то есть возможность использовать лишние порты в качестве портов hot-standby mode. Если произойдет отказ активного порта, порт hot-standby автоматически заменит его. Этот пункт мало применим к ESX, но тем не менее.
Проверка корректности конфигурации. Агрегация каналов
Failover (обнаружение отказа). Если у вас имеется dumb-устройство между двумя концами EtherChannel, например media converter, и один из линков, идущих через него отказывает, LACP это понимает и перестает слать трафик в отказавший линк. Static EtherChannel не мониторит состояние линков. Это не типичная ситуация для большинства систем vSphere, которые мне встречались, но в ряде случаев это может оказаться полезным.
Архитектурно, LACP'ом в vSphere управляет модуль ядра, который взаимодействует с демоном lacp _ uw. Ключевое отличие настройки статической агрегации от LACP на vSphere Distributed Switch заключается в следующем: При использовании NIC teaming в статической конфигурации на vSphere Distributed Switch мы создавали т.н. Uplink порты, которым сопоставляли физические vmnic интерфейсы хостов. А уже Uplink интерфейс использовали в качестве исходящего интерфейса взаимодействия с внешним миром. А виртуальные машины, работая на каком-либо из хостов выбирали из ассоциированного с Uplink физического интерфейса - нужный. При этом, группировка и балансировка происходила на уровне созданных Uplink интерфейсов в настройках распределенных порт-групп в разделе “Teaming and failover”. При настройке Link Aggregation Control Protocol мы создаем т.н. LAG (Link Aggrigation Group) - некая сущность, аналогичная Port Channel в Cisco - логический интерфейс, который объединяет физические интерфейсы и на уровне которой применяются настройки LACP (active-passive) и Load Balancing, к которой ассоциируются физические интерфейсы одного хоста. А Уже к этому самому LAG присоединяются/ассоциируются физические vmnic интерфейсы. И этот же LAG используется в качестве исходящего интерфейса. "На пальцах" тяжело понять данный абзац. Необходима практика )
Общая информация об агрегировании каналов
Агрегирование каналов позволяет решить две задачи:
- повысить пропускную способность канала
- обеспечить резерв на случай выхода из строя одного из каналов
Большинство технологий по агрегированию позволяют объединять только параллельные каналы. То есть такие, которые начинаются на одном и том же устройстве и заканчиваются на другом.
Если рассматривать избыточные соединения между коммутаторами, то без использования специальных технологий для агрегирования каналов, передаваться данные будут только через один интерфейс, который не заблокирован STP. Такой вариант позволяет обеспечить резервирование каналов, но не дает возможности увеличить пропускную способность.
(Без использования STP такое избыточное соединение создаст петлю в сети.)
Технологии по агрегированию каналов позволяют использовать все интерфейсы одновременно. При этом устройства контролируют распространение широковещательных фреймов (а также multicast и unknown unicast), чтобы они не зацикливались. Для этого коммутатор, при получении широковещательного фрейма через обычный интерфейс, отправляет его в агрегированный канал только через один интерфейс. А при получении широковещательного фрейма из агрегированного канала, не отправляет его назад.
Хотя агрегирование каналов позволяет увеличить пропускную способность канала, не стоит рассчитывать на идеальную балансировку нагрузки между интерфейсами в агрегированном канале. Технологии по балансировке нагрузки в агрегированных каналах, как правило, ориентированы на балансировку по таким критериям: MAC-адресам, IP-адресам, портам отправителя или получателя (по одному критерию или их комбинации).
То есть, реальная загруженность конкретного интерфейса никак не учитывается. Поэтому один интерфейс может быть загружен больше, чем другие. Более того, при неправильном выборе метода балансировки (или если недоступны другие методы) или в некоторых топологиях, может сложиться ситуация, когда реально все данные будут передаваться, например, через один интерфейс.
Некоторые проприетарные разработки позволяют агрегировать каналы, которые соединяют разные устройства. Таким образом резервируется не только канал, но и само устройство. Такие технологии в общем, как правило, называются распределенным агрегированием каналов (у многих производителей есть своё название для этой технологии).
Настройка EtherChannel 3го уровня
Настройка EtherChannel 3го уровня очень мало отличается от настройки EtherChannel 2го уровня. Поэтому в этом разделе показан только один пример настройки, с использованием LACP. Остальные варианты настраиваются аналогично, с изменением режима агрегирования. Команды просмотра аналогичны, их можно посмотреть в предыдущих разделах.
Для EtherChannels 3-го уровня IP-адрес присваивается логическому интерфейсу port-channel, а не физическим интерфейсам.
Перед настройкой агрегирования лучше выключить физические интерфейсы. Достаточно отключить их с одной стороны (в примере на sw1), затем настроить агрегирование с двух сторон и включить интерфейсы.
Настройка логического интерфейса на sw1:
Настройка физических интерфейсов на sw1:
Создание логического интерфейса на sw2:
Настройка физических интерфейсов на sw2:
Включение физических интерфейсов на sw1:
Просмотр информации
Суммарная информация о состоянии Etherchannel:
Агрегирование каналов в Cisco
Для агрегирования каналов в Cisco может быть использован один из трёх вариантов:
- LACP (Link Aggregation Control Protocol) стандартный протокол
- PAgP (Port Aggregation Protocol) проприетарный протокол Cisco
- Статическое агрегирование без использования протоколов
Так как LACP и PAgP решают одни и те же задачи (с небольшими отличиями по возможностям), то лучше использовать стандартный протокол. Фактически остается выбор между LACP и статическим агрегированием.
- Преимущества:
- Не вносит дополнительную задержку при поднятии агрегированного канала или изменении его настроек
- Вариант, который рекомендует использовать Cisco
- Нет согласования настроек с удаленной стороной. Ошибки в настройке могут привести к образованию петель
Агрегирование с помощью LACP:
- Преимущества:
- Согласование настроек с удаленной стороной позволяет избежать ошибок и петель в сети.
- Поддержка standby-интерфейсов позволяет агрегировать до 16ти портов, 8 из которых будут активными, а остальные в режиме standby
- Вносит дополнительную задержку при поднятии агрегированного канала или изменении его настроек.
Балансировка нагрузки
Метод балансировки нагрузки повлияет на распределение трафика во всех EtherChannel, которые созданы на коммутаторе.
В зависимости от модели коммутатора, могут поддерживаться такие методы балансировки:
- по MAC-адресу отправителя или MAC-адресу получателя или учитывая оба адреса
- по IP-адресу отправителя или IP-адресу получателя или учитывая оба адреса
- по номеру порта отправителя или номеру порта получателя или учитывая оба порта
Пример вариантов на коммутаторе 3560:
При выборе метода балансировки, необходимо учитывать топологию сети, каким образом передается трафик.
Например, на схеме, все устройства находятся в одном VLAN. Шлюз по умолчанию маршрутизатор R1.
Если коммутатор sw2 использует метод балансировки по MAC-адресу отправителя, то балансировка выполняться не будет, так как у всех фреймов MAC-адрес отправителя будет адрес маршрутизатора R1:
Аналогично, если коммутатор sw1 использует метод балансировки по MAC-адресу получателя, то балансировка выполняться не будет, так как у всех фреймов, которые будут проходить через агрегированный канал, MAC-адрес получателя будет адрес маршрутизатора R1:
Определение текущего метода балансировки:
Тестирование балансировки нагрузки
Для того чтобы проверить через какой интерфейс, при настроенном методе балансировки, пойдет конкретный пакет или фрейм, можно использовать команду test etherchannel load-balance.
Балансировка нагрузки EtherChannel
Например, на схеме, все устройства находятся в одном VLAN. Шлюз по умолчанию маршрутизатор R1. Если коммутатор sw2 использует метод балансировки по MAC-адресу отправителя, то балансировка выполняться не будет, так как у всех фреймов MAC-адрес отправителя будет адрес маршрутизатора R1. Аналогично, если коммутатор sw1 использует метод балансировки по MAC-адресу получателя, то балансировка выполняться не будет, так как у всех фреймов, которые будут проходить через агрегированный канал, MAC-адрес получателя будет адрес маршрутизатора R1.
Терминология и настройка
При настройке агрегирования каналов на оборудовании Cisco используется несколько терминов:
- EtherChannel — технология агрегирования каналов. Термин, который использует Cisco для агрегирования каналов.
- port-channel — логический интерфейс, который объединяет физические интерфейсы.
- channel-group — команда, которая указывает какому логическому интерфейсу принадлежит физический интерфейс и какой режим используется для агрегирования.
Эти термины используются при настройке, в командах просмотра, независимо от того, какой вариант агрегирования используется (какой протокол, какого уровня EtherChannel).
На схеме, число после команды channel-group указывает какой номер будет у логического интерфейса Port-channel. Номера логических интерфейсов с двух сторон агрегированного канала не обязательно должны совпадать. Номера используются для того чтобы отличать разные группы портов в пределах одного коммутатора.
NIC Teaming в Vmware vsphere до 5.5 (5.1.x, 4.x)
Примеров данных конфигураций в интернете полно. Пожалуй, лучшая статья, которая в достаточной степени описывает технологию и настройку NIC Teaming на Vmware (для версий VMware ESX 3.0.x,VMware ESX(i) 3.5.x, VMware ESX(i) 4.0.x, VMware ESX(i) 4.1.x, VMware ESXi 5.0.x и VMware ESXi 5.1.x) размещена на сайте Михаила Михеева - LACP, 802.3ad, load based IP hash и все такое (см.ссылки). Копипастить одно и то же смысла не вижу, поэтому - читайте ). Если все же есть непреодолимое желание использовать LACP с vSphere младше 5.5, вам потребуется установить виртуальный коммутатор Cisco Nexus 1000V (или IBM 5000v).
Типовой пример настройки NIC Teaming по протоколу LACP
Давайте на практике посмотрим как это выглядит. Предположим, что у нас уже создан некий Distributed Switch 5.5.0. Со свичом ассоциированы необходимые хосты. Создана некая портгруппа виртуальных машин в конфигурациях по умолчанию. Например:
Далее, перед настройкой LACP давайте рассмотрим некоторые аспекты настройки:
- Из физических NIC какого-то одного хоста возможно подключение одного физического NIC только к одному порту LAG, при этом, один порт LAG может включать в себя множество физических интерфейсов с различных хостов ассоциированных с данным распределенным коммутатором.
- Физические NIC хоста, включенные в LAG должны быть подключены к интерфейсам физического свича, которые (интерфейсы свича) должны быть настроены на аналогичный агрегированный канал (port channel).
- При настройке LACP необходимо учитывать ограничения, актуальные для текущей версии:
LACP не совместим с software iSCSI multipathing.
Итак, последовательность настройки LACP на Vmware следующая:
Назначить LAG как Standby интерфейс в настройке Teaming and Failover Order в Distributed Port Group.
Это рекомендованная мануалом последовательность. На самом деле, можно обойтись без шага №2. Просто задав ассоциацию свободных физических NIC к созданному LAG. Но тем не менее, давайте рассмотрим каждый шаг:
В vSphere Web Client переходим на наш созданный distributed switch.
Ассоциировать физические интерфейсы с LAG
- . Убеждаемся, что все порты, которые планируется ассоциировать с LAG сконфигурированы и скоммутированы на физическом коммутаторе.
- . Убеждаемся, что все физические NIC имеют одинаковые настройки скорости и
В поле Failover order с помощью стрелок перемещаем наш созданный LAG в раздел Active, все остальные аплинки (если такие имеются) перемещаем в
Резюме
В текущей статье я постарался описать особенности работы с агрегированными каналами. Постарался описать статическую конфигурацию NIC Teaming и конфигурацию по протоколу LACP. Упор сделан не столько на практику, сколько на теорию и предоставление источников дальнейшего чтения для углубления изучения ) ИМХО, обзор получился несколько поверхностным, по возможности буду наполнять статью.
Агрегирование каналов — технология, которая позволяет объединить несколько физических каналов в один логический. Такое объединение позволяет увеличивать пропускную способность и надежность канала.
Агрегирование каналов может быть настроено между двумя коммутаторами, коммутатором и маршрутизатором, между коммутатором и хостом.
Для агрегирования каналов существуют другие названия:
- Port Trunking (в Cisco trunk’ом называется тегированный порт, поэтому с этим термином путаницы больше всего),
- EtherChannel (в Cisco так называется агрегирование каналов, это может относиться как к настройке статических агрегированных каналов, так и с использованием протоколов LACP или PAgP)
- И еще множество других: Ethernet trunk, NIC Teaming, Port Channel, Port Teaming, LAG (link aggregation), Link Bundling, Multi-Link Trunking (MLT), DMLT, SMLT, DSMLT, R-SMLT, NIC bonding, Network Fault Tolerance (NFT), Fast EtherChannel.
Режим работы EtherChannel
Теперь давайте рассмотрим нюансы работы протокола LACP на примере оборудования Cisco (имеющие отношение к Vmware vSphere). Итак, оборудование Cisco, поддерживающее EtherChannel может настроить этот самый EtherChannel в нескольких режимах. За это отвечает команда channel-group (подробней - в ссылках в документе IEEE 802.3ad Link Bundling). Из всех возможных режимах в Cisco, Vmware поддерживает только 3 (до версии 5.5 - только 1). Рассмотрим режимы EtherChannel :
channel-group номер_группы mode active
Данный режим включает Link Aggregation Control Protocol (LACP) на интерфейсе постоянно . То есть Cisco в любом случае является источником LACP PDU пакетов. Скажем так - является активным инициатором.channel-group номер_группы mode passive
LACP включается только когда обнаружено поступление LACP пакетов от другой стороны. Скажем так - является пассивным инициатором.channel-group номер_группы mode on
Данный режим включает EtherChannel без использования каких-либо протоколов согласования . Это так называемый статический EtherChannel или статический NIC Teaming или статическая агрегация. Назвать данный режим LACP - нельзя. Т.к. для его работы не используется функционал протокола LACP. Т.е. не происходит автоматического согласование канала на основе обмена LACP пакетами.channel-group номер_группы mode
Это другие возможные режимы работы, но они нам не интересны, т.к. используют для согласования проприетарный протокол PAgP и vSphere не поддерживаются.Работа протокола LACP будет возможна, при следующих конфигурациях сторон:
То есть, не работающая конфигурация, когда обе стороны настроены в LACP passive режиме. Статическая агрегация IEEE 802.3ad возможна только когда обе стороны настроены в статическом режиме.
Переводим LAG в активный режим
Возвращаемся к настройкам нашего распределённого коммутатора, переходим в настройки порт группы и переводим LAG в режим Active, а автономные аплинки - в раздел неиспользуемых.
Обратите внимание, что когда LAG выбран, как основной аплинк, режим балансировки порт группы наследуется от режима балансировки, указанного в LAG, о чём нас дополнительно информируют.
Ещё раз проверяем топологию сети.
Особое внимание хочу уделить тому факту, что данная настройка не увеличивает пропускную способность, а выполняет роль отказоустойчивости и балансировки нагрузки.
Приветствую всех. Сегодня я постараюсь внести ясность в такую неоднозначную и вызывающую много споров тему, как агрегирование каналов в Vmware. Многие (в том числе и производители оборудования) для описания агрегирования каналов применяют такие термины как LACP, 802.3ad, Ethernet trunk, NIC Teaming, Port Channel, Port Teaming, Link Bundling, NIC bonding, EtherChannel, link aggregation и некоторые другие. В целом, технология агрегирования каналов, это технология позволяющая объединить несколько физических каналов в один логический. Такое объединение позволяет увеличивать пропускную способность (он же Load Distribution или Load Balancing) и надежность канала (она же Failover). В данной статье, возможно, я сделал какие-то неверные выводы и буду благодарен за дополнения и комментарии. Для написания статьи я придерживался мануала Cisco IEEE 802.3ad Link Bundling, ибо только в нем нашел более менее систематизированные понятия.
Results
The new LAG is unused in the teaming and failover order of distributed port groups. No physical NICs are assigned to the LAG ports.
As with standalone uplinks, the LAG has a representation on every host that is associated with the distributed switch. For example, if you create LAG1 with two ports on the distributed switch, a LAG1 with two ports is created on every host that is associated with the distributed switch.
Добавляем LAG
Переходим в наш распределённый коммутатор и создаём новую группу агрегации. Указываем имя, количество портов агрегации, режим работы, а так же режим балансировки.
Обратите внимание, что если хост и коммутатор находятся в пассивном режиме, LAG не будет инициализирован, так как нет активной части, которая инициировала бы соединение.
Создаём PortChannel на Cisco
Тема конфигурации PortChannel затронута в одной из моих статей по настройке объединения портов (bonding) Cisco IOS и CentOS LACP
Рассмотрим пример нашего тестового стенда:
Проверьте какой алгоритм балансировки используется на физическом коммутаторе.
Проверяем состояние PortChannel.
Введение в агрегирование каналов (NIC Teaming)
Для начала, давайте разберемся в терминологии. В связи с большой путаницей в понятиях, я буду придерживаться следующего списка:
Агрегирование каналов - собственно, общее наименование любого из видов объединения физических каналов в логический.
EtherChannel - это просто название технологии Cisco, описывающей агрегацию каналов (не протокол ил стандарт).
Teaming (или NIC Teaming) - по аналогии с Cisco, это так же название технологии агрегации каналов в компании Vmware (и некоторых других, например Intel и HP).
Link Aggregation Control Protocol (LACP) - протокол агрегации каналов, имеющий возможности автоматически создавать агрегацию (посредством пересылки LACP PDU пакетов). Протокол LACP описан в стандарте IEEE 802.3ad (как утверждает Microsoft, он же имеет маркировку IEEE 802.1ax, хотя в Cisco я не нашел упоминания 802.1ax).
IEEE 802.3ad - стандарт, описывающий протоколы и принципы агрегирования каналов. Так же, включает описание балансировки трафика агрегированных каналов.
LAG (Link Aggrigation Group) - в терминологии Vmware это и есть логический канал, объединяющий в себе uplink порты.Далее, давайте рассмотрим что же такое агрегирование каналов без привязки к производителю. Из терминов выше - ясно, что это технология объединения физических интерфейсов в логический. Какую-то часть функционала данной технологии выполняет протокол STP, позволяющий использовать несколько физических интерфейсов для отказоустойчивости. Но данный протокол не позволяет осуществлять балансировку трафика и по сути в какой-то один момент времени использует только один физический линк для передачи данных. Хотя агрегирование позволяет увеличить пропускную способность канала, но не стоит рассчитывать на идеальную балансировку нагрузки между всеми интерфейсами в агрегированном канале. Технологии по балансировке нагрузки в агрегированных каналах, как правило, ориентированы на балансировку по таким критериям: MAC-адресам, IP-адресам, портам отправителя или получателя (по одному критерию или их комбинации). Агрегирование каналов у многих производителей сетевого оборудования возможно только в режиме "точка-точка". То есть возможно агрегировать каналы начинающиеся на одном устройстве и заканчивающиеся на другом устройстве. Т.к. цель данной статьи - рассмотреть NIC Teaming на Vmware, то для упрощения будем придерживаться ситуации, когда наш хост использует один физический коммутатор для агрегирования каналов.
Какие же требования необходимо выполнить, чтобы агрегирование каналов заработало корректно?
- Максимальное количество поддерживаемых интерфейсов в агрегированном канале определяется производителем оборудования. (наиболее частая цифра 4 или 8 интерфейсов, в Vmware на текущий момент - 32)
- Все физические интерфейсы в агрегированном канале должны иметь одинаковые настройки скорости и режима full-duplex. (при этом, LACP не поддерживает half-duplex mode).
- Все физические интерфейсы в агрегированном канале должны иметь одинаковые настройки протокола агрегирования (LACP, статический и др.).
- VMware поддерживает только один канал EtherChannel на vSwitch или vNetwork Distributed Switch (vDS)
Настройка EtherChannel 2го уровня
Настройка статического EtherChannel 2го уровня
Перед настройкой агрегирования лучше выключить физические интерфейсы. Достаточно отключить их с одной стороны (в примере на sw1), затем настроить агрегирование с двух сторон и включить интерфейсы.
Настройка EtherChannel на sw1:
Настройка EtherChannel на sw2:
Включение физических интерфейсов на sw1:
Просмотр информации
Суммарная информация о состоянии Etherchannel:
Информация о port-channel на sw1:
Настройка EtherChannel 2го уровня с помощью LACP
Перед настройкой агрегирования лучше выключить физические интерфейсы. Достаточно отключить их с одной стороны (в примере на sw1), затем настроить агрегирование с двух сторон и включить интерфейсы.
Настройка EtherChannel на sw1:
Настройка EtherChannel на sw2:
Включение физических интерфейсов на sw1:
Просмотр информации
Суммарная информация о состоянии Etherchannel:
Информация о port-channel на sw1:
Информация о port-channel на sw2:
Информация LACP о локальном коммутаторе:
Информация LACP об удаленном коммутаторе:
Счетчики LACP:
LACP system ID:
Standby-интерфейсы
LACP позволяет агрегировать до 16ти портов, 8 из которых будут активными, а остальные в режиме standby.
Перед настройкой агрегирования лучше выключить физические интерфейсы. Достаточно отключить их с одной стороны (в примере на sw1), затем настроить агрегирование с двух сторон и включить интерфейсы.
Настройка EtherChannel на sw1:
Настройка EtherChannel на sw2:
Включение физических интерфейсов на sw1:
Суммарная информация о состоянии Etherchannel (интерфейсы fa0/19 , fa0/20 в режиме standby):
Информация о port-channel на sw1 (интерфейсы fa0/19 , fa0/20 в режиме standby):
Информация LACP о локальном коммутаторе (интерфейсы fa0/19 , fa0/20 в режиме standby)
Информация LACP об удаленном коммутаторе:
Интерфейсы в режиме standby не передают трафик, поэтому по CDP сосед не виден через эти порты:
Настройка EtherChannel 2го уровня с помощью PAgP
Перед настройкой агрегирования лучше выключить физические интерфейсы. Достаточно отключить их с одной стороны (в примере на sw1), затем настроить агрегирование с двух сторон и включить интерфейсы.
Настройка EtherChannel на sw1:
Настройка EtherChannel на sw2:
Включение физических интерфейсов на sw1:
Просмотр информации
Суммарная информация о состоянии Etherchannel:
Информация о port-channel на sw1:
Информация PAgP о локальном коммутаторе:
Информация PAgP об удаленном коммутаторе:
Счетчики PAgP:
Назначаем LAG для PortGroup
Назначаем созданную группу агрегации необходимой порт группе и переводим LAG в режим ожидания (Standby).
При подтверждение изменений появится предупреждающее окно, о том, что использование комбинации активных аплинков и LAG в режиме ожидания поддерживается только для переноса физических адаптеров между LAG и автономными аплинками. Нажимаем ОК.
Проверяем, что LAG добавился.
Агрегация каналов ( NIC Teaming ) в VMware
Начнем с истории, а точнее, с версий vmware - до 5.5. Официально, до версии 5.5 в vSphere отсутствовала поддержка агрегирования каналов по протоколу LACP. Можете сравнить документы what's new для версии 5.1 и 5.5. Хотя, в документации vSphere Networking Guide ESXi 5.1 уже есть упоминание о включении LACP на uplink интерфейсе. Будем считать, что полноценна поддержка появилась в 5.5.
Настройка агрегирования каналов на маршрутизаторе
Особенности настройки агрегирования на маршрутизаторе:
- Поддерживается только статическое агрегирование, без использования протоколов
- Можно создать только 2 агрегированных интерфейса
- Максимальное количество интерфейсов в EtherChannel – 4
- Метод балансировки использует IP-адреса отправителя и получателя, включен по умолчанию и не может быть изменен
- Агрегировать можно только те интерфейсы, которые находятся на модулях одинакового типа
Создание агрегированного интерфейса на маршрутизаторе:
Добавление физических интерфейсов в EtherChannel:
Пример настройки агрегирования каналов между коммутатором и маршрутизатором
Информация о etherchannel на sw1:
Читайте также: