На днях мне подкинули задачу с организацией сетки с несколькими vlan’ми на одиночном хосте ESX 3.5 u4.
Первоначально вроде бы все было хорошо, а ну потом меня задача немного загнала в ступор. Пришлось вспоминать, как работаю сети и vlan. Как раз получилась, так что мне была разминка, чтобы не забывать старое.
Решил написать свое решение, для меня всегда было удобно читать теорию и сразу видеть практическое применение или решение задачи. Думаю, поможет многим кто столкнется с подобным вопросом.
И от себя немного теории, и конечно потом само тех.задание и решение вопроса.
VMware ESX Server 3.5 входящий в Virtual Infrastructure 3 и конечно VMware ESX Server 4 входящий в VMware vSphere 4 (тут еще больше возможностей по виртуальным сетям) позволяют быстро и удобно создавать виртуальные сети различной сложности.
Виртуальная сетевая инфраструктура состоит из виртуальных свитчей (vSwitch), самих виртуальных сетей vlan, виртуальных сетевых картах на виртуальных машинах и физических сетевых картах vmnic на хостах.
Виртуальные свитчи vSwitch создаются на хостах, к ним привязываются виртуальные машины со своими виртуальными сетевыми картами, также vSwitch можно привязывать к одной или нескольким физическим сетевым картам для связи с внешней сетью. vSwitch это подобие физического свитча и он работает на тех же правилах и принципах, коммутируя каналы между своими портами. Порты могут группироваться по группам и привязываться к нужным vlan.
Vlan он и в Африке vlan. По данному вопросу можно почитать тут или просто погуглить, по данной теме информации много.
Vlan в виртуальной инфраструктуре VMware по основным принципам работы практически ничем не отличается от классического vlan в обычной физической сетевой инфраструктуре.
Еще о теории работы виртуальных сетей в VMware рекомендую почитать тут и на английском языке очень подробно тут.
Все хватит теории. Я люблю практику и конкретные задачи и их решение.
И так само тех. задание. Есть хост на ESX 3.5 U4 с 8-ю виртуальными серверами(скажем Server1-Server8). На сервере два физических сетевых адаптера. Оба подсоединены к свитчу HP ProCurve J4903A Switch 2824. На нем 3 vlan’а.
- Локальная сеть 1 (vlan ID 1).
- Локальная сеть 2 (vlan ID 2).
- Интернет (vlan ID 3).
Необходимо через один физический сетевой адаптер связать и разнести виртуальные сервера по своим vlan’нам. Server 1 – Server4 привязать к первому vlan. Server5, Server6 ко второму vlan и Server7-Server8 к третьему vlan.
Вот тут я и застопорился минут на 30. Самое первое и простое решение, которое мне пришло в голову это конечно сделать 3 виртуальных свитча и каждый привязать к физической сетевой карте (их еще надо было купить и подключить к хосту ну и конечно чтобы их опознал ESX) и ее в свою очередь подключить к нужным портам физического свитча, к которые привязаны к своим vlan’ам. Слишком просто с одной стороны, но немножко не то (не хотелось возиться с сетевыми картами, проводами, драйверами и т.п. ), да и задача была все связать через одну физическую сетевую карту.
Все делается проще. За что я и люблю продукты VMware. Ни каких лишних сетевых карт, проводов и т.п.
Первое что нужно сделать, это залезть в физический коммутатор и настроить порт, который будет подключен к физической карте ESX сервера(vmnic0). В моем примере коммутатор HP ProCurve J4903A Switch 2824. На нем включаем для нужного нам порта режим tagged (в других устройствах может быть по другому, например в Cisco если мне не изменяет память это trunk) и добавляем этот порт ко всем 3-м vlan’ам на свитче. В данном режиме этот порт будет помечать пакеты (тегировать) идущие из vlan’ов с обычных портов для последующей передачи на наш виртуальный свитч.
Затем в ESX на виртуальном свитче (vSwitch0) создаем три группы портов VMNetwork1, VMNetwork2, VMNetwork3. Каждая группа портов привязана к своим vlan: vlan id 1, vlan id 2, vlan id 3 соответствующих нашим vlan на физическом коммутаторе. Дальше виртуальный свитч vSwitch0 подключаем к физической карте vmnic0, которая подключена к физическому порту коммутатора работающему в режиме tagged.
Все настройка закончена. Теперь наши виртуальные сети разделены и связаны только с нужными сетями. Т.е VMNetwork1 с Локальная сеть 1 (vlan ID 1), VMNetwork2 с Локальная сеть 2 (vlan ID) и VMNetwork3 с Интернет (vlan ID 3).
Вот так просто и легко, и самое главное ничего лишнего, ни проводов лишних, ни сетевых карт дополнительных, ни возни с установкой и дровами от сетевых карт. А самое главное время, затраченное на конфигурацию, не считая моего 30 минутного ступора и обдумывание проблемы, на конфигурирование я затратил добрых 15 минут. Вот Вам и выгода от виртуализации.
а если физический адаптер не один?
@fribourg
Да хоть 10 адаптеров) Без разницы. В чем вопрос?
да вопрос то именно в более тонкой настройке связки vSwitch с внешним физическим свитчем…
Тонкой настройки в чем? Работа через несколько физ. адаптеров? Баланс нагрузки?
Честно я не очень понимаю, когда говорят абстрактно. Лучше говорить, отталкиваясь на какой либо пример или решать задачу. Можно конкретизировать вопрос и тогда уже получится конструктивная дискуссия. 😉
ясно. извиняюсь за абстрактность
имеем например 4 физических адаптера, ну для примера
создаём 3 виртуальных свича: консоль, машинки, хранилище
для машинок выделяем 2 физ.адаптера
вот и интересуют варианты из использования «по максимуму» (опять наверное абстрактно)
балансировку нагрузки можно vSwitch’ом настроить? а физический маршрутизатор это нормально поймёт?
Балансировку нагрузки можно настроить. Об этом можно почитать на сайте у коллеги.
Физ. роутер поймет.
По задаче как бы я ее решил.
На хосте 4 физ.адаптера. Я бы создал 2 vSwitch – vSwitch0 и vSwitch1. Первый отдал под ВМ, второй под трафик VMkernel (iSCSI,VMotion).
На vSwitch0 повесил бы ВМ консоль и две физ.сетевых. В идеале для отказоустойчивости каждую сетевую воткнул бы в разные физ. свитчи. Если нужно разделил бы на vlan. Примерно так же как описал выше в статье. Сетевые сделал бы обе активными. Настроил балансировку и failover.
На vSwitch1 также закинул консоль, порт VMkernel и подключил 2 физ. сетевые. Их тоже бы разнес по разным физ. свитчам. Также бы настроил failover и балансировку.
В идеале бы если использовать VMotion и iSCSI я бы их тоже разнес по разным vSwitch и на каждый бы отвел по 2 физ. карты.
спасибо огромное
Всегда, пожалуйста. Если будут вопросы пишите тут в коментах или же мне на email. Постараюсь ответить и помочь с решением.
[…] если кто незнает как настроить на работу с VLAN ESX/ESXi, то вот эта статья Вам в помощь. Categories: Статьи Tags: ESX, ESXi, vNetwork Комментарии (0) […]
[…] http://cloudgeek.me/2009/06/vnetwork-esx/ « Несколько VLAN’ов в виртуальной машине Windows в Vmware ESXi […]
Здравствуйте!!!
У меня такая проблема: все сделал по инструкции… но на на одной виртуальной машине стоит 2 сетевые карты. На внутреннем свиче, cisco3020, на порту делаю транк и ничего не работает (((
Подскажите, где что может быть!!
Александр,
думаю вам стоит копать в сторону транка,т.к вмваре прекрасно работает с тегированным трафиком.
В прошлом году как-то стояла задача перенести TMG(физический) на виртуальную машину с двумя сетевыми интерфейсами соответственно, один в user vlan и еще wan.
Виртуалки работали на корзине HPBlade c7000. Не знаю как работают свитчи циско, я просто попросил подвести транк к физическому сетевому интерфейсу к корзине где стояла виртуалка, и все остальное разрулил как описано выше.
Имеется сервер с esxi на ней (4 виртуалки), сервер с одной сетевой платой , в ней 4 порта ! как сделать так чтоб на всех VM было по выделенному сетевому порту ! Мне ye’yj чтоб виртуальная машина была как физический сервер ! как это сделать ?
Все просто, сетевые карты виртуалок привязываете к vSwitch и все работает. Вот в оф. доках можно прочитать как сделать http://pubs.vmware.com/vsphere-50/index.jsp?topic=/com.vmware.vsphere.networking.doc_50/GUID-35B40B0B-0C13-43B2-BC85-18C9C91BE2D4.html
Здравствуйте! У меня вопрос такой: а можно на один VM несколко виртуальных карточек? у меня тока одна карточка на VM! если можно то как??
Спасибо
Можно. Заходим в свойство ВМ, и там выбираем Add, появившемся списке выбираем виртуальную сетевую.
Можно поподробнее и с нуля
как залезть и сконфигурить HP ProCurve J4903A Switch 2824?
никогда такими вещами не занимался.
Дело было давно, под рукой нет прокурвов, и на память не помню уже точно. В мануле есть точно как настроить свитч.
Здравствуйте, Михаил.
Не подскажете, а в вашем примере физическая карта хоста при этом должна поддерживать тегирование или нет?
Как то не задумывался над этим вопросом особо.
Сетевая карта тут выступает просто как канал, а фильтрацией тегов занимается как раз ESXi. Поэтому подойдет любая сетевая совместимая с ESXi.