Поиск/настройка vSwitch для адаптера Ethernet

Поиск/настройка vSwitch для адаптера Ethernet

У меня есть хост виртуализации (может быть VSphere или SCVVM), который имеет четыре NIC, два 1 Гбит/с и два 10 Гбит/с. Эта машина размещает VM на двух vSwitch с уникальными именами (например, vSwitch0 и vSwitch1), один на NIC 1 Гбит/с, а другой на NIC 10 Гбит/с.

Эта виртуальная машина генерируется автоматически с помощью длительного процесса PowerShell, который создает определение импортируемой виртуальной машины и пустой виртуальный диск, устанавливает ОС, устанавливает другое программное обеспечение и т. д.

Моя проблема в том, что в гостевой ОС (Server 2012 R2) сетевые адаптеры просто обозначены как «Ethernet Adapter» и «Ethernet Adapter 1». Я не могу сказать, какой из них находится на «vSwitch0» или «vSwitch1». Мне нужно, чтобы каждый адаптер имел очень конкретный IP-адрес в зависимости от того, к какому виртуальному коммутатору он подключен.

Есть идеи? Мне нужно как-то настроить это в скрипте powershell, который настраивает гостевую ОС.

Заранее спасибо!

решение1

Самый простой способ, который я могу придумать, — это каким-то образом извлечь MAC-адрес каждого сетевого адаптера из конфигурации виртуальной машины и сравнить его с сетевыми картами в виртуальной машине.

Вам не обязательно нужнонаборMAC-адреса - vSphere автоматически назначит вам MAC, если вы не укажете свой собственный (назначение достаточно интеллектуально, чтобы знать, что уже используемые адреса не следует переназначать, поэтому вам не нужно беспокоиться о конфликтах). Затем вы можете запросить конфигурацию виртуальной машиныпослеон был создан, и сопоставьте его с сетевыми картами, как они отображаются в ОС. Например:

Сначала вы запрашиваете конфигурацию виртуальной машины через vSphere:

  • НИК Аподключен к vSwitch0 и имеет MAC-адрес00:56:3f:00:21:12
  • НИК Бподключен к vSwitch1 и имеет MAC-адрес00:56:3f:12:32:4a

Затем вы запрашиваете сетевые карты, присутствующие в гостевой ОС после создания:

  • Ethernet-адаптеримеет MAC-адрес 00:56:3f:12:32:4aи поэтомуНИК Би прикреплен кvSwitch1
  • Ethernet-адаптер 1имеет MAC-адрес 00:56:3f:00:21:12и поэтомуНИК Аи прикреплен кvSwitch0

Возможно, это можно сделать программно, однако я недостаточно хорошо разбираюсь в vSphere PowerShell CLI, чтобы знать наверняка.

решение2

Способ, которым я справился с этим для моих виртуальных машин с двойным подключением, заключается в том, что у меня есть DHCP-сервер в одной сети, поэтому я знаю, что vNIC, который получает назначенный DHCP IP-адрес, подключен к сети, где находится DHCP-сервер. NIC, который назначает себе адрес APIPA, подключен к другой сети. Это грубо, но это работает. Возможно, вы не захотите настраивать DHCP-сервер только для этой цели, но в моем случае я использую DHCP-сервер, поэтому мне повезло, что я могу использовать его для определения, к какой сети подключен каждый vNIC.

Связанный контент