Hyper-v как решить проблему с сетью?

Здравствуйте, в общем расскажу небольшую предысторию, раньше в моей комнате стоял imac, я на нем запускал parallels или vbox, там гонял виртуалочки, когда есть один мощный комп, то легко можно обойтись без дополнительных железок, всё летает, работает идеально, несмотря на то, что подключен комп по wifi (тариф провайдера 60 мегабит, по воздуху в локалке больше сотки жмет).

Сейчас я собрал десктоп со 128 гигами оперативки, 8 ядерным Xeon, поставил купленную раннее вин 10 про, ну и решил воспользоваться виртуализатором, который бесплатно поставляется и умеет в фоне запускать виртуалки, ну в общем идеально для сервисов, развернутых в родном окружении. У меня несколько машинок на линуксах, дополнения все стоят (модули ядра), стоят дебианы последние.

Вирталки мостом прокинуты в мою локалку, дальше я там с роутера пробрасываю порты нужные. Неадекватно работает мост, т.е. виртуалки имеют потери по 20% и больше пакетов, с самого хост-компа на тот же адрес пинги идут обычно около 0% потерь, ну изредка помехи небольшие, т.е. сама сеть годно работает. А вот Hyper-v при создании виртуального коммутатора делает мост, но не между сетевушками, а в мост включает только сетевушку внешнюю и туда свою службу добавляет, а дальше создает свой виртуальный адаптер, на котором тоже опять его служба и через него же инет отдает.

Может быть мне создать коммутатор внутренний и руками мост сделать между ними обычный? Тут или сыроватость десятки или еще что то, но сайты, размещенные на виртуалке то доступны, то опять недоступны, в момент недоступности я по рдп к компу цепляюсь, т.е. до него линк просто суперский и стабильный и по рдп на этом компе я работал два дня подряд, ни единого разрыва, а вот с виртуалками беда ужасная.

Может кто имел опыт, подскажите, посоветуйте, я просто на виндовой виртуализации впервые.
  • Вопрос задан
  • 8293 просмотра
Решения вопроса 1
@PavelBelyaev Автор вопроса
Ребята, всем спасибо за то что пытались помочь, но, как оказалось, у Hyper-v такая беда именно с wifi, нашел статью на сайте майкрософта, там идет объяснение, что все виртуалки в сеть с разными маками прокидываются, в итоге одна сетевушка с кучей mac-адресов, в ethernet-сетях это хорошо работает, а вот в беспроводной сети такие перебои соединения.

В общем для адекватной работы виртуалок по wifi создается коммутатор внутренний, который связывает виртуалки между собой и с самим хостом, в сетевых соединениях появляется виртуальный интерфейс, задаем ему подсеть другую и виртуальной машине айпи из этой подсети даем, дальше расшариваем подключение wifi (вкладка доступ), у нас получается NAT, т.е. виртуалка вылазит в инет, дальше чтоб со внехи подключаться к виртуалке - там же порт пробрасываем, всё работает, пинги 0.8мс до роутера. Еще придется в брандмаудере добавить правила, а то у меня пинги не проходили с виртуалок.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
ifaustrue
@ifaustrue
Пишу интересное в теллеграмм канале @cooladmin
Ответ из разряда пальцем в небо.
Смотрите, какая история с режимом виртуализации на винде:
1 когда вы его включаете, хостовая машина переходит в особый режим - она как бы становиться виртуальной (а управление процессором переходит к VMM).
2 у вас, если я правильно понял, обычная сетевая карта, без режимов SR-IOV, а значит она не умеет грамотно разруливать потоки (т.е. весь трафик вначале идёт в CPU, а лишь после обработки там едет к виртуалке)
3 Хостовая ОС у вас имеет другие задачи с которыми работает, на обработку прерываний и доставку трафика в гостевые ОС у неё не хватает приоритетов (не у ней, а у VMM, но суть таже)

В итоге получается, что работа сети для гостя имеет приоритет ниже, чем задачи хостовой ОС, а хостовая ОС выполняет задачи, на которые забирает проц.
Т.е. возможно у вас просто не хватает процессорного времени для работы сети (увидеть такую нагрузку в диспетчере задач не получится, так как см. п 1) .

Попробуйте следующее:
1. Убрать с хоста всю нагрузку
2. Включать виртуалки постепенно
3. Организуйте для Hyper-V отдельную сеть и посмотрите нормально ли она будет функционировать (без задействования физической карты)
4. Сделайте отдельную машину с маршрутизацией и выставьте только её в реальную карту, а остальные виртуалки будут в отдельном виртуальном свиче с ней.

Ещё проверьте что у вас используется именно Network Adapter (не Legacy)

UPD всё что выше - это для поиска проблемы.
Лекарства же такие:
1. Использовать полноценный Hyper-V (там приоритеты Хост\Гость работают лучше)
2. Использовать серверные сетевые карты
3. Убрать всю нагрузку с хоста
4. Использовать Network Adapter в качестве виртаульного адаптера для гостя, не Legacy
Ответ написан
@sazhyk
Боюсь ошибиться, но на сколько мне известно полноценный сервер Hyper-V (который бесплатен, но платная панель управления) и роль Hyper-V это разные вещи. Я тоже пробовал использовать "встроенную бесплатную виртуализацию". Но плюнул, заткнувшись на настройке сети. Мне хватает и виртуалбокса. А там где не хватает, я перезагружаюсь в убунту и стартую kvm.
Ответ написан
Jump
@Jump
Системный администратор со стажем.
Работу виртуализации в десятке не проверял, но учитывая обилие прочих проблем не удивлюсь если она криво работает.
Вообще Hyper-V работает отлично, и стабильно.
Непонятно почему вы используете десятку, используйте нормальную серверную реализацию, а не адаптацию для десктопов.

Ну ладно, серверная ось денег стоит, а ломаную поставить может религия не позволяет, но hyper-v сервер вообще бесплатный и свободно распространяется.
Ответ написан
Комментировать
tsklab
@tsklab
Здесь отвечаю на вопросы.
8 ядерным Xeon
Для справки: сетевой стек работает только на первом ядре. Поэтому, если отключить, программы от работы на этом ядре, ситуация может измениться.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы