воскресенье, 9 декабря 2007 г.

Случайно получился крохотный ФАК про VLAN

Суть ВиЛАНов в следующем - вот есть 2 ВМ. Они могут взаимодействовать между собой по сети. А нам это не надо - например, из соображений безопасности. Мы можем зайдествовать VLAN - тогда коммутатор, кроме MAC\IP адресов будет проверять и отдельное поле, в котором прописан т.н. VLAN ID - цифирка от 0 до 4094. И пакеты с неправильным VLAN ID не будут попадать в те порты, куда не надо. В моем примере, мы можем создать на одном vSwitc 2 группы портов, назначить им разные VLAN и забыть о проблеме безопасности - эти 2 ВМ, т.к. они из разных VLAN, друг с другом никак не повзоимодействуют, при всем желании. Эти две машины из примера могут быть и физическими. Или физической может быть только одна из них - неважно.

Суть работы с VLAN в ESX - для группы портов можем указать "VLAN ID". Теперь все пакеты с другим VLAN ID или без VLAN ID не будут транслироваться в эти виртуальные порты.

Если у всех групп портов указан какой то VLAN ID, то нетегированный(без VLAN ID) траффик в принципе будет отбрасываться ESX'ом.
Если хоть одна група портов настроена не использовать VLAN , то нетегированный трафик отбрасываться не будет:

  • Если пакет с VLAN ID, совпадающим с VLAN ID одной из групп портов - он туда будет переправлен.
  • Если пакет с VLAN ID, не совпадающим с VLAN ID ни одной из групп портов - он будет отброшен.
  • Если пакет без VLAN ID - он будет отправлен только в те группы портов, для которых указанно не использовать VLAN.

ESX поддерживает VLAN. Но, организовать эти самые VLAN можно по разному:

  • Тегирование происходит на виртуальных коммутаторах - Virtual Switch Tagging (VST).
  • Тегирование происходит на физических коммутаторах - External Switch Tagging (EST).
  • Тегирование происходит в ВМ - надо доставить соответствующие драйвера - Virtual Guest Tagging (VGT)
VST - физические коммутаторы воспринимают виртуальные коммутаторы как себе подобных. Просто от них приходит тегированный трафик. И физический коммутатор должен нормально его воспринимать - т.е. физические сетевушки ESX должны быть воткнуты в "транковые" порты коммутатора. На стороне ESX должны существовать хотя бы по одной группе портов для каждого используемого VLAN.

EST - все тегирование делается на физических коммутаторах - т.е. их порты соответственно настроены. В этом случае, каждый VLAN должен иметь отдельную сетевушку(со стороны ESX), и, следовательно, отдельный vSwitch. Этот способ хорош своей естественностью - точно так мы поступаем безо всякой виртуализации. Только сетевушек в ESX может потребоваться много.

VGT - коммутаторы пропускают кадры с тегами сквозь себя, прямо до гостевых ОС. Чтобы вКомм(аналог vSwitch, я утомился писать целиком это словосочетание :)) работали в таком режиме, достаточно одной группы портов для всех ВМ из разных VLAN, а в качестве VLAN ID надо указать 4095.

Когда что лучше использовать:

Само собой, у этих подходов есть плюсы и минусы, и какой будет лучше - очень сильно зависит от существующей инфраструктуры. Например, если есть необходимость участия ВМ в нескольких VLAN, подход VGT позволит организовать требуемое проще всего. Я, кстати, не знаю - а есть ли такие драйвера под Windows? VST и EST могут использоваться одновременно - опять таки, танцуем от задачь и возможностей внешней инфраструктуры.



VMware рекомендует не использовать Native VLAN на физической стороне, если VLAN не используются. Еще есть мнение, что не стоит в качестве VLAN ID использовать "1", т.к. таково VLAN ID для Cisco Native VLAN.

По поводу группировки контроллеров - встретился с мнением, что "VMWare misleads people to believe that their nic teaming is LACP", и "However, ether channels work better per our testing.". Т.е. лучше делать как в ссылке "два" внизу - настроить ether channel на циске и на стороне ESX включить балансировку по IP hash.

Ссылки по теме - раз, два(тут описывается опыт настройки группировки, + VLAN, и интересные комменты), три, четыре.



Вопросы?

0 коммент.:

Отправить комментарий

Примечание. Отправлять комментарии могут только участники этого блога.