Управление ресурсами ЦП узла Hyper-V

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

Дополнительные сведения о оборудовании для узлов Hyper-V см. в разделе "Требования к системе" Для Windows 10 Hyper-V.

Общие сведения

Перед настройкой элементов управления для ресурсов ЦП узла Hyper-V рекомендуется ознакомиться с основами архитектуры Hyper-V. Общие сведения см. в разделе "Архитектура Hyper-V". Это важные понятия для этой статьи:

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

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

  • Каждый виртуальный процессор (VP) корневой секции сопоставляется с базовым логическим процессором (LP). VP узла всегда будет выполняться в одной базовой LP - нет миграции виртуальных машин корневой секции.

  • По умолчанию LPs, на которых выполняются виртуальные машины узла, также могут запускать гостевые виртуальные машины.

  • Гостевая виртуальная машина может быть запланирована гипервизором для запуска на любом доступном логическом процессоре. Хотя планировщик гипервизора заботится о локализации темпорального кэша, топологии NUMA и многих других факторах при планировании гостевой виртуальной машины, в конечном счете VP может быть запланирован на любом узле LP.

Минимальная корневая или "Minroot" конфигурация

Ранние версии Hyper-V имели максимальный размер архитектуры в 64 виртуальных машинах на секцию. Это применяется как к корневым, так и к гостевым секциям. Как системы с более чем 64 логическими процессорами появились на высокоуровневых серверах, Hyper-V также развивал свои ограничения масштабирования узлов для поддержки этих больших систем, в одной точке поддержки узла до 320 LPS. Тем не менее, нарушение ограничения на 64 VP на секцию в то время представляло несколько проблем и ввело сложности, которые позволили поддерживать более 64 виртуальных машин на секцию запрещено. Для решения этой проблемы Hyper-V ограничивает количество виртуальных машин, предоставленных корневой секции, до 64, даже если базовый компьютер имеет гораздо больше логических процессоров. Гипервизор будет продолжать использовать все доступные LPs для запуска гостевых виртуальных машин, но искусственно ограничивает корневую секцию на 64. Эта конфигурация стала известной как "минимальная корневая" или "minroot". Тестирование производительности подтвердило, что даже в крупномасштабных системах с более чем 64 LPS корень не нуждался в более чем 64 корневых виртуальных машинах, чтобы обеспечить достаточную поддержку большого количества гостевых виртуальных машин и гостевых виртуальных машин . На самом деле, гораздо меньше 64 корневых виртуальных машин было достаточно, в зависимости от количества и размера гостевых виртуальных машин. выполнение определенных рабочих нагрузок и т. д.

Эта концепция minroot продолжает использоваться сегодня. На самом деле, даже если Windows Server 2016 Hyper-V увеличила максимальное ограничение на поддержку архитектуры для LPs узла до 512 LPs, корневая секция по-прежнему будет ограничена не более 320 LPS.

Использование minroot для ограничения и изоляции вычислительных ресурсов узла

С высоким пороговым значением по умолчанию 320 LPs в Windows Server 2016 Hyper-V конфигурация minroot будет использоваться только в самых крупных серверных системах. Однако эта возможность может быть настроена на гораздо более низкое пороговое значение администратором узла Hyper-V, и поэтому используется для значительного ограничения объема ресурсов ЦП узла, доступных корневой секции. Определенное количество корневых LPS, которые следует использовать, необходимо тщательно выбрать для поддержки максимальных требований виртуальных машин и рабочих нагрузок, выделенных узлу. Однако разумные значения для количества LPS узла можно определить с помощью тщательной оценки и мониторинга рабочих нагрузок, а также проверяться в непроизводственных средах до широкого развертывания.

Включение и настройка Minroot

Конфигурация minroot управляется с помощью записей BCD гипервизора. Чтобы включить minroot, в командной строке с правами администратора:

     bcdedit /set hypervisorrootproc n

Где n — это число корневых виртуальных машин.

Система должна быть перезагружена, а новое число корневых процессоров будет сохраняться в течение времени загрузки ОС. Конфигурация minroot не может быть динамически изменена во время выполнения.

Если имеется несколько узлов NUMA, каждый узел получит n/NumaNodeCount процессоры.

Обратите внимание, что при использовании нескольких узлов NUMA необходимо убедиться, что топология виртуальной машины имеет достаточно свободных LPs (т. е. LPs без корневых виртуальных машин) на каждом узле NUMA для запуска виртуальных машин виртуальных машин.

Проверка конфигурации Minroot

Конфигурацию minroot узла можно проверить с помощью диспетчера задач, как показано ниже.

Host's minroot configuration shown in Task Manager

Если minroot активен, диспетчер задач отобразит количество логических процессоров, выделенных узлу, в дополнение к общему количеству логических процессоров в системе.