Глубокое погружение в виртуализацию сети Hyper-V (часть 4)

Опубликовано: 19 Апреля, 2023

  • Глубокое погружение в виртуализацию сети Hyper-V (часть 2)
  • Глубокое погружение в виртуализацию сети Hyper-V (часть 3)
  • Глубокое погружение в виртуализацию сети Hyper-V (часть 5)

VSID

VSID, иногда называемый идентификатором виртуальной подсети, назначается виртуальным машинам клиентов. Это отличается от идентификатора VLAN, который назначается на странице свойств виртуальной машины. Виртуальной машине, участвующей в виртуализации сети Hyper-V, должен быть назначен VSID, а не идентификатор VLAN. Вы не можете назначить VLAN ID виртуальной машине, если она уже настроена с VSID, и наоборот. Традиционный диапазон идентификаторов VLAN начинается от 1 до 4095, тогда как диапазон VSID составляет от 4096 до 16 777 214. Виртуализация сети Hyper-V разделяет виртуальные машины клиента с помощью назначенных им VSID. Назначение VSID может быть выполнено автоматически с помощью SCVMM или вручную с помощью командлетов HNV PowerShell. Если вам нужно назначить VSID виртуальной машине с помощью PowerShell, используйте командлет .

— это не новый командлет PowerShell, предназначенный для поддержки реализации виртуализации сети Hyper-V, но он поддерживает параметр « VirtualSubnetID », который помогает назначать VSID виртуальным машинам. Чтобы назначить VSID с помощью выполните следующие команды на обоих хостах Hyper-V:

На узле Hyper-V1

  1. Get-VMNetworkAdapter -VMName Blue1 | где {$_.MacAddress -eq «00155D013202»} | Set-VMNetworkAdapter-VirtualSubnetID 6001
  2. Get-VMNetworkAdapter -VMName Blue4 | где {$_.MacAddress -eq «00155D013203»} | Set-VMNetworkAdapter-VirtualSubnetID 6002
  3. Get-VMNetworkAdapter -VMName Red1 | где {$_.MacAddress -eq «00155D013204»} | Set-VMNetworkAdapter-VirtualSubnetID 6005

На хосте Hyper-V2

  1. Get-VMNetworkAdapter -VMName Blue2 | где {$_.MacAddress -eq «00155D013205»} | Set-VMNetworkAdapter-VirtualSubnetID 6001
  2. Get-VMNetworkAdapter -VMName Blue3 | где {$_.MacAddress -eq «00155D013206»} | Set-VMNetworkAdapter-VirtualSubnetID 6001
  3. Get-VMNetworkAdapter -VMName Red2 | где {$_.MacAddress -eq «00155D013207»} | Set-VMNetworkAdapter-VirtualSubnetID 6001

Первая, вторая и третья команды выполняются на Hyper-V Host1, поскольку виртуальные машины Blue1, Blue4 и Red1 работают на Hyper-V Host1. Обратитесь к схеме HNV, которую мы используем для целей этой серии статей в части 1. Четвертая, пятая и шестая команды выполняются на Hyper-V Host2, поскольку виртуальные машины Blue2, Blue3 и Red2 находятся на Hyper-V. V Хост2.

Приведенные выше команды обеспечивают полную изоляцию этих виртуальных машин. Им никогда не разрешается общаться с виртуальной машиной, которая находится в другой сети VM / RDID. Важно отметить, что хотя виртуальные машины Blue1 и Blue4 используют разные VSID, они по-прежнему являются частью одной и той же сети RDID/VM. Поскольку эти виртуальные машины являются частью одной и той же сети RDID/VM, они могут взаимодействовать друг с другом без дополнительной настройки. Виртуальные машины Blue1 и Blue4 не могут обмениваться данными с виртуальными машинами Red1 и Red2, поскольку виртуальные машины Red1 и Red2 принадлежат к другой сети RDID/VM. Следовательно, назначение сети RDID/VM и VSID играет важную роль в изоляции виртуальных машин клиента в общем облаке IaaS.

Обратите внимание, что VSID назначается «виртуальному сетевому адаптеру» виртуальной машины. К виртуальной машине может быть подключено несколько виртуальных сетевых адаптеров. Вы должны назначить VSID правильному виртуальному сетевому адаптеру виртуальной машины. В предыдущих командах мы использовали командлет PowerShell Get-VMNetworkAdatper для фильтрации виртуальной машины по MAC-адресу, а затем назначали VSID правильному виртуальному сетевому адаптеру. Нет необходимости использовать командлет PowerShell , если на всех виртуальных машинах настроен только один виртуальный сетевой адаптер. В этом случае вы можете просто запустить команду с параметром , чтобы назначить VSID.

Если вы попытаетесь назначить идентификатор VLAN для виртуальной машины, для которой уже назначен идентификатор VSID, вы получите сообщение об ошибке, как показано на снимке экрана ниже:

Изображение 15220
фигура 1

Точно так же, если виртуальная машина уже настроена с идентификатором VLAN, и если вы попытаетесь настроить VSID, вы получите сообщение об ошибке, как показано на снимке экрана ниже:

Изображение 15221
фигура 2

В ошибке конкретно не говорится, что VLAN ID уже присвоен виртуальной машине. Вместо этого сообщение об ошибке указывает на сбой операции при применении настроек порта коммутатора. Поэтому важно убедиться, что виртуальным машинам, участвующим в виртуализации сети Hyper-V, еще не назначен идентификатор VLAN.

Примечание:
Виртуальная машина не будет участвовать в виртуализации сети Hyper-V, если ей не назначены VSID. Другими словами, виртуальная машина с VSID 0 будет игнорироваться модулем WNV.

Чтобы убедиться, что виртуальным машинам назначен VSID, вы можете использовать командлет PowerShell , как показано на снимке экрана ниже:

  • Get-VMNetworkAdapter * | FT VMName, MACAddress, VirtualSubnetID — Auto

Изображение 15222
Рисунок 3

Как вы можете видеть на скриншоте выше, виртуальным машинам (Red1, Blue4 и Blue1) назначается уникальный VSID. Выполните ту же команду на Hyper-V Host2, чтобы убедиться, что результат соответствует дизайну HNV.

Информация VSID, заполняемая в таблице поиска для виртуальных машин, должна совпадать с VSID, назначенным виртуальным машинам. Если VSID не совпадает, пакет будет удален модулем WNV. Я расскажу больше о логике, используемой модулем WNV для поиска целевой виртуальной машины, в заключительной части этой серии статей.

На данном этапе,

  • Вы настроили изоляцию виртуальных машин с помощью нескольких компонентов WNV.
  • Вы использовали RDID, сеть виртуальных машин и VSID для изоляции виртуальных машин клиента.
  • Вы можете настроить виртуальную машину для использования IP-адресов. Например, вы можете настроить виртуальные машины Red1 и Red2 на использование одного и того же IP-адреса, и они не будут конфликтовать.

Резюме

В этой части мы узнали, как VSID играет важную роль в изоляции клиентской среды от других клиентов, а также чем VLAN ID отличается от VSID. В следующей части этой серии статей мы узнаем о таблице поиска. Без таблицы поиска модуль WNV не смог бы найти виртуальные машины, работающие на локальных/удаленных хостах Hyper-V. В следующем посте этой серии статей мы подробно рассмотрим таблицу поиска, а также логику, используемую модулем WNV для поиска целевых виртуальных машин, работающих либо на локальных, либо на удаленных хостах Hyper-V.

Я бы рекомендовал прочитать другие части этой серии статей, чтобы убедиться, что вы знакомы с компонентами модуля WNV, которые объяснялись в этой серии статей.

  • Глубокое погружение в виртуализацию сети Hyper-V (часть 2)
  • Глубокое погружение в виртуализацию сети Hyper-V (часть 3)
  • Глубокое погружение в виртуализацию сети Hyper-V (часть 5)