kuuk
Contributor
Contributor

Агрегирование каналов на стороне гостевой ос

Добрый день господа! Созрел вопросик по поводу агрегирования каналов, известно, что агрегацию мы можем сделать на стороне vSwitch - fisical NIC, таким образом можно сделать канал потолще и получить отказоустойчивость. Но вот что делать с самими виртуальными машинами, ведь они соеденины с vSwithch гигабитной сетевой? Вопрос - как увелисть канал для виртуальной машины.

0 Kudos
24 Replies
RumataRus
Commander
Commander

Насколько мне известно, если Вы используете E1000, то для них в самой виртуальной машине можно установить "родные " драйверы Intel, в которых реализован Teaming.

0 Kudos
kuuk
Contributor
Contributor

Но в таком случае как отработает агрегирование, ведь при настройке в гостевой я буду "сводить" виртуальные сетевые и выбирать для них режим, как я понимаю либо static, либо LACP, но ведь vSwitch поодерживает эти тихнологии только с "одной стороны"

0 Kudos
RumataRus
Commander
Commander

Если драйвер Intel у вас внутри виртуальной машины установится, не вижу проблемы.

Примерно год назад было такое обсуждение: Балансировка сетевой нагрузки в ESXi

0 Kudos
kuuk
Contributor
Contributor

С этим понятно, а если например на стороне гостевой не винда, а Nexentastor, которая явно умеет LACP, но ведь соединение её будет не напрямую в физ. коммутатром с включенным LACP, а с виртуальным который со стороны подключения с вирт машинам и знать нечего не знает про агрегирование и прочее... Вот тут мне не понятно просто.

0 Kudos
michigun
VMware Employee
VMware Employee

Не надо забывать что vmxnet 3 дает гигабит 5 в одно лицо, а vmxnet 2 и e1000 что то вроде пары гигабит должны давать.   А вот если этого вдруг мало - хороший вопрос что делать.

-- http://www.vm4.ru/p/vsphere-book.html
0 Kudos
Umlyaut
Expert
Expert

michigun wrote:

Не надо забывать что vmxnet 3 дает гигабит 5 в одно лицо, а vmxnet 2 и e1000 что то вроде пары гигабит должны давать.   А вот если этого вдруг мало - хороший вопрос что делать.

Ну, не знаю как насчёт пяти, а три я получал (и рассказывал тут как-то). А откуда на vmxnet2 и e1000 пара гигабит возьмётся, если они "по паспорту" даже только гигабитные???

И, кстати, откуда ТС взял, что vSwitch не даст аггрегировать vNIC`и? Полагаю, он должен быть устроен симметрично с обеих сторон (унификация заруливает, не?). Вот LACP точно не должно быть, а статику-то ему чего б не держать?

0 Kudos
kuuk
Contributor
Contributor

Вот я не нашел подтверждения, что агрегация у вСвича работает с двух сторон...

0 Kudos
RumataRus
Commander
Commander

Я читал (не помню источник) о том, что vSwitch не поддерживает динамическую агрегацию.

Как я понимаю, статическая должна поддерживаться.

К вопросу о "сторонах". Чтобы внести ясность, наверное нужно сначала понимать, что Вы под ними подразумеваете.

Я так это себе представляю, что одна сторона - это виртуальная машина, подключенная к виртуальным портам (группе портов) виртуального коммутатора. Вторая сторона - это физические NIC (которые в свою очередь подключены к физическим коммутаторам), также подключенные к виртуальным портам (группе портов) виртуального коммутатора.

Таким образом я вообще не вижу "сторон". Smiley Happy Все "стороны" дружно подключены к одному и тому же виртуальному коммутатору, обладающему одними и теми же фундаментальными свойствами.

0 Kudos
kuuk
Contributor
Contributor

"стороны" назвал условно-визуально Smiley Happy. То что не поддерживает LACP вкурсе, но и то, что подерживает static на подключениях виртуальных машин, тоже негде не сказано. Почитал блог Антона http://blog.vadmin.ru/2010/10/standard-vswitch-1.html. Вот если делать вот так "Virtual Guest Tagging (VGT) – сетевые пакеты  пересылаются ВМ через vSwitch в нетронутом виде, вместе с VLAN тэгами  802.1Q. Для включения данного режима необходимо указать VLAN ID = 4095 в  свойствах портгруппы." а на физ коммутаторе включить агрегирование и эти порты загнать в нужный VLAN и произвести такие же манипуляции с виртуалкой...Что то другого не приходит на ум.

0 Kudos
RumataRus
Commander
Commander

Лично мне не вполне ясно, что Вы подразумеваете под фразой "агрегация у вСвича работает с двух сторон".

Поэтому я и пытаюсь выяснить для начала хотя бы состав "условно-визуальных" сторон. Smiley Wink

Впрочем, может быть и без выяснений Вас вполне устроит VMXNET3, раз вам пообещали на нем 3-5 Гбит/с. Smiley Happy

0 Kudos
Umlyaut
Expert
Expert

Ну вот взял я VM`ку - XP Prof SP2 - дал ей три vNIC`a e1000, накатил Интеловый драйвер, сделал Team (статику). Работает.

0 Kudos
kuuk
Contributor
Contributor

ммм, спасибо, буду проверять и тренироваться. Драйвер скажите где взять пожалуйста.

0 Kudos
Umlyaut
Expert
Expert

kuuk wrote:

ммм, спасибо, буду проверять и тренироваться. Драйвер скажите где взять пожалуйста.

Да пожалуйста! :smileygrin:

А драйвер лично я скачивал с сайта Интел - собственно, это не "какой-то там спецЫальный драйвер для Вари", а обычный для гигабитных адаптеров - тот же самый, который ставят на pNIC`и от Интела...

* * *

Кстати, я в темпе вальса прогнал небольшой тест утилиткой NetCPS. Получилось вот что:

- один поток: Avg.transfer ~14MB/s (мегаБАЙТ/с)

- два потока: Avg.transfer ~ по 9MB/s на поток (итого 18)

- три потока: Avg.transfer ~ по 6,5MB/s на поток (итого почти 20)

Спарринг-партнёром выступал v2003EE с VMXNET3, прицепленный к тому же vSwitch, что и тестовая VM`ка с Team.

Стек IP на ОС VM`ок НЕ оптимизировался (настройки MTU в реестре не менялись), JF не использовались. "Поток" - пара "приёмник-передатчик".

Вот как-то так...

0 Kudos
kuuk
Contributor
Contributor

что то цифери совсем не большие, учитывая то, что здесь звучало что VMXNET3 вообще чуть ли не до 5 Гбит/с умеет, а с другой стороны три адаптера агрегированных

0 Kudos
Umlyaut
Expert
Expert

А вот с этим, ИМХО, нужно разбираться отдельно (настраивать, тестить и пр.).

Вот, гляньте - тут ( http://communities.vmware.com/message/1621478#1621478 ) я уже разок пытался разобраться (там, правда, другая утилита была), однако не закончил...

0 Kudos
kuuk
Contributor
Contributor

Всем спасибо за помощь! Вариантов теперь два, будем разбераться.

0 Kudos
Umlyaut
Expert
Expert

UP!

"Houston, we have a problem!"


Должен извиниться перед ТС и всей честной компанией за невольную дезу.

Ага, интеловый драйвер, накаченный на vNIC`и e1000, даёт такую опцию, как Team. Однако обнаружилось вот что...

На VM`ке 2003ЕЕ SP2 32bit сделал Team из четырёх e1000, как положено - SLA. Партнёр - клон этой VM`ки, только с VMXNET3 в режиме 10Gbit/s.

Обе VM`ки соединены с отдельным vSwitch без физ.аплинков (впрочем, с ними было то же самое).

Однако результаты бенча меня, мягко говоря, не порадовали - скорость на NetCPS упорно не желала "масштабироваться" даже при запуске четырёх пар "клиент-сервер".

Полез в настройки Team, там есть кнопа "Test Switch". Жамкнул, подождал и...

The team type requires port aggregation on the switch, but the switch is not configured for port aggregation

Change the team type to AFT or ALB, or reconfigure the switch

Т.е. наша Team со стороны vSwitch (на котором включен тиминг по "IP hash") никакой поддержки LA не ощущает и не получает... Smiley Sad

Ещё одно подтверждение тому, что "прогнило что-то в Датском королевстве" получил, поменяв на "партнёре" VMXNET3 на такую же Team - перестали ходить пинги между VM`ками (себя каждая пингует)...

Начал опасаться за тиминг между pNIC`ами хоста и LA-портами pSwitch`a... видимо, придётся проверять отдельно...

PS: обнаружив данный косяк на ESXi 4.0U1, поспешил сделать тестовый хост на 4.1U1 - одна фигня... Smiley Sad

PPS: надо будет попробовать то же самое проделать с 2008R2 (хотя надежды мало)...

0 Kudos
kuuk
Contributor
Contributor

Между pNic и портами физ свича, работает и LACP и static, проверяли (коммутаторы D-Link DGS-3100-24). По проблеме понятно, но в принцпе, спосибо сообществу за подсказку, про VMXNET3. Почитав еще разок про LACP немного не понял, например берем 4 физических сетевых привязываем к vSwitch, настриваем агрегацию, на физ. коммутаторе тоже. Я как понял в один момент времени работает один линк из четырех или как? т.е. в один момент времени пропускная только гигабит а не 4? То что работает отказоустоичивость понятно, это мы проверили, а вот как на счет именно пропускной способности непонятно.

0 Kudos
Umlyaut
Expert
Expert

kuuk wrote:

Между pNic и портами физ свича, работает и LACP и static, проверяли (коммутаторы D-Link DGS-3100-24).

Хм-мммм... LACP между vSwitch и pSwitch работать, вообще-то не должен (это во всех TFM`ах явным по белому написано).

Может, у Вас та же ситуёвина, что и на Teaming`e виртуальных NIC`ов VM`ок - типа трафф ходит, значит работает, а на деле жужжит только один линк и усё??? Это нужно проверять, лучше бенчерами...

kuuk wrote:

Почитав еще разок про LACP немного не понял, например берем 4 физических сетевых привязываем к vSwitch, настриваем агрегацию, на физ. коммутаторе тоже. Я как понял в один момент времени работает один линк из четырех или как? т.е. в один момент времени пропускная только гигабит а не 4? То что работает отказоустоичивость понятно, это мы проверили, а вот как на счет именно пропускной способности непонятно.

"Или как". При штатном использовании аггрегации портов/линков трафф обязан бежать по ВСЕМ линиям, образующим транк. По идее можно залудить дофига потоков той же NetCPS (десяток-другой на перекачку N гигов) и просто промониторить счётчики траффа на портах линк-группы физ.коммутатора - там сразу будет видно, по всем ли портам бегут байтики,  или кто-то халявит...

Насчёт пропускной нужно смотреть. В теории много "толстых" сетевых сессий должны прокачиваться по всем портам, давая в сумме пропускную больше, чем даёт один порт. Собственно, отключая (или наоборот, подключая) патчи, можно будет видеть по бенчеру - насколько меняется пропусная способность. Короче, вперёд на стенд, коллега! :smileygrin:

0 Kudos