Устранение неполадок связи Hyper-V

Опубликовано: 15 Апреля, 2023
Устранение неполадок связи Hyper-V

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

Проблемы со связью Hyper-V? Сначала проверьте виртуальный коммутатор

Если у вас есть виртуальная машина Hyper-V, испытывающая проблемы с сетевыми соединениями, то лучше всего начать устранение неполадок с просмотра виртуального коммутатора.

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

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

Проверьте сетевой адаптер Hyper-V на хосте

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

Чтобы увидеть, как это работает, посмотрите на изображение ниже. Здесь у меня есть виртуальный коммутатор, привязанный к физическому сетевому адаптеру с именем Intel I210 Gigabit Network Connection.

Изображение 14228
Теперь взгляните на следующий скриншот. Этот образ был захвачен с хоста Hyper-V. Единственный элемент, который включен на физическом сетевом адаптере, — это драйвер протокола Microsoft LLDP. Ни один из обычных компонентов, таких как TCP/IP, не включен. Это связано с тем, что Hyper-V требует монопольного управления физическим адаптером.

Изображение 14229
Вы заметите на рисунке, что есть также сетевое подключение, называемое vEthernet (Мой виртуальный коммутатор). Этот виртуальный сетевой адаптер был создан на узле Hyper-V для использования операционной системой узла. Это адаптер, который необходимо использовать при настройке сетевого подключения хоста (например, IP-адрес хоста и назначение DNS-сервера).

Я показываю вам все это, потому что вы можете разорвать сетевое подключение, если отключите любой из этих сетевых адаптеров или попытаетесь перенастроить физический адаптер, привязанный к виртуальному коммутатору Hyper-V.

Проверка IP-адреса

Когда у виртуальной машины возникают проблемы со связью в сети, рекомендуется проверить IP-адрес виртуальной машины. Однако следует помнить, что только потому, что виртуальная машина не получает IP-адрес от вашего DHCP-сервера, это не означает, что виртуальная машина неправильно настроена. Я могу вспомнить две ситуации, когда я видел, как виртуальные машины и хосты, настроенные на 100% правильно, не могли получить IP-адрес.

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

В другой ситуации у DHCP-сервера, отвечающего за предоставление виртуальных машин их IP-адресов, полностью исчерпан пул IP-адресов. Поскольку у DHCP-сервера закончились IP-адреса, его не осталось для выделения рассматриваемой виртуальной машине.

Самый простой способ узнать, получила ли виртуальная машина Windows IP-адрес, — открыть окно командной строки в виртуальной машине, а затем ввести команду ipconfig. Это покажет вам IP-адрес, который был назначен. Если вам нужна более подробная информация, вы можете добавить ключ /ALL к команде ipconfig. Кроме того, вы можете использовать команду Ping для проверки способности виртуальной машины взаимодействовать с другими виртуальными машинами в сети. Вы можете начать с проверки связи по IP-адресу, но вы также можете проверить разрешение DNS, попытавшись пропинговать машину по ее полному доменному имени.

Надеемся, что с помощью этих советов вы сможете найти и исправить проблемы со связью Hyper-V.