• На днях мне подкинули задачу с организацией сетки с несколькими 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. Локальная сеть 1 (vlan ID 1).
    2. Локальная сеть 2 (vlan ID 2).
    3. Интернет (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).

    Пример виртуального свитча с vlan'ми

     

    Вот так просто и легко, и самое главное ничего лишнего, ни проводов лишних, ни сетевых карт дополнительных, ни возни с установкой и дровами от сетевых карт. А самое главное время, затраченное на конфигурацию, не считая моего 30 минутного ступора и обдумывание проблемы, на конфигурирование я затратил добрых 15 минут. Вот Вам и выгода от виртуализации.

    Posted by Михаил Коротько @ 10:51

    Tags: , , ,

20 комментариев to Виртуальная сеть на VMware ESX Server. Решение одной задачки.

  • да вопрос то именно в более тонкой настройке связки vSwitch с внешним физическим свитчем…

  • Тонкой настройки в чем? Работа через несколько физ. адаптеров? Баланс нагрузки?
    Честно я не очень понимаю, когда говорят абстрактно. Лучше говорить, отталкиваясь на какой либо пример или решать задачу. Можно конкретизировать вопрос и тогда уже получится конструктивная дискуссия. 😉

  • ясно. извиняюсь за абстрактность
    имеем например 4 физических адаптера, ну для примера
    создаём 3 виртуальных свича: консоль, машинки, хранилище
    для машинок выделяем 2 физ.адаптера
    вот и интересуют варианты из использования «по максимуму» (опять наверное абстрактно)
    балансировку нагрузки можно vSwitch’ом настроить? а физический маршрутизатор это нормально поймёт?

    • Балансировку нагрузки можно настроить. Об этом можно почитать на сайте у коллеги.
      Физ. роутер поймет.

      По задаче как бы я ее решил.
      На хосте 4 физ.адаптера. Я бы создал 2 vSwitch – vSwitch0 и vSwitch1. Первый отдал под ВМ, второй под трафик VMkernel (iSCSI,VMotion).
      На vSwitch0 повесил бы ВМ консоль и две физ.сетевых. В идеале для отказоустойчивости каждую сетевую воткнул бы в разные физ. свитчи. Если нужно разделил бы на vlan. Примерно так же как описал выше в статье. Сетевые сделал бы обе активными. Настроил балансировку и failover.

      На vSwitch1 также закинул консоль, порт VMkernel и подключил 2 физ. сетевые. Их тоже бы разнес по разным физ. свитчам. Также бы настроил failover и балансировку.

      В идеале бы если использовать VMotion и iSCSI я бы их тоже разнес по разным vSwitch и на каждый бы отвел по 2 физ. карты.

  • Здравствуйте!!!
    У меня такая проблема: все сделал по инструкции… но на на одной виртуальной машине стоит 2 сетевые карты. На внутреннем свиче, cisco3020, на порту делаю транк и ничего не работает (((
    Подскажите, где что может быть!!

  • Александр,
    думаю вам стоит копать в сторону транка,т.к вмваре прекрасно работает с тегированным трафиком.
    В прошлом году как-то стояла задача перенести TMG(физический) на виртуальную машину с двумя сетевыми интерфейсами соответственно, один в user vlan и еще wan.
    Виртуалки работали на корзине HPBlade c7000. Не знаю как работают свитчи циско, я просто попросил подвести транк к физическому сетевому интерфейсу к корзине где стояла виртуалка, и все остальное разрулил как описано выше.

  • Имеется сервер с esxi на ней (4 виртуалки), сервер с одной сетевой платой , в ней 4 порта ! как сделать так чтоб на всех VM было по выделенному сетевому порту ! Мне ye’yj чтоб виртуальная машина была как физический сервер ! как это сделать ?

  • Здравствуйте! У меня вопрос такой: а можно на один VM несколко виртуальных карточек? у меня тока одна карточка на VM! если можно то как??
    Спасибо

  • Можно поподробнее и с нуля
    как залезть и сконфигурить HP ProCurve J4903A Switch 2824?
    никогда такими вещами не занимался.

  • Здравствуйте, Михаил.
    Не подскажете, а в вашем примере физическая карта хоста при этом должна поддерживать тегирование или нет?

  • Как то не задумывался над этим вопросом особо.
    Сетевая карта тут выступает просто как канал, а фильтрацией тегов занимается как раз ESXi. Поэтому подойдет любая сетевая совместимая с ESXi.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *