Общая теория и археология виртуализации x86

Настройка hyper-v server 2012 r2

Notes and Final Thoughts

Of course, you could just hop into the registry and set all these manually. All the disclaimers and scary stuff about how you can wreck your machine by messing with the registry apply, of course.

Fun little fact: on an adapters registry node, expand its “Ndi” subtree and then its “params” subtree and you’ll find all the advanced options listed. Expand one, and it will have an “Enum” subkey. There, you’ll find all the values it will accept for that particular setting.

The “Set-NetIPInterface” cmdlet has an -NlMtuBytes parameter. Like NETSH, this is a free-form field and will accept any digit entry up to whatever the maximum limit is for a TCP frame. It’s a bit easier to use than the above, but it doesn’t operate on hidden adapters (like the ones in your virtual switch) and it has no validation like the Set-NetAdvancedProperty does. I didn’t try this to see how its outcome would compare to my other findings.

I am disappointed that it came to this and I’m hoping that I just overlooked something. Microsoft did a lot of work to get us from PowerShell 2.0 in 2008 R2 to PowerShell 3.0 in 2012, and to have us digging in the registry to make that one last setting is disheartening. Scripting a host deployment with registry key modifications is going to be inelegant at best, especially if it turns out that the 0008 index isn’t static. My particular use case may or may not be common, but there are still going to be people who want their guest VMs to be able to use jumbo frames for various reasons, and this will also be their solution. I feel that the virtual switch should just have jumbo frames by default. Let administrators decide if they want to enable them on a per-adapter basis.

Was this helpful?

Do you want to become a member of Altaro Dojo?

Настройка Jumbo Frames в Hyper-V Windows Server 2012 / R2

По умолчанию jumbo frames в Windows — системах отключен. Чтобы активировать передачу больших пакетов Jumbo Frames для гостевой ОС, запущенной в виртуальной машине на базе Hyper –V 2012 нужно:

  1. Включить Jumbo Frames на физических сетевых картах (NIC) гипервизора (хостовой ОС), подключенных к сети LAN
  2. Включить поддержку Jumbo Frames на сетевом оборудовании LAN
  3. Включить Jumbo Frames на виртуальном коммутаторе Hyper-V
  4. Активировать Jumbo Frames в гостевой ОС

Jumbo Frames на физических сетевых картах сервера

Для каждой из сетевых карточек (NIC), используемых для подключений сервера (хостовой ОС) к сети LAN необходимо в свойствах сетевых адаптеров перейти в режим настройки драйвера (кнопка Configure). Затем на вкладке Advanced найти параметр с названием Jumbo Frames (в зависимости от производителя NIC, он также может называться Packet Size, Jumbo Packets или что-то похоже) и установить его значение в 9014.

Поддержка Jumbo Frames на сетевом оборудовании

Далее необходимо включить поддержку Jumbo Frames на коммутаторах, которые в дальнейшем будут задействована в цепочке передачи данных между серверами с включенным Jumbo Frames (это задача для администраторов сети).

Включаем поддержку Jumbo Frames на виртуальном коммутаторе Hyper-V

В том случае, если на хостовой ОС (гипервизор) установлена Windows Server 2012, чтобы активировать Jumbo Frames для виртуального коммутатора Hyper-V нужно

  1. Открыть редактор реестра и развернуть ветку HKLMSYSTEMCurrentControlSetControl >Примечание. Хорошая новость для владельцев Windows Server 2012 R2 – никакой настройки виртуального коммутатора для работы с Jumbo Frames не требуется

Активация Jumbo Frames в гостевой ОС (Windows Server 2012)

На уровне гостевой ОС (в нашем примере это Windows Server 2012) включается аналогично гипервизору: в расширенных настройках драйвера укажите, что Jumbo Packet=9014 Bytes.

Тестируем работу Jumbo Frames в Windows

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

Протестировать работу Jumbo Frames можно с помощью простой команды ping, позволяющей определить что пакет большого размера может быть передан без дефрагментации:

где, флаг f — запрещает фрагментацию пакета, флаг –l задает размер пакета (8972 — на нашем стенде это максимальный размер пакета, передающийся без дефрагментации), second_jumbo_frame_server – имя/ip_адрес второго сервера с включенным Jumbo Frames.

Если ping отработал успешно – поздравляю, вы только что настроили Jumbo Frames для виртуальной машины на Hyper-V!

Установка Hyper-V

Hyper-V является встроенной опцией в Windows Server 2008 и более поздних версиях. Однако, по умолчанию она не активна, поэтому вам нужно настроить ее вручную. Существует три способа включения Hyper-V в ОС Windows:

  • системные настройки Windows;
  • интерфейс командной строки PowerShell (CLI);
  • обслуживание образов развертывания и управление ими (DISM).

Magic RAID Recovery
Лучшее решение для восстановления сложных RAID-систем и утерянных данных.

Скачать сейчас!

Процесс установки Hyper-V с помощью панели управления Windows

Давайте рассмотрим наиболее популярный способ и установим Hyper-V, воспользовавшись панелью управления Windows:

1. В строке поиска на панели задач введите «Настройки» и нажмите «Enter».

2. После того, как вы открыли «Настройки», выберите «Приложения». Далее в разделе «Связанные настройки» справа кликните на «Программы и компоненты».

3. Слева выберите «Включить или отключить компоненты Windows».

4. В диалоговом окне «Компоненты Windows» выберите «Hyper-V» и нажмите «ОК».

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

Использование Hyper-V Manager

Для полноценной работы с Hyper-V, вам нужно запустить приложение «Диспетчер Hyper-V». Вы найдете его в списке установленных программ.

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

Создание виртуального коммутатора для виртуальных машин Hyper-V

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

Кроме того, это позволит вам подключать виртуальные машины как к физическим, так и к виртуальным сетям. Также, виртуальные коммутаторы дают возможность переноса виртуальных машин с одного физического хоста на другой.

Вы можете легко создать виртуальный коммутатор с помощью диспетчера Hyper-V, следуя этой пошаговой инструкции:

1. Откройте «Диспетчер Hyper-V» и выберите имя хост-компьютера.

2. В панели быстрого доступа диспетчера Hyper-V кликните на «Действие» и в выпадающем меню выберите «Виртуальный коммутатор».

После того, как откроется «Виртуальный коммутатор», вам следует выбрать, соответствующий вашим задачам, тип из трех возможных:

  • Внутренний (Internal): помогает создать виртуальный коммутатор, доступный только для виртуальных машин, работающих на этом физическом компьютере, но не обеспечивающий доступ к физическому сетевому подключению.
  • Внешний (External): помогает создать виртуальный коммутатор, который предоставляет доступ виртуальным машинам к физической сети путем привязки к физическому сетевому адаптеру.
  • Частный (Private): помогает создать виртуальный коммутатор, который может использоваться виртуальными машинами, работающими только на одном физическом компьютере. Частная сеть позволяет создать изолированную сетевую среду, доступ к которой извне невозможен.

3. Выберите «Создать виртуальный коммутатор».

4. Далее дайте виртуальному коммутатору имя и нажмите «ОК». Параметры по умолчанию в большинстве случаев подходят, но рекомендуем убедиться, что подключение к внешней сети работает. Обязательно выберите сетевой адаптер, который фактически подключен к Интернету, будь то Wi-Fi или проводное соединение.

5. Настройте тип подключения, выбрав «Тип сети», к которой должен подключаться виртуальный коммутатор (внешний, внутренний, частный). В случае, если это будет «Внешняя сеть», следует выбрать тип сетевого адаптера, который вы хотите использовать, и затем поставить галочку на «Разрешить управляющей операционной системе предоставлять доступ к этому сетевому адаптеру».

Hyper-V поддерживает работу с VLAN (IEEE 802.1Q). Вы можете вручную настроить этот идентификатор, который затем будет использоваться для сетевых соединений. Для этого в свойствах виртуальных сетевых интерфейсов поставьте галочку на «Разрешить идентификацию виртуальной локальной сети для управляющей операционной системы» (или «Enable VLAN Identification»). Эта опция доступна для внешнего и внутреннего типа сети.

6. После того, как вы нажмете «ОК», появится следующее диалоговое окно:

7. После того, как вы нажмете «Да», будет создан виртуальный коммутатор. Теперь ваша виртуальная среда может использовать собственную виртуальную сеть для упрощения организации работы нескольких виртуальных машин.

Рекомендации По Настройке Сети Hyper-V

Теперь, когда мы рассмотрели основы Hyper-V networking, виртуальные коммутаторы, требования к сети кластера Hyper-V, а также новые функции, найденные в виртуальной сети Windows Server 2019.

Давайте рассмотрим ключевые рекомендации по созданию сетей Hyper-V, которые следует учитывать при проектировании и создании инфраструктуры Hyper-V.

По возможности установите или обновите до последней версии Windows Server. С каждым выпуском Windows Server появляются новые и расширенные возможности, связанные с Hyper-V
Используйте современные физические сетевые карты, поддерживаемые корпорацией Майкрософт и имеющие возможность использовать удаленный прямой доступ к памяти (RDMA)
Убедитесь, что вы используете новейшие драйверы сетевых карт и прошивку
Используйте очередь виртуальных машин или сетевые карты с поддержкой VMQ – это обеспечивает преимущества аппаратной виртуализации, которые позволяют более эффективно подключаться к сети для TCP / IP / iSCSI и FCoE
Использование высокоскоростных сетей между узлами Hyper-V в кластере Hyper – V-используйте не менее 10 сетей GbE между узлами Hyper-V для обеспечения соответствия требованиям к пропускной способности и производительности между узлами кластера
Включить jumbo frames-Jumbo frames обеспечивает более эффективную сетевую связь в высокопроизводительных приложениях, поскольку позволяет увеличить количество кадров передачи и снизить загрузку процессора на хостах. Гигантские кадры обычно имеют размер 9000 байт или больше, в отличие от стандартного размера 1500-байтового кадра Ethernet
Не используйте разгрузку TCP Chimney или разгрузку IPsec с Windows Server 2016. Эти технологии устарели в Windows Server 2016 и могут повлиять на производительность сервера и сети

Чтобы отключить разгрузку TCP Chimney, из командной строки с повышенными правами выполните следующие команды:Netsh int tcp show global – показывает текущие настройки TCPnetsh int tcp set global chimney=disabled-отключает разгрузку TCP Chimney, если она включена
Убедитесь, что вы используете избыточные пути между узлами кластера Hyper-V, чтобы убедиться, что при сбое в одном пути существует другой путь, который можно использовать для связи
Планируйте свои сети Hyper – V-особенно с кластерами Hyper-V, планирование сетей очень важно. Убедитесь, что вы подготовили отдельные диапазоны IP-адресов/подсети, VLAN и т

д., для ваших специфичных для кластера сетей (живая миграция, кластер, хранилище, сети виртуальных машин)
Не используйте ReFS с общими томами кластера (CSV) – в настоящее время при использовании с CSV ReFS заставляет кластер работать в режиме перенаправления файловой системы, который отправляет все операции ввода-вывода по сети кластера на узел координатора Тома. Это может значительно повлиять на производительность
Понимание кластерной сети и ее использования – вы должны включить несколько сетей для кластерной связи, так как это обеспечивает встроенную устойчивость к кластерной связи, помогая обеспечить HA этой важной сетевой связи в кластере Hyper-V
Разрешите доступ к операционной системе управления только в тех сетях, которые необходимы. Поймите, как это создает специализированные сетевые соединения на узле Hyper-V
Используемая конвергентная сеть-конвергентная сеть позволяет гораздо эффективнее использовать физические адаптеры на хосте Hyper-V, а также доступную полосу пропускания.
Used Switch Embedded Teaming – With Switch Embedded Teaming позволяет создавать команду с помощью виртуального коммутатора вместо использования физической команды
При использовании Windows Server 2019 используйте Коалесценцию сегмента приема (RSC) для повышения производительности виртуальных рабочих нагрузок
С Windows Server 2019 используйте зашифрованные сети – это позволяет шифровать все сетевые коммуникации в виртуальных сетях для шифрования в полете

Установка Windows Admin Center для управления Hyper-V 2019

Скачать Windows Admin Center

Теперь нам надо передать скачанный файл на гипервизор и установить панель управления. Ранее мы разрешили подключение к Windows Hyper-V Server 2019 по rdp. Подключимся к нему, чтобы было удобно выполнять команды на самом гипервизоре.

По-умолчанию, на гипервизоре включен firewall, который блокирует внешние подключения. Вы можете либо полностью его отключать и включать с помощью команд в консоли cmd:

netsh advfirewall set currentprofile state off
netsh advfirewall set currentprofile state on

Либо разрешить некоторые команды удаленного управления, которые позволят в том числе передавать файлы на гипервзиор по smb. Следующие команды нужно вводить не в обычной консоли, а powershell. Для этого наберите команду powershell в стандартной консоли, которая загружается после подключения по rdp, а потом сами команды.

powershell
Set-NetFirewallRule -DisplayGroup 'Windows Management Instrumentation (WMI)' -Enabled true -PassThru
Set-NetFirewallRule -DisplayGroup 'Remote Event Log Management' -Enabled true -PassThru
Set-NetFirewallRule -DisplayGroup 'Remote Volume Management' -Enabled true -PassThru

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

Заходим на любой диск гипервизора через обычный проводник windows и передаем туда скачанный инсталлятор WindowsAdminCenter1904.1.msi. В качестве авторизации используем учетную запись администратора.

Копирование установщика Windows Admin Center

Возвращаемся на гипервизор, идем в паеку C:/Soft и запускаем переданный файл.

Запуск инсталлятора

Запускается инсталлятор Windows Admin Center. Там все просто, можно использовать дефолтные значения. Я лично ставлю галку Разрешить Windows Admin Center изменять параметры доверенных узлов для этого компьютера и Перенаправлять трафик с HTTP-порта 80 на HTTPS-порт. После установки можно в браузере переходить по адресу https://10.20.1.14.

Установка Windows Admin Center

Чтобы страница открылась, введите учетные данные администратора hyper-v сервера. Выбираем единственный сервер, вводим еще раз данные администратора и подключаемся к панели управления сервером. Дальше, думаю, уже сами разберетесь. Не буду подробно останавливаться на описании функционала Windows Admin Center.

Подключение к Admin Center

В разделе Виртуальные машины, можно создать виртуалку и запустить ее. Единственное, не забудьте установочный iso образ загрузить на гипервизор. Можно в ту же папку, куда загружали установщик админ центра. Единственное, вот на чем остановлюсь. Давайте создадим виртуальный коммутатор, для того, чтобы виртуальная машина получила доступ к сети.

Для этого идем в раздел Виртуальные коммутаторы и жмем на кнопку Создать.

Создание виртуального коммутатора в hyper-v 2019 с помощью admin center

Указываете имя коммутатора и его тип. Из-за перевода Admin Center на русский язык, трудно уловить суть названий, поэтому лучше все же качать английскую версию. Я уже установил русскую, поэтому расскажу на основе ее. Существует 3 типа коммутаторов:

  1. Личный (private) для связи только между виртуальными машинами, без доступа к гипервизору и сетью за ним.
  2. Внутренний (internal) — почти то же самое, что и личный, только доступ к коммутатору может иметь и гипервизор, но по прежнему нет доступа к внешней сети.
  3. Внешний (external) по сути это обычный сетевой бридж, куда входит реальный сетевой интерфейс гипервизора. Этот тип коммутатора используется для доступа виртуальных машин во внешнюю сеть.

В моем примере у меня только один сетевой интерфейс на гипервизоре. Я создам один коммутатор типа Внешний (External).

Параметры виртуального коммутатора

Получилось вот так.

Список виртуальных коммутаторов

Теперь этот коммутатор можно использовать в виртуальных машинах для доступа во внешнюю сеть.

В принципе, на этом настройку Windows Hyper-V Server 2019 можно и закончить. Если вас функционал Windows Admin Center устраивает, пользуйтесь им. В целом, в нем есть все необходимое, но мне он не нравится. Очень тормозной интерфейс, приходится два раза авторизовываться, чтобы подключиться. У меня не всегда получается через браузер открыть консоль виртуальной машины. Какие-то ошибки бывают, зависания.

Я предпочитаю использовать классические оснастки для управления гипервизором. Если вы так же как и я, предпочитаете их, переходим к следующему способу подключения и управления Hyper-V Server 2019. Для этого нам понадобится компьютер или виртуальная машина с Windows 10. Можно ее установить прямо на этом же гипервизоре. Иногда я так делаю для удобства. Получается автономный гипервизор со всем необходимым для управления.

Улучшение производительности внутри виртуальной машины

Всегда необходимо помнить, что установленная на виртуальную машину операционная система мало чем отличается от той, которая работает на основном компьютере. Её работу можно ускорить, следуя тем же принципам и используя те же методы, которые актуальны для любой другой операционной системы.

Например, производительность системы увеличится если закрыть фоновые программы или те, которые автоматически запускаются при старте системы. На производительность системы влияет необходимость осуществления дефрагментации диска (если виртуальная машина расположена на HDD диске), и так далее.

Простое управление Hyper-V Server 2019 через 5nine Manager

Раньше программа 5nine Manager для управления Hyper-V была другой. Я рассказывал о ней в отдельной статье. Сейчас этой программы вообще нет, а вместо нее 5nine Cloud Manager. Он более громоздкий и тормозной. Для установки требует sql сервер. Подойдет бесплатная редакция express. Нужно отдельно ставить серверную часть, отдельно консоль для управления, отдельно агент на hyper-v сервер.

Все стало намного сложнее по структуре, но в целом, если вам не хочется заморачиваться с описанными выше действиями, то можно попробовать с 5nine. В целом, процесс простой и выполняется все мышкой и визардами с кликанием далее — делее — делее. Чтобы все было понятно, расскажу по этапам.

  1. Скачиваете и устанавливаете Microsoft SQL Server Express ни гипервизор.
  2. Скачиваете 5nine Cloud Manager. Устанавливаете на гипервизор серверную часть приложения, которая работает с sql базой, на машину управления ставите консоль для подключения к серверной части.
  3. Подключаетесь консолью и устанавливаете бесплатную лицензию, которая придет в письме после регистрации на сайте программы. Лицензия сроком на год, потом не знаю, что с ней делать, придется продлевать или будет и так работать. На прошлых версиях программы работала и так, продлевать было не обязательно.
  4. Ставите консоль на гипервизор и подключаетесь теперь напрямую с гипервизора через rdp. Сразу так не сделал, потому что с гипервизора нельзя было добавить лицензию. Выскакивала ошибка. Наверно связано с тем, что гипервизор без gui, а визарду по добавлении лицензии он нужен. Могли бы это как-то исправить, было бы проще. Раньше все можно было сразу делать на гипервизоре.

Теперь подробнее и с картинками. Скачиваем и устанавливаем на Hyper-V Microsoft SQL Server Express с сайта Microsoft. Выбирайте тот же язык, что и в гипервизоре. Установка подойдет дефолтная. Установщик можно передать так же, как я показывал раньше, через \\hyperv2019\c$.

Дальше ставите 5nine Cloud Manager, серверную часть. В установщике она называется 5nine Management Service.

Установщик сам найдет установленную локально базу. В качестве авторизации в базе используйте системную учетную запись windows пользователя, от которого вы ставили SQL Server Express. Все остальные настройки установщика я оставлял дефолные.

Теперь переходите на любую клиентскую систему windows, с которой есть доступ к гипервизору и устанавливайте туда консоль управления.

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

После того, как добавите лицензию, можно идти на гипервизор, ставить туда же консоль и подключаться. После установки, ярлык для запуска будет лежать в C:\Users\All Users\Desktop. Я запускал оттуда. Когда запустите, сверните все, что открыто. Окно авторизации будет в фоне. Я не сразу это заметил и не мог понять, почему программа не запускается. По факту, она нормально работает на самом гипервизоре, кроме подключения к экрану виртуальной машины. Тут будет ошибка :( А все остальное вроде работает.

Далее нужно добавить гипервизор в панель и дождаться, пока установится агент.

После установки агента, гипервизор с виртуальными машинами появится в панели.

Конечно, все получилось не так удобно, как хотелось бы, но в целом программа функциональная. Все основные действия с виртуальными машинами производить в ней можно. Жаль, что нельзя обойтись только гипервизором. Было бы удобно, если бы все работало на нем.

СОЗДАДИМ ВИРТУАЛЬНЫЙ КОММУТАТОР

Виртуальный коммутатор Hyper-V (Hyper-V Extensible Switch) предназначен для организации сетевого взаимодействия между различными ВМ, между ВМ и хостом виртуализации, между ВМ и внешней средой. На самом деле у Hyper-V Extensible Switch обширное количество возможностей, много вкусного появилось в версии 2012 R2. Так что сейчас не будем углубляться в эту тему, и создадим простейший External Switch, который привязывается к сетевой карте Hyper-V Server, и организует взаимодействие ВМ с физической сетью.

Для начала проверим поддержку SR-IOV (Single-Root Input/Output (I/O) Virtualization). 

Get-VMHost | Select-Object -Property «Iov*» | Format-List или

Get-NetAdapterSriov

В моем случае поддержки SR-IOV нет. Это связано с тем, что я немного схитрил, и в данной демонстрации у меня Hyper-V сервер запущен не на живом железе, а в виртуальной среде.

Получим список подсоединенных сетевых адаптеров

Get-NetAdapter | Where-Object -PropertyStatus -eqUp

 

Привязываем виртуальный свитч к сетевому адаптеру и при наличии SR-IOV включим его поддержку.

Внимание: Включить или отключить поддержку SR-IOV после создания свитча будет невозможно, для изменения этого параметра необходимо будет пересоздавать свитч. New-VMSwitch -Name «Extenal_network» -NetAdapterName «Ethernet 2» -EnableIov 1

New-VMSwitch -Name «Extenal_network» -NetAdapterName «Ethernet 2» -EnableIov 1

В моем случае Hyper-V выдает ошибку, опять же связанную с тем, что гипервизор сам запущен в виртуальной среде. На живом железе командлет создаст External Switch с именем «External_network» и привяжет его к сетевому адаптеру Ethernet 2. Виртуальный свитч также появится в списке сетевых адаптеров и на него будет перепривязаны все сетевые параметры физического адаптера Ethernet 2

Проверить можно с помощью командлетов Get-VMSwitch и Get-NetIPConfiguration –Detailed.

На этом этапе первоначальная настройка Hyper-V Server 2012 R2 закончена, и все готово для создания нашей первой виртуальной машины. Но об этом мы поговорим в следующей статье, использовать будем, естественно, PowerShell.

До скорых встреч!

Using NIC Teaming Except for iSCSI Networks

Use NIC teaming for your Hyper-V networking configuration to enable link aggregation if you have more than one physical network interface controller. NIC teaming is a feature that allows you to distribute traffic among physical and virtual network adapters by grouping physical network adapters into a team. Such combinations provide higher performance (is always factually the case) and fault tolerance (is factually true for Hyper-V networking configuration used for a cluster). Adding a NIC to a team increases available network bandwidth by not summing the network speed of all adapters (if you add four 1Gbit network interface controllers into a team, you will not have a 4Gbit network connection). NIC teaming can redistribute network traffic rationally between network adapters. If you want to deploy a Hyper-V cluster, create a 2-adapter NIC team (use a stand-by adapter option) and connect each NIC to a different physical switch to ensure fault tolerance for Hyper-V networking.

Don’t use NIC teaming for iSCSI networks to prevent possible wrecks. As an alternative, you can configure MPIO (Multipath Input/Output) on your Windows Server. Check whether both iSCSI initiators and iSCSI targets can support using MPIO in your infrastructure for load balancing.

Hyper-V networking best practices also do not recommend using NIC teaming for SMB 3.0 storage networks in Hyper-V environment due to the same issues as stated for iSCSI.

Фоновое действие

Минимизация фоновых действий в бездействующих виртуальных машинах освобождает циклы ЦП, которые могут использоваться другими виртуальными машинами. Windows гости обычно используют менее одного процента от одного цп, когда они бездействуют. Ниже приведены некоторые рекомендации по минимизации фонового использования ЦП виртуальной машины.

  • Установите последнюю версию Integration Services виртуальной машины.

  • удалите эмулированного сетевого адаптера с помощью диалогового окна «параметры виртуальной машины» (используйте адаптер Microsoft Hyper-V).

  • Удалите неиспользуемые устройства, такие как компакт-диски и COM-порты, или отключите их носители.

  • при отсутствии использования и отключении заставки используйте Windows гостевой операционной системы на экране входа.

  • Проверьте запланированные задачи и службы, которые включены по умолчанию.

  • Проверьте поставщики трассировки событий Windows, которые включены по умолчанию, запустив logman.exe Query-ETS .

  • Улучшение серверных приложений для сокращения периодических действий (например, таймеров).

  • Закройте диспетчер сервера в основной и гостевой операционных системах.

  • Не выполняйте запуск диспетчера Hyper-V, так как он постоянно обновляет эскиз виртуальной машины.

ниже приведены дополнительные рекомендации по настройке версии клиента Windows на виртуальной машине для снижения общей загрузки цп.

  • отключите фоновые службы, такие как «упреждающая выборка» и «поиск Windows».

  • Отключите запланированные задачи, такие как запланированная дефрагментация.

Требования к системе

помимо требований к системе для Windows Server и требований к системе для Hyper-V, дляназначения дискретного устройства требуется оборудование класса сервера, способное предоставлять управление операционной системой для настройки структуры PCIe (встроенного управления PCI Express). Кроме того, в случае сложности с корнем PCIe необходимо поддерживать «службы контроля доступа» (ACS), что позволяет Hyper-V принудительно выполнять весь трафик PCIe через ММУ ввода-вывода.

Эти возможности обычно не предоставляются непосредственно в BIOS сервера и часто скрываются за другими параметрами. Например, для поддержки SR-IOV требуются те же возможности, что и в BIOS. возможно, потребуется установить флажок «включить SR-IOV». Если вы не можете определить правильный параметр в BIOS, обратитесь к поставщику системы.

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

Порядок настройки

Чтобы провести настройку:

  1. Перейдите в Виртуальные машины → выберите ВМ → Меню  → Параметры VM → Тонкие настройки.
  2. Укажите параметров на вкладке Ресурсы и ограничения.
  3. Настройте Ограничения портов ВМ. Подробнее см. в статье Ограничение доступа к ВМ.
  4. Если к ВМ в KVM-кластере подключено несколько дисков, укажите требуемые значения параметров на вкладке Настройки дисков VM. Подробнее о виртуальных дисках см. в статье Управление дисками ВМ.
  5. Выберите требуемые значения параметров на вкладке Параметры виртуализации (Контейнеризация).
  6. Нажмите Изменить.

    Если вы изменили значения vCPU, RAM, настройки дисков или режим эмуляции CPU платформа перезагрузит ВМ.

note-macro-icon.svg

Тестирование производительности ВМ с использованием стороннего ПО не гарантирует получение объективных данных. Это связано с ограничениями виртуализации — наличием дополнительных уровней абстракции между программным и аппаратным обеспечением.

finetuning.png

Пример настройки ресурсов и ограничений

image2022-1-18_15-59-52.png

Пример настройки дисков ВМ

image2022-1-18_15-57-35.png

Пример настройки параметров виртуализации

tip-macro-icon.svg

Может быть полезно

Связанные статьи:

  • Операции над виртуальными машинами
  • LXD
  • Управление дисками ВМ
  • Ограничение доступа к ВМ

Работаем с Flow Control

Вы наверняка видели в настройках сетевых адаптеров данный параметр. Он есть практически на всех, поскольку технология данная (официально называемая 802.3x) достаточно простая и древняя. Но это никак не отменяет её эффективность.

Суть технологии проста – существует множество ситуаций, когда приём кадра L2 нежелателен (заполнен буфер приёма, перегружена шина данных, загружен порт получателя). В этом случае без управления потоком кадр придётся просто отбросить (обычный tail-drop). Это повлечёт за собой последующее обнаружение потери пакета, который был в кадре, и долгие выяснения на уровне протоколов более высоких уровней (того же TCP), что и как произошло. Иными словами, потеря 1.5КБ кадра превратится в каскад проблем, согласований и выяснений, на которые будет затрачено много времени и куда как больше трафика, чем если бы потери удалось избежать.

А избежать её просто – надо отправить сигнальный кадр с названием PAUSE – попросить партнёра “притормозить на чуток”. Соответственно, надо, чтобы устройство умело и обрабатывать такие кадры, и отправлять их. Кадр устроен просто – это 802.3 с вложением с кодом 0x0001, отправляемое на мультикастовый адрес , внутри которого – предлагаемое время паузы.

Включайте поддержку этой технологии всегда, когда это возможно – в таком случае в моменты пиковой нагрузки сетевая подсистема будет вести себя более грамотно, сокращая время перегрузки за счёт интеллектуального управления загрузкой канала.

Как включить Flow control в Windows

Включается в свойствах сетевого адаптера. Операционная система с данной технологией не взаимодействует. Не забудьте про full duplex.

Установка Hyper-V Server 2012 R2

Первым делом скачиваем свежую версию гипервизора с сайта Microsoft. Скачивать нужно обязательно английскую версию. Во-первых, в русской были некоторые баги, хотя их могли и пофиксить уже, но дело не только в этом. Для автоматизации и упрощения настройки Hyper-V Server 2012 R2 мы будем использовать скрипты, написанные для английской версии, в русской они работать не будут. Я сначала поставил русскую версию, потратил какое-то время, потом плюнул и переустановил систему.

Установка достаточно банальна и ничем принципиально не отличается от любой другой установки windows. Скачивается образ, с него загружается система и устанавливается. В конце установки нас встречает консоль с настройками Hyper-V Server 2012 R2:

Hyper-V Server 2012 R2

Сразу же дам подсказку на случай, если вы Hyper-V Server Configuration console закроете. Запустить снова ее можно командой sconfig. Мне пришлось потратить прилично времени, чтобы найти как это сделать без перезагрузки сервера.

Настраиваем миграцию для кластеризованного сценария

Со стороны Failover Cluster дополнительно выкрутим настройки таймаутов кластера:

  • SameSubnetDelay указывает, сколько раз в какое время мы посылаем хартбиты. По умолчанию он выставлен в 1 секунду.

    Если узлы кластера находятся в одной сети, этого достаточно. Если они в разных сетях, то нужно настроить CrossSubnetDelay с теми же значениями.

  • SameSubnetThreshold показывает, сколько хартбитов мы можем максимально пропустить. По дефолту это 5 хартбитов, максимум – 120. Мы поставим оптимальное значение – 30 хартбитов.

Для высоконагруженных машин важно выкрутить оба параметра. Если не уложимся, то с большой вероятностью такая машинка не переедет

Чтобы трафик живой миграции использовался только на определенной сети, также оставим отдельную сеть в настройках Failover Cluster:

Понравилась статья? Поделиться с друзьями:
Быть в курсе нового
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: