Работа с сетью в 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
Жить должна но:
- Microsoft никогда и ни в каких конфигурациях не поддерживает тиминг. Ни на физических хостах, ни на виртуальных. Все вопросы к вендору
- Обновите до актуальной версии драйверы 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
Извиняюсь, не заметил прошлого вопроса, отвечу сейчас на оба.
- Как отвязать протоколы от интерфейса в 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 Аналогично можно вернуть назад привязку.
- Как в получить доступ к файловой системе на VM-DB? Ответ: Обычно это не является типовым сценарием. Если в вашей ситации нужен частый доступ к файловой системе сервера баз данных, требуется внести изменения в конфигурацию, а именно добавить в VM-DB интерфейс, подключенный к internal switch, чтобы хост видел его по TCP/IP, без привязки к физическим интерфейсам. Никаких способов доступа к файловой системе ВМ с хоста без TCP/IP нет и быть не может!
- Anonymous
January 01, 2003
Ваш сценарий такой: На хосте два интерфейса:
- LAN - смотрит в локальную сеть, имеет внутренний IP, не виртуализован.
- 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
Евгений, по шагам.
- Перед переносом виртуальной машины с VirtualPC/VirtualServer нужно (еще находясь в VPC) удалить Virtual Machine Additions (или по крайней мере обновить до современной версии, ибо старые вы удалить из Hyper-V просто не сможете)
- Перенеся виртуальную машину (без VMAdditions) в Hyper-V, или создав новую, вы должны установить компоненты интеграции Hyper-V (Integration Services) и перезагрузиться. Без них работает только Старый (Legacy) сетевой адаптер, а современные синтетические устройства не засекаются.
- Обратите внимание, что при установке Hyper-V Integration Services будет заменен HAL с ACPI на APIC - и эту ВМ вы более запустить в VirtualPC/VS2005 не сможете без ручных махинаций (еще на стороне Hyper-V)
- Если компоненты установились успешно - пользуйтесь Старым (Legacy) интерфейсом для загрузки с сети (Boot from LAN) и новым для всего остального. Настройки TCP/IP в ВМ такие же как и на хосте, отличий нет.
- Anonymous
January 01, 2003
Давайте я вас попрошу сделать следующее
- Выключите виртуальную машину
- В её свойствах убедитесь что есть ДВА адаптера - Legace и Synthetic (так удобнее проверять). Если сейчс один, - добавьте второй
- Включите ВМ
- Сделайте скриншот в Device Manager для сетевых карт и раздела System. Ну и если есть неопознанные устройства, - чтобы их было видно
- Сделайте скриншот настроек сети, так чтобы было видно название сетевого интерфейса (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 removedAnonymous
April 11, 2009
The comment has been removedAnonymous
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 - показывает, что адаптер настроен на тот адрес который был у нее в VirtualPCAnonymous
August 19, 2010
по пунктам: 1 - выполнено 2 - выполнено 3 - не нужно а вот с настройками адаптера под ВМ - тут все не так просто. При выборе протокола TCP/IP кнопка "свойства" - неактивнаAnonymous
August 20, 2010
Удалось добиться работы путем удаления и создания заново виртуального сетевого интерфейса, а скриншоты сделаю в понедельник, только как их тут размещать?