Sdílet prostřednictvím


Работа с сетью в Hyper-V

Поговорим о том, как Hyper-V работает с сетью. Что это означает для основной ОС, расположенной в parent partition, и для виртуальных машин, расположенных в child partitions?

Начнем с того, что Hyper-V работает с сетью совсем не так, как это было в Virtual Server 2005 или Virtual PC.

Для начала посмотрим, что мы имеем после установки Windows Server 2008 на системе с одним сетевым интерфейсом. В Network Connections мы увидим следующую картину:

И ваша ОС работает следующим образом:

Однако, как только вы установите роль Hyper-V и создадите виртуальную сеть (virtual network), ваша ОС начнет работать следующим образом:

Как вы видите, parent partition теперь использует виртуальный сетевой интерфейс для того, чтобы соединяться с физической сетью. Если вы теперь посмотрите в Network Connections — то увидите, что к физическому сетевому интерфейсу добавился виртуальный:

К изначальному физическому сетевому интерфейсу не привязано никаких служб, провайдеров или протоколов — кроме Microsoft Virtual Network Switch Protocol. А все остальные протоколы и службы теперь привязаны к виртуальному сетевому интерфейсу.

Стоит отметить несколько моментов:

  • Виртуальный сетевой интерфейс, который появился в Network Connections, получил точно такое же имя, как привязанный к нему virtual switch.
  • В Hyper-V вы можете создать внутреннюю (Internal) виртуальную сеть, которая добавит виртуальный сетевой интерфейс в parent partition, но не создаст привязки к какому-либо физическому сетевому интерфейсу.
  • В отличии от Virtual Server, Hyper-V жестко привязывает виртуальный сетевой интерфейс к соответствующему физическому интерфейсу при создании Virtual network switch. Это имеет свои плюсы и минусы. Преимущество такого подхода — в том, что те физические интерфейсы, которые не используются с Hyper-V, остаются не затронуты никоим образом. Так что снимаются любые вопросы производительности или совместимости. (Очевидно, что даже если ни одна виртуальная машина не использует некий виртуальный интерфейс, который привязан к соответствующему физическому интерфейсу, производительность канала между parent partition и физической сетью немного падает за счет появления дополнительного шага между используемыми виртуальным и физическим интерфейсами). Недостаток описанного подхода — в том, что при создании или удалении virtual network switch в Hyper-V связь на физическом интерфейсе временно пропадает, так как заново выполняется привязка всех протоколов и служб.

В заключение хотелось бы дать несколько советов относительно настроек сети для виртуализации.

  • Для любой системы с Hyper-V рекомендуется иметь минимум два физических интерфейса! Использование лаптопов с одним интерфейсом допускается, но рекомендуется лишь для демонстрационных целей.
  • Всегда выделяйте один физический интерфейс для управления ОС. К такому management interface не привязываются виртуальные интерфейсы. Он используется лишь для удаленной работы с parent partition.
  • Под виртуальные машины также выделяйте как минимум один физический интерфейс. Не жадничайте, сеть может стать узким местом при одновременном использовании общего физического интерфейса несколькими виртуальными машинами.
  • Если ваши виртуальные машины используют внешнее хранилище по протоколу iSCSI — используйте и для этой цели выделенный интерфейс (или несколько).
  • Подключайте Management interface исключительно в локальную сеть. В идеале, соединение с Интернетом должно быть доступно только виртуальным машинам.

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

Comments

  • Anonymous
    January 01, 2003
    Жить должна но:
  1. Microsoft никогда и ни в каких конфигурациях не поддерживает тиминг. Ни на физических хостах, ни на виртуальных. Все вопросы к вендору
  2. Обновите до актуальной версии драйверы Broadcom и BAPC - утилиту тиминга.
  • Anonymous
    January 01, 2003
    Для запущенной ВМ, азумеется нельзя. Никакого взаимодействия кроме как по сети. Если вы выключите ВМ, можете подмонтировать VHD диск, открыть редактором реестра куст с SYSTEM из виртуальной машины и поменять настройки IP. В любом случае, есть возможность сделать это и без мучений, - запустите в неактивированной ВМ браузер, как будто вам нужно купить номер через интернет, в адресной строке бразуера запустите C:windowsexplorer.exe, будет десктоп, настройте адрес. У вас на это будет чуть более минуты до того, как процесс Explorer будет закрыт механизмом защиты ОС. На настройку IP хватит.

  • Anonymous
    January 01, 2003
    Может подскажите - как отвязать сетевые протоколы с интерфейса хоста на Server Core...

  • Anonymous
    January 01, 2003
    В нашем полку русскоязычных блогеров прибыло, к нас присоединился Алексей Кибкало , который является

  • Anonymous
    January 01, 2003
    Еще вопрос: [quote] ВМ: База данных - ВМ с одним интерфейсом, привязанному к Private свичу. [/quote] А как в таком случае получить доступ к файловой системе на VM-DB? Только опосредованно через VM-Web? Или есть какой-нить механизм засылки файлов через хостовую систему?

  • Anonymous
    January 01, 2003
    Извиняюсь, не заметил прошлого вопроса, отвечу сейчас на оба.

  1. Как отвязать протоколы от интерфейса в Server Core: Ответ: Для начала узнаем GUID нужного интерфейса командой wmic nicconfig get Description,SettingID Далее при помощм Regedit.exe (Elevated) откроем ветвь HKLMsystemcurrentcontrolsetserviceslanmanserverlinkage В ключе Bind удаляем для найденного выше GUID интерфейса требуемый протокол (смотрите список): LanmanServer - File and Printer Sharing LanmanWorkstation - Client for Ms Networks lltdio - Link-Layer Discovery Mapper I/O Driver rspndr - Link-Layer Topology Discovery Responder tcpip - TCP/IPv4 tcpip6 - TCP/IPv6 Аналогично можно вернуть назад привязку.
  2. Как в получить доступ к файловой системе на VM-DB? Ответ: Обычно это не является типовым сценарием. Если в вашей ситации нужен частый доступ к файловой системе сервера баз данных, требуется внести изменения в конфигурацию, а именно добавить в VM-DB интерфейс, подключенный к internal switch, чтобы хост видел его по TCP/IP, без привязки к физическим интерфейсам. Никаких способов доступа к файловой системе ВМ с хоста без TCP/IP нет и быть не может!
  • Anonymous
    January 01, 2003
    Ваш сценарий такой: На хосте два интерфейса:
  1. LAN - смотрит в локальную сеть, имеет внутренний IP, не виртуализован.
  2. External - смотрит в Интрнет. На основе интерфейса сделан External Switch. С самого switch на хосте отвязаны все сетевые протоколы (нет TCP/IP и File&Print Sharing) Также создан Private Switch (Сеть для виртуальных машин без доступа к хосту, не привязанная ни к одному интерфейсу). ВМ: База данных - ВМ с одним интерфейсом, привязанному к Private свичу. Web - ВМ с двумя интерфейсами, один к Private свичу для доступа к БД, второй к External свичу - с внешним IP. На хосте имеем брэндмауэр с запретом всего, кроме RDP на LAN интерфейс. В БД брандмауэр разрешает доступ к SQL по тому протоколу, который используется В WEB сервере брэндмауэр разрешает доступ по http/https на внешний интерфейс. Двух-ногая конфигурация хоста приводит к тому, что ваши ВМ не видят локальной сети, но для веб сервера это не нужно и повышает безопасность. Хотя дает некое неудобство при конфигурации самих VM через vmconnect (без RDP).
  • Anonymous
    January 01, 2003
    Евгений, по шагам.
  1. Перед переносом виртуальной машины с VirtualPC/VirtualServer нужно (еще находясь в VPC) удалить Virtual Machine Additions (или по крайней мере обновить до современной версии, ибо старые вы удалить из Hyper-V просто не сможете)
  2. Перенеся виртуальную машину (без VMAdditions) в Hyper-V, или создав новую, вы должны установить компоненты интеграции Hyper-V (Integration Services) и перезагрузиться. Без них работает только Старый (Legacy) сетевой адаптер, а современные синтетические устройства не засекаются.
  3. Обратите внимание, что при установке Hyper-V Integration Services будет заменен HAL с ACPI на APIC - и эту ВМ вы более запустить в VirtualPC/VS2005 не сможете без ручных махинаций (еще на стороне Hyper-V)
  4. Если компоненты установились успешно - пользуйтесь Старым (Legacy) интерфейсом для загрузки с сети (Boot from LAN) и новым для всего остального. Настройки TCP/IP в ВМ такие же как и на хосте, отличий нет.
  • Anonymous
    January 01, 2003
    Давайте я вас попрошу сделать следующее
  1. Выключите виртуальную машину
  2. В её свойствах убедитесь что есть ДВА адаптера - Legace и Synthetic (так удобнее проверять). Если сейчс один, - добавьте второй
  3. Включите ВМ
  4. Сделайте скриншот в Device Manager для сетевых карт и раздела System. Ну и если есть неопознанные устройства, - чтобы их было видно
  5. Сделайте скриншот настроек сети, так чтобы было видно название сетевого интерфейса (Intel bla-bla-bla для Legacy)
  • Anonymous
    January 01, 2003
    Уже все конечно отпиарили, но не могу удержаться - уж больно хороший блог Алексея Кибкало. Даже у Virtual PC Guy такого контента не встречал, а тут еще и на русском! Сегодня после проведения вебкаста по PowerShell , сразу начну воплощать пару статей в

  • Anonymous
    January 01, 2003
    Скорее всего проблема в драйверах Broadcom на сервере 2008 В свойствах драйвера ФИЗИЧЕСКОГО интерфейса (всех) отключите (disable) Large Send Offload (IPv4)

  • Anonymous
    January 01, 2003
    Если локальный домен это сам хост виртуализации (not supported совмещение этих ролей), то нужно сделать внутреннюю сеть для общения хоста с ВМ. Если контроллер, это ВМ, то достаточно приватной сети для всех ВМ. Настройка IP адресов на ваше усмотоение - в пределах одной сети.

  • Anonymous
    January 01, 2003
    Это ненормально. Есть подозрениее, что у ваших машин одинаковый MAC. То ли в Hyper-V свойствах адаптера виртуалки задан, то ли в настройках сетевой карты в Local Area Connection внутри виртуалки. Если вы клонировали виртуальную машину, или экспортировали несколько раз, дело может быть в этом.

  • Anonymous
    January 01, 2003
    Не очень понял вопроса. "Работают без проблем с сетью" и "нулевая активность" не очень вяжутся. Network Monitor в виртуальных мащинах не работает, поддержка будет в следующей версии NetMon.

  • Anonymous
    January 01, 2003
    Если удалось, то можно и не размещать. А так - размещаете где-то и даете ссылку.

  • Anonymous
    January 01, 2003
    По соображениям безопасности доступ к хосту должен идти через отдельный интерфейс. Он должен быть во внутренней сети (без интернет) и не должен разделяться с ВМ. Технически можно обойтись и одним адаптером.

  • Anonymous
    January 01, 2003
    Денис, вам нужно установить компоненты интеграции Hyper-V. Убедитесь, что стоит SP2 (без него работать не будет), далее в консоли виртуальной машины в меню Action сделайте Insert Integration Services Disk, и внутри виртуальной машины с появившегося диска установите драйверы. Если у вас нет возможности ставить SP2 и компоненты, то добавьте вместо синтетического интерфеса эмулируемый (для выключенной ВМ добавить устройство Emulated Network Card) и после включения оно найдет само. Эмулируемая карта работает медленнее и потребляет ресурсы процессора!

  • Anonymous
    January 01, 2003
    RE: Если эта тема окажется интересна, я готов написать отдельную статью с различными сценариями настройки и использования сетевых интерфейсов в разных конфигурациях. Отдельную — чтобы не перегружать эту чисто теоретическую статью рассуждениями и рекомендациями из практики. Жду ваших комментариев! Очень интересно продолжение... В частности интересует конфигурация типового web-решения - хостовый сервер с двумя физ.интерфейсами (предполагается один с реальным IP, другой с частным для управления хостом и виртуальными серверами) и два гостевых сервера: web-сервер и сервер БД. Как в этом случае правильно организовать виртуальные сети, чтобы это работало и уменьшить плоскость атак. Как правильно конфигурить брандмауэр хоста и гостя.

  • Anonymous
    January 01, 2003
    Добрый день. Есть сервер на Вин 2012 R2, с 4мя встроенными гигабитными сетевыми карточками Broadcom NetXtreme, объеденены в Hyper-V virtual Ethernet adapter. На сервере подняты AD, App, DNS, ISS, RDS, File&Storage и Hyper-V с 2мя виртуалками, на которых установлен Сервер 2012 R2. На 1 установлена программа Navision 2013, на 2 крутиться Sql база которую программа использует. В настройках виртуалок Network Adapter - выбран Microsoft Network Adapter Multiplexor Driver –Virtual Switch. Так вот собственно проблема в том, что пинг между серверами прыгает от 1 до 200 мс, наружу из любой ровно 20мс.

  • Anonymous
    March 28, 2008
    Очень интересно! Пишите сценарии :)

  • Anonymous
    March 31, 2008
    Надо заметить, что есть возможность через интерфейс управления Hper-V WMI "отрезать" от физического интерфейса виртуальный адаптер Parent-партиции. В случае если у вас 2-а сетевых интерфейса в сервере, это позволяет виртуальные машины выпустить в сеть через один физический интерфейс (никак не связанный с парент партицией), а управление и доступ к паретн партиции оставить ТОЛЬКО через второй сетевой интерефейс. Если еще Parent партиция будет Server Core, то такая конфигурация является по сути Appliance-ом Hyper-V.

  • Anonymous
    December 01, 2008
    Еще глупый вопрос. У меня после добавления external-сети виртуалки работают без проблем с сетью, но на сетевых интерфейсах в виртуалках нулевая активность. Может дрова на виртуальные сетевки? Сервисы интеграции стоят.

  • Anonymous
    December 03, 2008
    Ну тоесть сеть работает в полном объеме (рдп и т.д. и т.п.), но переданые и принятые пакеты по нулям, в диспетчере задач также ровный график и ноль процентов использования сети.

  • Anonymous
    February 09, 2009
    Что то не оч врубился. Мне надо допустим что бы три виртуальные машины могли зарегестрироваться в моем локльном домене.Какие сетвые привязки к виртуальной машине нужны? Привязать external физический интерфейс своего сервера на котором крутятся машины? Я так понял в отличие от WMWare тут сначала создается интерфейс сетевой а потом уже указывается в конфигурировании самой виртуальной машины?

  • Anonymous
    March 12, 2009
    Добрый день. Вот такой сценарий будет жить? Встроенные два сетевых интерфейса объеденены в Team. Реальный IP. В parent partition - DC, DNS, DHCP. virtual network switch привязан к третьему сетевому адаптеру. В child partition. Тоже реальный IP. В child partition  Server 2003. В нем третий реальный IP. Есть проблемы. Вся конфигурация раз в сутки падает. Вот я думаю или это проблема Broadcom или я чего-то не достроил.

  • Anonymous
    April 11, 2009
    The comment has been removed

  • Anonymous
    April 11, 2009
    The comment has been removed

  • Anonymous
    April 20, 2009
    Спасибо. Еще такой вопрос. Возможно ли в hyper-v настроить свойства сетевого подключения child partition из parent partition? Просто есть необходимость активировать винду из вм, а срок уже истек-т.е сразу после логина выдает предложение об активации. Какие-то настройки там уже есть, но я их не знаю, т.е. dhcp тоже не вариант...

  • Anonymous
    May 04, 2009
    Прошу разобрать следующий сценарий... Есть сервер с двумя картами (внешний IP и внутренний в локалку). На этом сервере стоит DHCP, почтовый сервер и FTP. На нем установлена ВМ (2003 server), на которой установлена ISA 2006. Задача! Требуется что бы локалка видела, как сам хост, так и ВМ. Требуется что бы сам сервер стоял за ISA (инет чтобы шел на хост через ВМ с ISA). Требуется чтобы хост видел локалку. Как это сделать?

  • Anonymous
    March 04, 2010
    Помогите с такой проблемой. Есть физический сервер на котором 2008 и Hyper-V (на ней поднят Server 2003 AD с ролью PDC). Есть еще контроллеры домена в других зданиях, все реплицируется замечательно. При первой попытке включить в домен 2008 неполучилось до тех пор пока не был выключен сервер крутящийся на Hyper-V, только после этого он нормально включился в домен. Потом запустил сервер на Hyper-V попробовал сделать шару на 2008, вроде сначала нормально было но после того как только я выбрал пользователя, он мне сказал, что неможет провести согласования. Как только я выключил сервер на Hyper-V, и произвел предыдущие действия пользователь легко добавился. Я так понимаю у меня проблема какая-то с сервером на Hyper-V раз возникают такие проблемы. Можете подсказать в чем может быть проблема. Я грешу на виртуальный интерфейс Hyper-V. Заранее благодарен.

  • Anonymous
    July 05, 2010
    c виртуализацией на Hyper-V столкнулись недавно. и сразу косяк: 1)в диспечере вирт сетей создаем сеть. 2)в настройках вирт машины в Сетевом адаптере указываем это подключение. при запуске Вирт машины (установлен вин серв 2003) никаких сетевых адаптеров нет. из неопознанных устройств VMBUS/4&4B018EB&0 как настроить или установить сеть?

  • Anonymous
    August 18, 2010
    Добрый день. На Hyper-V сервере установлены 3 сетевых адаптера - один смотрит непосредственно в сетку, на два других привязаны виртуальные свитчи. Поднято 4 виртуальных сервера - по два на каждый свитч. Проблема в следующем - два сервера на одном и том же свитче подхватывают сеть по принципу "кто первый встал - того и тапки". Кто успел - ловит IP, нормально видит сеть и видится из сети. Второй остается в "топке локалхоста", получая IP вида 169.254.79.90. Есть возможность с этим как-то побороться?

  • Anonymous
    August 19, 2010
    Я только пробую пользоваться Hyper-v, но уже столкнулся с непонятками: была виртуалка в VirtualPC win2000SP4, перенес ее в Hyper-v, настроил, установил "старый сетевой адаптер" подключенный к внешней сети, к отдельному физическому адаптеру. Поначалу сеть работала, все было нормально, но потом после экспериментов с "старый сетевой адаптер" - "сетевой адаптер" - с ним не заработало, вернул все как было, а сеть не работает и оживить никак не получается. К тому же не нашел возможности изменения свойств адаптера на ВМ (ip-шник статический задать), хотя в ком. строке по ipconfig /all - показывает, что адаптер настроен на тот адрес который был у нее в VirtualPC

  • Anonymous
    August 19, 2010
    по пунктам: 1 - выполнено 2 - выполнено 3 - не нужно а вот с настройками адаптера под ВМ - тут все не так просто. При выборе протокола TCP/IP кнопка "свойства" - неактивна

  • Anonymous
    August 20, 2010
    Удалось добиться работы путем удаления и создания заново виртуального сетевого интерфейса, а скриншоты сделаю в понедельник, только как их тут размещать?