Виртуализация сети в Hyper-V. Настройка

В прошедший раз я обрисовал концепцию и общую архитектуру Hyper-V Network Virtualization (NV) – технологии Windows Server 2012, обеспечивающей виртуализацию на уровне сетевого сектора. Сейчас пойдет речь о настройке этой технологии при помощи PowerShell и System Center 2012 SP1 Virtual Machine Manager (VMM).

Настройка Hyper-V Network Virtualization при помощи PowerShell

На хосте с развернутой ролью Hyper-V доступно несколько командлетов PowerShell, при помощи которых производится настройка требуемой конфигурации NV. Главных командлета четыре:

New-NetVirtualizationLookupRecord – делает элемент в таблице политики виртуализации;
New-NetVirtualizationProviderAddress – присваивает сетевому интерфейсу адресок провайдера (Provider Address, PA);
New-NetVirtualizationProviderRoute – задает маршрут для маршрутизации трафика в физической сети;
New-NetVirtualizationCustomerRoute – задает маршрут для маршрутизации трафика в виртуальных сетях.

Как обычно для PowerShell, есть подобные команды с префиксами Get-, Set-, Remove- для получения текущих характеристик, конфигурации и удаления соответственно.

Еще пара командлетов, Get-NetVirtualizationGlobal и Set-NetVirtualizationGlobal позволяют найти (и, соответственно, задать), употребляется ли наружный Gateway для маршрутизации трафика.

Самый обычный метод познакомиться с перечисленными командлетами – изучить и испытать применить в испытательной среде два скрипта-примера, разработанных моими сотрудниками. Каждый скрипт содержит детальные комменты, описание моделируемой среды и указание на те переменные и константы, которые вам нужно поменять на собственные значения. Отыскать и скачать скрипты можно тут:

Simple Hyper-V Network Virtualization Demo
Simple Hyper-V Network Virtualization Script with Gateway

Инспектировал лично, работает. :) Но, думаю разумеется, что в масштабах ЦОД-а манипуляция схожими скриптами преобразуется в очень сложную задачку. Потому дальше еще более детально я рассмотрю настройку NV при помощи VMM.

Настройка Hyper-V Network Virtualization при помощи System Center 2012 SP1 Virtual Machine Manager

Разработка NV является частью Hyper-V в Windows Server 2012. System Center поддерживает Windows Server 2012, начиная с версии System Center 2012 SP1. Тут и дальше идет речь о VMM конкретно из System Center 2012 SP1. Я предполагаю, что VMM уже развернут, хосты Hyper-V в него добавлены, потому буду уделять свое внимание лишь на те опции, которые конкретно связаны с NV.

Настройка NV при помощи VMM состоит из последующих шагов:

Включение фильтра Windows Network Virtualization (WNV) на хостах с поднятой ролью Hyper-V.
Включение NV для подходящих логических сетей.
Создание сетей виртуальных машин (VM Network) и пулов Айпишников.
Создание шаблонов виртуальных машин (VM Template) с привязкой к необходимым сетям виртуальных машин.
Развертывание ВМ с внедрением приготовленных в п. 4 шаблонов.

Разглядим поочередно каждый шаг.

Включение фильтра Windows Network Virtualization (WNV)

Вручную
Напомню, что правила, определяющие работу NV, задаются в так именуемой политике виртуализации. Определенные опции, данные в политике виртуализации, конкретно к сетевым пакетам используются драйвером-фильтром уровня NDIS (Network Driver Interface Specification), именуемым Windows Network Virtualization (WNV). Этот фильтр нужно включить на тех хостах Hyper-V, на которых планируется использовать NV. Вручную это делается в свойствах физического сетевого адаптера хоста. Подчеркиваю, конкретно физического адаптера, а не виртуального, который, обычно, создается при настройке наружного свитча Hyper-V.

Виртуализация сети в Hyper-V. Настройка

При помощи Logical Switch
В качестве кандидатуры ручной настройке можно использовать показавшийся в VMM 2012 SP1 механизм логических свитчей (Logical Switch). Более подробное описание опций сети в VMM можно отыскать вот в этом посте Жору Гаджиева. Тут же коротко упомяну, что логический свитч нужен для того, чтоб применить данный набор опций к сетевым адаптерам и свитчам Hyper-V Extensible Switch на огромном количестве хостов. Отыскать описанные ниже опции можно в разделе «Fabric», подразделе «Networking» консоли VMM. Практически в логическом свитче можно задать три группы опций: опции для физических сетевых адаптеров хостов, опции для виртуальных сетевых адаптеров ВМ (а поточнее, для портов Hyper-V Extensible Switch, к которым ВМ подключаются) и опции для расширений (extensions) Hyper-V Extensible Switch.

1-ая группа опций, а конкретно она нас больше всего интересует, задается методом сотворения специального профиля, который именуется Uplink Port Profile. В профиле нужно установить чекбокс, показанный на рисунке, с помощью которого и будет в предстоящем включен фильтр WNV.

Виртуализация сети в Hyper-V. Настройка
Прирастить

2-ая группа опций задается методом сотворения профиля, который именуется Virtual Adapter Port Profile. В этом профиле нет опций, впрямую связанных с NV, но конкретно там можно задать разные характеристики безопасности свитча (к примеру, DHCP Guard), производительности (к примеру, IP Sec offload), ограничения трафика (Quality of Service).

Ну а дальше при разработке логического свитча можно указать нужные расширения для Hyper-V Extensible Switch, избрать Virtual Adapter Port Profile и, самое главное, добавить Uplink Port Profile, в каком мы отметили чекбокс «Enable Windows Network Virtualization».

Виртуализация сети в Hyper-V. Настройка
Прирастить

Тем, мы сделали некий набор опций в виде логического свитча. Остается применить сделанный логический свитч к требуемым хостам Hyper-V, как следствие, применятся к хостам и все опции этого логического свитча. Для этого в консоли VMM в свойствах хоста перебегаем на закладку Virtual Switches, жмем «New Virtual Switch», потом «New Logical Switch» и избираем подходящий логический свитч. Проверяем, что для требуемого физического сетевого адаптера применяется тот Uplink Port Profile.

Виртуализация сети в Hyper-V. Настройка
Прирастить

Включение NV для логических сетей

Последующий шаг – включение NV для требуемых логических сетей (Logical Networks). Логические сети в VMM позволяют админу обрисовать физическую сетевую топологию ЦОД-а. Это описание в предстоящем помогает значительно упростить подключение ВМ к требуемым сетевым секторам. Схожим образом админ Active Directory (AD) при помощи веб-сайтов и субсетей обрисовывает физическую сеть предприятия для оптимизации трафика репликации AD. Применительно же к NV логические сети VMM не просто обрисовывают реальную сетевую топологию, да и определяют место PA-адресов, которые будут употребляться для передачи пакетов меж ВМ на различных хостах.

Итак, представим для себя, что в физической сети употребляется IP-адресация из спектра 192.168.1.0/24. Нам же нужно поверх этой сети виртуализовать сети 2-ух компаний ОАО «Синие» и ОАО «Красные». При этом обе компании употребляют однообразный спектр Айпишников, а конкретно: 10.0.0.0/24.

Создаем логическую сеть (кнопка меню «Create Logical Network») и на первом же экране разрешаем для этой сети NV:

Виртуализация сети в Hyper-V. Настройка
Прирастить

На последующем экране создаем веб-сайт и указываем, какие группы хостов могут этот веб-сайт использовать (практически в нем размещаются) и какие IP-подсети этому веб-сайту принадлежат.

Виртуализация сети в Hyper-V. Настройка
Прирастить

Сейчас для этой логической сети нужно сделать пул Айпишников. В контексте NV конкретно из этого пула VMM будет выделять PA-адрес и сравнивать с ВМ и настроенными снутри их CA-адресами. В консоли VMM жмем «Create IP Pool», задаем имя пула и на последующем экране указываем для какого веб-сайта и какой IP-подсети создаем пул.

Виртуализация сети в Hyper-V. Настройка
Прирастить

Потом нужно задать спектр Айпишников и, если требуется, какие-то адреса зарезервировать. К примеру так:

Виртуализация сети в Hyper-V. Настройка
Прирастить

На следующих экранах можно указать адресок шлюза по дефлоту, также адреса серверов DNS и WINS. Сейчас, когда логическая сеть сотворена и настроена, остается указать, какие непосредственно хосты Hyper-V будут с ней ассоциированы, либо другими словами, на каких хостах могут быть запущены ВМ, требующие доступ к этой сети. В свойствах хостов на закладке «Hardware» нужно избрать сетевой адаптер хоста и пометить подобающую логическую сеть.

Виртуализация сети в Hyper-V. Настройка
Прирастить

Создание сетей виртуальных машин (VM Network) и пулов Айпишников

На прошлых шагах мы включили фильтр WNV и настроили логическую сеть с пулом Айпишников, который будет употребляться для выделения PA-адресов. Таким макаром, мы подготовили физическую инфраструктуру либо, в терминологии VMM, подготовили Fabric. Сейчас поверх этой инфраструктуры можно создавать и виртуализовывать произвольные сети клиентов нашего ЦОД-а. В рассматриваемом сценарии этими клиентами, как вы помните, являются компаний ОАО «Синие» и ОАО «Красные», использующие схожую сабсеть 10.0.0.0/24.

С выходом SP1 для System Center 2012 в VMM появился новый тип объектов – сеть виртуальных машин (VM Network), дальше просто «сеть ВМ». Сначала, этот тип объектов предназначен для NV, хотя, как вы увидите в предстоящем, даже если NV не употребляется, как минимум одну сеть ВМ сделать нужно. Ну а в нашем случае, разумеется, необходимо сделать две сети ВМ для «Синих» и «Красных» соответственно. Процесс этот очень похож на создание логической сети – мы создаем сеть ВМ, определяем в ней один либо несколько веб-сайтов с указанием субсетей, потом создаем для субсетей пулы Айпишников. Но эти пулы уже будут употребляться для выделения CA-адресов виртуальным машинам.

Итак, в консоли VMM перебегаем в раздел «VMs and Services» и жмем кнопку «Create VM Network». В первом окне задаем имя создаваемой сети и избираем из перечня логическую сеть, поверх которой будет работать данная сеть ВМ.

Виртуализация сети в Hyper-V. Настройка
Прирастить

Последующий шаг очень принципиальный. Коль скоро мы настраиваем NV, избираем верхний пункт. Он будет доступен для выбора исключительно в том случае, если для логической сети, обозначенной на прошлом шаге, была включена поддержка NV, что мы уже сделали.

Виртуализация сети в Hyper-V. Настройка
Прирастить

Но тут же желал бы направить ваше внимание на вторую опцию «No Isolation». Если выберем ее, то укажем тем VMM, что виртуальные машины этой сети должны впрямую (без изоляции) подключаться к логической сети. Никаких дополнительных опций в данном случае уже не будет нужно. Создаваемые потом ВМ буду получать Айпишника из пулов, настроенных конкретно в логической сети. Другими словами опцию «No Isolation» вы выбираете в этом случае, когда разработка NV вам не нужна. И потому закономерно, что для каждой логической сети можно сделать только одну сеть ВМ без изоляции.

Мы же двигаемся далее и в последующем окне создаем сабсеть (одну либо несколько), которая требуется клиенту.

Виртуализация сети в Hyper-V. Настройка
Прирастить

На оканчивающем экране мастера избираем метод взаимодействия ВМ создаваемой сети с наружным миром. Так как мы не настраивали специально наружный шлюз (об этом пойдет речь в последующем посте), то выбор тут один – «No Connectivity», значащий, что ВМ сумеют вести взаимодействие исключительно в границах этой сети ВМ.

Виртуализация сети в Hyper-V. Настройка
Прирастить

Последняя задачка данного шага – настроить для сделанной сети ВМ пулы адресов, другими словами CA-адреса. В консоли VMM избираем сеть ВМ и жмем «Create IP Pool». На первом экране проверяем, что указаны нужные сеть ВМ и сабсеть:

Виртуализация сети в Hyper-V. Настройка
Прирастить

На втором задаем спектр Айпишников для ВМ:

Виртуализация сети в Hyper-V. Настройка
Прирастить

Указываем шлюз по дефлоту:

Виртуализация сети в Hyper-V. Настройка
Прирастить

По мере надобности задаем дальше адреса серверов DNS и WINS. Сеть «Красных» настроена. Повторяем функцию для ОАО «Синие» и в итоге получаем вот такую картину:

Виртуализация сети в Hyper-V. Настройка
Прирастить

Настройка фактически виртуализации сети на этом завершена. Если вспомнить концепцию и архитектуру NV, описанные мною в прошлом посте, то становится ясно, что VM Network соответствует термину Customer Network, а VM Subnet – термину Virtual Subnet. Вправду, если при помощи командлетов Get-SCVMNetwork и Get-SCVMSubnet получить информацию о сделанных только-только нами объектах, то в отклике первого командлета посреди остального вы увидите Routing Domain ID (RDID), а второго – Virtual Subnet ID (VSID).

Остается сделать шаблоны ВМ для каждой сети, и на их базе можно будет развертывать требуемое количество «Синих» и «Красных» ВМ.

Создание шаблонов виртуальных машин (VM Template)

Процедура сотворения шаблонов для ВМ, которые будут использовать NV, совсем стандартная и на самом деле ничем не отличается от сотворения шаблонов для всех других ВМ. Единственное, на что нужно направить внимание, что виртуальный сетевой адаптер подключен к подходящей сети ВМ. К примеру, для шаблона «Красных» эта настройка смотрится последующим образом:

Виртуализация сети в Hyper-V. Настройка

Параметр «Static IP» показывает VMM на то, что при разработке ВМ по этому шаблону нужно выделить статический Айпишник из пула, связанного с сетью Red_VMnet01. А так как для этой сети включена разработка NV, то выделенный адресок будет CA-адресом. Не считая того, в процессе развертывания виртуальной машины VMM выделит из пула, связанного с соответственной логической сетью, PA-адрес, сравнивает пару CA-адрес / PA-адрес и пропишет нужные строки в политику виртуализации того хоста, на котором будет развернута ВМ. Если в ЦОД-е употребляется динамическая адресация, то Айпишника могут выделяться не из пулов VMM, а из скопов DHCP-сервера, и в данном случае в шаблоне ВМ нужно избрать параметр «Dynamic IP».

Развертывание ВМ с внедрением приготовленных шаблонов

Сейчас все стопроцентно готово, и можно разворачивать ВМ на базе приготовленных шаблонов. Жмем кнопку «Create Virtual Machine» и избираем подходящий шаблон.

Виртуализация сети в Hyper-V. Настройка

Проверка результатов

Если все перечисленные шаги проделаны без ошибок, то для опыта можно сделать пару «Красных» и пару «Синих» ВМ на одном либо нескольких физических хостах Hyper-V и убедиться в том, что приобретенные ВМ работают с адресами из сети 10.0.0.0/24, может быть даже Айпишника «Синих» и «Красных» на сто процентов совпадают, но при всем при всем этом «Красные» лицезреют друг дружку и на сто процентов изолированы от «Синих».

Давайте поглядим, как смотрится отклик 1-го из упомянутых сначала поста командлетов в моей испытательной среде. Ниже практически изображена политика виртуализации на одном из хостов:

Виртуализация сети в Hyper-V. Настройка
Прирастить

А именно видно, что машине Red-Web1 был выделен CA-адрес 10.0.0.2 (1-ый доступный адресок в пуле) и ассоциирован с PA-адресом 192.168.1.52. ВМ принадлежит сабсети с VSID=15184632 и относится к Customer Network с идентификатором RDID={206146EB-F035-4A19-A625-054C49DEEBD7}.

Очередной очень увлекательный параметр «Rule» со значением «TranslationMethodEncap» гласит о том, что для виртуализации Айпишников употребляется механизм NVGRE. Этот механизм применяется по дефлоту при настройке NV в VMM и рекомендуется для большинства сценариев виртуализации сети. Можно проверить работу механизма инкапсуляции, сделав c машины Red-Web1 ping на адресок 10.0.0.3 и посмотрев сетевым монитором на структуру передаваемых пакетов.

Виртуализация сети в Hyper-V. Настройка
Прирастить

Во-1-х, можно следить, что пинги передаются в виде GRE-пакетов меж хостами с PA-адресами 192.168.1.52 и 192.168.1.53. Во-2-х, в заголовке GRE обозначено, что снутри лежит пакет некого протокола с номером 0×6558 (выделен на рисунке голубым), каковым и является эталон NVGRE. В-3-х, по спецификации NVGRE последующие 24 бита (обведены красноватым) содержат VSID. Вправду, если 0xE7B2F8 перевести в десятичный вид, получим VSID=15184632, что является сабсетью «Красных».

Таким макаром, мы настроили и выполнили проверку работоспособности технологии Hyper-V Network Virtualization. Но пожалуй, это менее чем лабораторные тесты, так как мы не обеспечили взаимодействие ВМ с наружным миром. О том, как это смотрится с строительной точки зрения и как настраивается, побеседуем в последующем посте.

А пока вы сможете:

поглядеть виртуализацию сети в действии в первом модуле курса « Новые способности Windows Server 2012. Часть 1. Виртуализация, сети, хранилища»;
получить дополнительную информацию о Hyper-V Network Virtualization в 3-ем модуле курса « Windows Server 2012: сетевая инфраструктура»;
скачать необычную презентацию (на англ.) с детализированным описанием процесса передачи пакетов (packet flow) в NV.

Аналогичный товар: Комментирование на данный момент запрещено, но Вы можете оставить ссылку на Ваш сайт.

Комментарии закрыты.