Hyper v virtual ethernet adapter что это

Обновлено: 04.07.2024

Процесс перехода от традиционной инфраструктуры к виртуальной может оказаться физически (да и психологически) сложной задачей для администратора, поскольку терминология и возможности систем виртуализации иногда отличаются от изученного ранее. Для тех из вас, кто изучает различные аспекты виртуализации и системы Hyper-V, мы продолжим публиковать полезные статьи, подробно рассматривающие многочисленные возможности системы Hyper-V.

Сегодня я хочу рассказать о виртуальном коммутаторе Hyper-V (vSwitch) в Windows Server 2012 R2. Но сперва уделите немного времени чтению следующих вопросов:

  • Что такое виртуальный коммутатор Hyper-V vSwitch?
  • Какие типы коммутаторов vSwitch существуют в системе Hyper-V и в чем их различия?
  • Что представляет собой команда PowerShell для удаленной настройки vSwitch?
  • Как я могу настроить ВМ (виртуальную машину) на обнаружение только внутренней сети, но не интернета?

Какой-нибудь из этих вопросов кажется вам знакомым? Если да, прочитайте эту статью до конца. У меня есть ответы!

Что такое виртуальный коммутатор в среде Hyper-V?

Hyper-V vSwitch — это программно-определяемый коммутатор трафика сети Ethernet, работающий на канальном уровне (layer-2). С его помощью сетевые администраторы могут подключать ВМ как к физическим, так и к виртуальным сетям. Он доступен по умолчанию при установке Hyper-V Manager и содержит улучшенные средства обеспечения безопасности и отслеживания системных ресурсов. Как и в случае других возможностей среды Hyper-V, в состав каждой новой версии Hyper-V входит улучшенная версия vSwitch. В настоящее время коммутатор vSwitch считается очень надежным, но в него продолжают вносить улучшения. Например, в среде Hyper-V 4.0 (той, что в Windows 2012 R2) предусмотрено множество возможностей для внутреннего изолирования и защиты сети от вредоносных ВМ.

Поскольку я не вижу смысла в теории без практики, хотелось бы перейти в Hyper-V Manager и позволить вам самим увидеть и оценить все возможности.

Установка Hyper-V vSwitch

В ходе установки среды Hyper-V предварительная настройка V vSwitch не выполняется. Если вы попытаетесь создать ВМ сразу после процесса установки, подключиться к сети вам не удастся. Чтобы настроить сетевую среду, выберите Virtual Switch Manager (Менеджер виртуального коммутатора) на правой панели приложения Hyper-V Manager.


Рис. 1. Hyper-V Manager

Virtual Switch Manager упрощает настройку параметров коммутатора vSwitch и глобальной сети, что дает возможность изменять пространство стандартных MAC-адресов (примечание: изменение пространства MAC не будет влиять на существующий виртуальный коммутатор).

Создание виртуального коммутатора простая процедура. Для создания доступно три типа коммутаторов vSwitch:

  1. Внешний vSwitchсоединит физический сетевой адаптер хоста Hyper-V с виртуальным и затем предоставит вашим ВМ доступ за пределы хоста — в вашу физическую сеть и интернет (если физическая сеть подключена к интернету).
  2. Внутренний vSwitchследует использовать для построения независимой виртуальной сети, в которой подключенные ВМ будут «видеть» друг друга, а также хост гипервизора.
  3. Частный vSwitchсоздаст виртуальную сеть, в которой все входящие в соединение ВМ будут «видеть» друг друга, но не хост Hyper-V. В этой тестовой среде ВМ будут полностью изолированы.


Рис.2 vSwitch Manager

Создание внешнего коммутатора vSwitch

Мастер создания предлагает вам выбор нескольких настроек при создании внешнего vSwitch.

  1. Можно выбрать нужный физический сетевой адаптер, если подходящих vSwitch у вас несколько.
  2. Опция Allow management OS to share this network adapter(Разрешить управляющей операционной системе создавать общий доступ к этому сетевому адаптеру) по умолчанию включена. Отключение этой опции лишит ОС гипервизора возможности сетевого подключения. Будьте осторожнее при создании vSwitch удаленно. Это может полностью разорвать соединение с удаленным хостом.
  3. SR-IOV(Single Root I/O Virtualization) (Виртуализация ввода-вывода с единым корнем) позволяет подготовить такую конфигурацию, которая может увеличить пропускную способность сети путем перенаправления трафика напрямую в ВМ в обход коммутатора vSwitch. Информация о включении опции SR-IOV доступна здесь. Необходимо учесть несколько аппаратных и системных требований: совместимость BIOS, поддержка SLAT процессором и сетевой картой SR-IOV PCIe в вашей системе. Убедитесь заранее, что вы знаете, что делаете.
    ПРИМЕЧАНИЕ: Вы не сможете включить опцию SR-IOV для существующего коммутатора vSwitch.
  4. VLAN ID: Эта настройка разрешает создание виртуальной локальной сети (VLAN) в управляющей ОС. Верно это и для физической среды, настройка позволяет выделить трафик гипервизора путем предоставления отдельных широковещательных доменов внутри единой сети.


Рис. 3. Создание внешнего коммутатора vSwitch

Нажав кнопку Apply (Применить), будьте готовы потерять возможность физического сетевого подключения на время, пока среда Hyper-V выключит физический сетевой адаптер, настроит коммутатор vSwitch и заново их включит:


Рис. 4. Предупреждение при создании внешнего vSwitch

Процедура создания внутреннего и частного коммутатора vSwitch аналогична, хотя некоторые настройки, такие как общий доступ к сети и SR-IOV будут недоступны и выделены серым цветом, что связано с самим характером этих коммутаторов.


Рис. 5. Создание внутреннего коммутатора vSwitch

ПРИМЕЧАНИЕ: Возможна автоматизация процедуры с помощью скрипта PowerShell, как и в случае других административных операций Windows 2012 R2. Полный синтаксис скрипта нуждается в проверке на сайте TechNet, но несколько примеров скриптов PS приведено ниже.

ПОДСКАЗКА: Не забудьте запустить консоль PowerShell с повышенными правами.

Следующая команда создает внешний коммутатор vSwitch для сетевого адаптера “Ethernet”:

New-VMSwitch -Name "External vSwitch" -NetAdapterName "Ethernet" -AllowManagementOS 1 -Notes "PowerShell example of External vSwitch creation"

Следующая команда создает внутренний коммутатор vSwitch:

New-VMSwitch -Name "Internal vSwitch" -SwitchType "Internal" -Notes "PowerShell example of Internal vSwitch creation"

Тип коммутатора vSwitch определяется параметром “-SwitchType «Internal/Private» или в случае внешнего vSwitch одним из следующих параметров: “-NetAdapterName «имя физического сетевого адаптера» / -NetAdapterInterfaceDescription «описание физического сетевого адаптера»”.


Создав коммутаторы vSwitch, вы можете их использовать в настройках сетевого подключения ваших ВМ.


Рис. 6. Мастер создания новой ВМ

ПОДСКАЗКА: Проверьте, к какому из всех vSwitch подключены ваши ВМ, с помощью команды:

Подключение к сети ВМ

Имейте в виду, что подключенные к внутреннему или к частному коммутатору vSwitch виртуальные машины получат IP-адрес автоматически только в случае, если в той же виртуальной сети присутствует DHCP-сервер. Если DHCP-сервер отсутствует, выполните небольшую пост-конфигурацию ВМ, подключенных к частному vSwitch:

1. Перейдите в панель управления Network Connections (Сетевые подключения) ОС гипервизора и найдите подключение, относящееся к внутреннему vSwitch. Настройте статический IP-адрес и маску подсети вручную:


Рис. 7. Пост-конфигурация внутреннего коммутатора

2. Включите ВМ и задайте сетевому адаптеру ВМ нужный статический IP-адрес той же подсети, чтобы установить сетевое подключение. Задав правильные настройки, вы сможете проверить с помощью ping-запроса гипервизору, все ли настроено верно.


Рис. 8. Проверка возможности сетевого подключения внутреннего коммутатора

Для настройки частного коммутатора vSwitch используйте статические IP-адреса для всех ВМ и разместите их в одной подсети.

Вот и все! Позже я опубликую еще несколько полезных материалов о среде Hyper-V. А пока поделитесь со мной своим опытом виртуальной сетевой коммутации в среде Hyper-V. Какие-либо сложности, подсказки или комментарии? Все то, чем вы хотели бы поделиться.

Andrew, currently working as a Cloud Technologist on the Veeam Product Strategy team, is a certified IT professional with over a decade of industry experience. Initially doing technical support for various solutions, including Veeam Backup & Replication, he has got practical expertise, which helps him to speak the same language as Veeam community members.

You can always find him presenting at different offline/online events, where he loves to solve the challenges associated with data protection. His motto is to help others realize the beauty and power of virtualization and cloud technologies.

Это будет, наверное, заключительная статья из серии, посвященной архитектуре Hyper-V. На одном форуме мне посоветовали написать продолжение – «Hyper-V и невидимая виртуалка», «Hyper-V и Орден Линукса», я обязательно об этом подумаю, и возможно даже – напишу.


Итак, в этой статье речь пойдет о том, как виртуальные машины в среде Hyper-V работают с сетевыми интерфейсами. Как я уже говорил в предыдущих статьях – сетевые интерфейсы – это единственный способ взаимодействия виртуальных машин как между собой, так и со «внешним миром». Поэтому понимать особенности сетевого взаимодействия в среде Hyper-V необходимо.

Сетевые адаптеры

  • Когда гостевая ОС не поддерживает установку компонент интеграции;
  • Когда необходим доступ к сети до загрузки ОС, к примеру – загрузка по PXE для установки ОС с сервера WDS.

Виртуальные сети


Разумеется, если есть сетевые адаптеры – они должны куда-то подключаться. И для этого в Hyper-V существуют виртуальные сети (Virtual Networks), которые по сути представляют собой самые обычные виртуальные коммутаторы. К каждому виртуальному коммутатору могут присоединяться как сетевые интерфейсы виртуальных машин, так и физические сетевые интерфейсы сервера. Виртуальные сети бывают трех типов, и чтобы проще было их понять – взглянем на схему.

У нашего сервера имеется два сетевых интерфейса. Когда хостовая ОС только что была установлена, и интерфейсы сконфигурированы – к каждому из них привзяывается протокол TCP/IP, некоторые другие протоколы и соответственно – назначаются сетевые настройки (IP-адрес, маска подсети, адреса шлюзов и DNS) – статически или динамически, в данном случае – не суть важно.

Виртуальные сети (то есть виртуальные коммутаторы) бывают трех типов: External, Internal и Private. External – виртуальная сеть, имеющая выход «во внешний мир». При создании сети типа External необходимо указать сетевой интерфейс, через который будет осуществляться выход наружу (Физический адаптер 2). При этом физический интерфейс теряет все сетевые настройки, и создается виртуальный адаптер в хостовой ОС (Виртуальный адаптер 1), к которому привязываются все необходимые протоколы и настройки. Физический же интерфейс остается всего с одним протоколом: Virtual Network Switching Protocol. Кроме этого, в Windows Server 2008 R2 появилась возможность создавать сети типа External, но при этом все равно изолировать их от хостовой ОС. Делается это снятием галочки «Allow management operating system to share this network adapter»:

ATTENTION: При создании виртуальной сети типа External происходит кратковременный разрыв сетевого соединения, и все настройки переносятся на новый, виртуальный адаптер. Об этом необходимо помнить во-первых, если настройка осуществляется удаленно – соединение может прерваться, и во-вторых – возможно придется заново настраивать Windows Firewall, чтобы привязать правила к новому виртуальному интерфейсу.
Internal – внутренняя виртуальная сеть, к которой могут подключаться только виртуальные интерфейсы – виртуальных машин и хостовой ОС. К физическому интерфейсу сеть типа Internal не привязывается, и, соответственно, выхода «вовне» не имеет.
Private – то же самое, что и Internal, за исключением того, что к такой сети могут подключаться только виртуальные машины. Сеть типа Private не имеет доступа ни ко «внешнему миру», ни к хостовой ОС.
Для лучшего понимания – нарисую таблицу, в которой будет указано, какие интерфейсы будут подключены к виртуальному коммутатору, а какие – нет при разных настройках:

Работа с VLAN


Hyper-V поддерживает работу с VLAN (IEEE 802.1Q). Для этого в свойствах виртуальных сетевых интерфейсов имеется галочка «Enable VLAN Identification», после активации которой можно ввести VLAN ID. Предварительно, разумеется, необходимо настроить коммутаторы, чтобы трафик тегировался соответствующими ID, и, разумеется, установить в хостовой ОС драйверы сетевого адаптера с поддержкой необходимых функций.

Более подробно о настройке виртуальных машин для работы с VLAN можно почитать в статье Дмитрия Макарова.

Не могу закончить статью, не упомянув о новой фиче, появившейся в Windows Server 2008 R2 – поддержке виртуальных очередей, VMQ.
Поддержка VMQ позволяет перенести большую часть затрат на обработку сетевых пакетов, адресованных виртуальным машинам с хостовой ОС на плечи процессора сетевого адаптера. Разумеется, при условии, что сетевой адаптер это поддерживает, и в гостевых ОС установлены компоненты интеграции.
Если не используется VMQ, то обработка сетевых пакетов происходит следующим образом:

Распределением трафика по виртуальным машинам и фильтрацией по тегам VLAN при этом занимается виртуальный коммутатор, действующий в пространстве родительской ОС. При большом количестве виртуальных машин и при больших объемах трафика это может привести к некоторому снижению производительности, так как у процессора сервера есть и другие задачи, помимо обработки сетевых пакетов. Использование VMQ позволяет переложить обработку пакетов на плечи процессора сетевого адаптера:

Сетевой адаптер, поддерживающий VMQ, способен самостоятельно осуществлять необходимую обработку сетевых пакетов, а затем записать данные непосредственно в область памяти соответствующей виртуальной машины.
Передача же данных, что с VMQ, что без оной – идет как и обычно: Виртуальный сетевой адаптер – VMBus – Виртуальный коммутатор – Физический сетевой адаптер.

Вместо заключения


На этом хотелось бы закончить статью, и заодно – рассказ об архитектуре Hyper-V. В заключение – хотелось бы спросить: у меня есть желание написать статью о Live Migration. Будет ли это интересно аудитории, или же все об этом слышали и все об этом знают?

Создание и настройка виртуальных коммутаторов Hyper V

Virtual switch или коммутаторы Hyper V нужны для работы сети в виртуальных машинах. На примерах мы рассмотрим как создавать и настраивать эти коммутаторы.

Коммутатор или switch - это оборудование канального уровня или Layer 2 в модели OSI. То есть у коммутатора нет IP, но имеет MAC. Такое оборудование помогает устанавливать связь между хостами.

Первое что нужно понять, что в Hyper V есть три типа свитчей:

  • Внешний (External) - виртуальные хосты подключенные к этому свитчу могут общаться с машинами вне хоста Hyper V, выходить в интернет и общаться с другими виртуальными машинами на этом хосте.
  • Внутренний (Internal) - виртуальные машины с этим свитчем не могут выходить в интернет, но им доступен хост Hyper V и другие виртуалки с этим адаптером.
  • Частный (Private) - виртуалки с этим свитчем не могут выходить в интернет и обращаться к хосту Hyper V. Виртуальные хосты под этим свитчем общаются только между собой.

hyper v коммутатор

По сути мы создаем внешний виртуальный коммутатор Hyper V чаще всего, он имеет и доступ к внешнему DNS и DHCP. Если мы захотим протестировать DHCP сервер, например, отличным кандидатов будет приватный свитч.

Для создания первого свитча нужно нажать следующие кнопки:

hyper v виртуальный коммутатор

В новом окне у нас появится выбор выше описанных свитчей с кнопкой создания.

Hyper V не создает коммутаторов по умолчанию. Если в диспетчере виртуальных коммутаторов вы видите имя default switch , то скорее всего кто-то поленился написать название.

Можно выбрать любой, так как на следующем шаге этот выбор останется. Нажимаем кнопку 3:

настройка коммутатора hyper v

На следующем окне мы можем установить название свитча(1) и выбрать область его работы (2) и установить, если есть, идентификатор VLAN (3). Идентификаторы VLAN могут иметь свитчи кроме приватного.

Если на количество приватных и внутренних свитчей ограничений нет, то на внешний есть. Внешний свитч может создаваться один на каждый физический адаптер. Кроме этого внешний Hyper V виртуальный коммутатор имеет две дополнительные настройки:

  • Разрешить управляющей операционной системе предоставлять общий доступ к этому сетевому адаптеру (Allow management OS to share this network adapter) - хост с ролью Hyper V перестанет использовать этот сетевой адаптер. Его смогут использовать только виртуалки. Рекомендации любого вендора иметь отдельный адаптер для хоста виртуализации и отдельный для виртуальных машин.
  • Виртуализация ввода-вывода с единым корнем (Enable Single Root I/O Virtualization SR-IOV) - по сути эта технология позволяет миновать лишний расход ресурсов и направлять трафик с адаптера в виртуальную машину. Работа SR-IOV возможна с Windows Server 2012 и на виртуальных машинах с Windows Server 2012 и 8, при наличии физической поддержки со стороны сетевого адаптера, BIOS и процессора. Такая опция может быть включена только при создании свитча, но не после.

настройка виртуального коммутатора hyper v

Если вы выбрали внешний коммутатор, у вас единственный адаптер и включена опция "Allow management OS to share this network adapter", то вы можете обратить внимание что на хосте Hyper V у вас два адаптера в "Сетевые подключения". Один физический, работающий на канальном уровне, а другой, новый, через который работает хост Hyper V.

Виртуальную машину можно подсоединено ко множеству свитчей. Это делается либо при создании виртуальных машин в этом окне:

Подключение сетевого адаптера Hyper V

Либо у существующей виртуальной машины. Начиная с Windows Server 2016 адаптеры можно добавлять на работающую машину. Для того что бы это сделать нужно зайти в свойства машины:

Hyper V свойства виртуальной машины

Затем добавить сетевой адаптер:

Добавление адаптера Hyper V

Затем выбрать новый адаптер и подключить к настроенному коммутатору Hyper V:

Подключение к коммутатору сетевой адаптер Hyper V

После этого у хостов появится подключение.

Создание виртуальных коммутаторов Hyper V в Powershell

Для создания свитчей в Powershell у нас есть команда New-VMSwitch. Так как в этой команде доступен ключ ComputerName мы можем выполнять эту операцию удаленно. Командой ниже я создам приватный свитч:

В SwitchType мы можем указать коммутаторы описанные выше:

Так как внешний свитч не создается без физического адаптера мы должны получить его имя:

А затем создать свитч:

New-VMSwitch создание коммутатора External

  • Notes - описание коммутатора. Не обязательно заполнять.
  • AllowManagementOS - опция описанная выше. Позволяет пользоваться коммутатором хосту Hyper V.
  • EnableIov - включает SR-IOV

Есть дополнительные ключи, но они не часть этой темы:

  • EnableEmbeddedTeaming - нужен для создания Switch Embedded Teaming
  • EnablePacketDirect - нужна физическая поддержка. Позволяет ускорять работу адаптеров.
  • MinimumBandwidthMode - минимальная пропускная способность коммутатора.

Теперь добавим адаптер к виртуальной машине. Список всех виртуальных машин можно получить так:

Настроим виртуальный коммутатора Hyper-V на новом сервере.

Запускаем Hyper-V Manager.

В списках серверов Hyper-V есть текущий сервер ILAB-DC. Нажимаем на него.

Список виртуальных машин у меня пуст. Перед созданием новой виртуалки нужно настроить виртуальный коммутатор. По идее он уже должен быть настроен, т.к. мы при установке роли Hyper-V скорее всего ставили галку для привязки виртуального коммутатора к физическому сетевому адаптеру. Но проверить не помешает, были случаи, когда виртуальный коммутатор на привязывался к физическому адаптеру. Такое случается, когда роль Hyper-V устанавливается несколько раз. В этом случае зайдите в настройки физического адаптера и снимите галку со всего где есть слово "Hyper-V", после этого физический адаптер можно снова привязать к виртуальному коммутатору из оснастки Hyper-V Manager.

Нажимаем Virtual Switch Manager.

У меня один виртуальный коммутатор "vmxnet3 Ethernet Adapter - Virtual Switch". Виртуальный коммутатор может работать в трёх режимах:

  • External network
    Предоставляет виртуальным машинам доступ к физической сети для взаимодействия с серверами и клиентами во внешней сети. Позволяет виртуальным машинам на одном сервере Hyper-V взаимодействовать друг с другом.
    Allow management operating system to share this network adapter (Разрешить управляющей операционной системе предоставлять общий доступ к этому сетевому адаптеру)
    Выберите этот параметр, если вы хотите разрешить узлу Hyper-V совместно использовать виртуальный коммутатор и сетевую карту или группу сетевых адаптеров с виртуальной машиной. Если этот параметр включен, узел может использовать любые параметры, настроенные для виртуального коммутатора, такие как параметры качества обслуживания (QoS), параметры безопасности или другие функции виртуального коммутатора Hyper-V.
    Enable single-root I/O virtualization (SR-IOV) (Включить виртуализацию SR-IOV)
    Выберите этот параметр, только если вы хотите разрешить трафику виртуальной машины обходить коммутатор виртуальной машины и перейти непосредственно к физическому сетевому адаптеру. Сетевой адаптер должен поддерживать SR-IOV.
  • Internal network
    Разрешает обмен данными между виртуальными машинами на одном сервере Hyper-V, а также между виртуальными машинами и сервером Hyper-V.
  • Private network
    Разрешает обмен данными только между виртуальными машинами на одном сервере Hyper-V. Частная сеть изолирована от всего внешнего сетевого трафика на сервере Hyper-V. Этот тип сети полезен, если необходимо создать изолированную сетевую среду, например изолированный тестовый домен.
SR-IOV (Single Root Input/Output Virtualization, виртуализация ввода-вывода с единым корнем) — технология виртуализации устройств, позволяющая предоставить виртуальным машинам прямой доступ к части аппаратных возможностей устройства.

При необходимости можно включить поддержку VLAN.

Если вам понравилась статья, то ставьте 👍🏻 каналу.
Пишите комментарии, задавайте вопросы, подписывайтесь.

Читайте также: