Назад | Перейти на главную страницу

Статические MAC-адреса внутри отказоустойчивого кластера вызывают конфликты MAC-адресов

У меня 13 узлов Hyper-V в отказоустойчивом кластере Microsoft. Около 50% наших гостей используют Linux и лучше всего работают со статическими MAC-адресами. Наши гости Windows работают в любом случае, но для простоты мы также установили им статические MAC-адреса.

Наша процедура заключалась в следующем: подготовьте виртуальную машину, перед установкой ОС включите виртуальную машину, выключите ее, измените сетевой адаптер на статический, сохраняя автоматически сгенерированный MAC-адрес.

Проблема в следующем:

  1. Создайте гостя на Node1. Он получает MAC в диапазоне MAC узла 1.
  2. Переместить гостя на Node2. Нет проблем.
  3. Создайте нового гостя на Node1. Он получает MAC в пределах диапазона Node1. Я был уверен, что отказоустойчивый кластер будет достаточно умен, чтобы проверить отсутствие конфликта с ЛЮБЫМ гостем, но он просто выбирает случайный из диапазона ЭТОГО УЗЛА, который не используется никакими гостями на ЭТОМ УЗЛЕ, а не где-либо еще в кластере. .
  4. Я был подавлен, обнаружив, что это фактически привело к конфликтам MAC, когда он натыкается на тот же адрес, который уже назначен гостю, который мигрировал на другой узел.

Краткосрочное решение простое, мы просто запускаем команду PowerShell для xref MAC-адресов по всему кластеру, но какое здесь долгосрочное решение? Должны ли мы проверять каждый автоматически сгенерированный MAC-адрес на всех виртуальных машинах в нашем пуле? Если мы дадим каждому узлу Hyper-V один и тот же пул, будет ли он проверять по всему кластеру, или у нас будет еще больше конфликтов? Поможет ли нам SCVMM или только ухудшит ситуацию?

Решение - использовать SCVMM с кластерами Hyper-V. MS не намеревалась обеспечить согласованность генерации MAC-адресов в кластере без этого.

http://www.darrylvanderpeijl.com/hyper-v-vmm-mac-addresses/