Funkcja zarządzania zasobami procesora hosta Hyper-V.

Funkcje kontroli zasobów procesora hosta Hyper-V wprowadzone w systemie Windows Server 2016 pozwalają administratorom Hyper-V lepiej zarządzać zasobami procesora serwera hosta (maszyna fizyczna) między partycją zarządzania/głwóną (ang. parent partition lub root partition) i maszynami wirtualnymi. Korzystając z tych elementów sterujących, administratorzy mogą oddelegować podzbiór procesorów systemu hosta do partycji głównej. Może to oddzielić pracę wykonaną na hoście Hyper-V od obciążeń działających na gościnnych maszynach wirtualnych, uruchamiając je w oddzielnych podzbiorach procesorów systemowych.

Podstawowe elementy koncepcji architektury Hyper-V:
- Funkcja Hyper-V tworzy i zarządza partycjami maszyn wirtualnych przy użyciu hiperwizora, który zarządza alokowaniem i dzieleniem zasobów obliczeniowych hosta. Partycje zapewniają silne granice izolacji między wszystkimi maszynami wirtualnymi gościa oraz między maszynami wirtualnymi gości a partycją główną.
- Partycja główna (tzw. parent partition) sama jest partycją maszyny wirtualnej, chociaż ma unikalne właściwości i znacznie większe uprawnienia niż maszyny wirtualne gościa. Partycja główna zapewnia usługi zarządzania, które kontrolują wszystkie maszyny wirtualne, zapewnia obsługę urządzeń wirtualnych dla systemów operacyjnych maszyn wirtualnych (tzw. gości) i zarządza wszystkimi urządzeniami we/wy dla maszyn wirtualnych.
- Każdy procesor wirtualny (VP) partycji głównej jest mapowany 1:1 na procesor logiczny (LP). Procesor wirtualny hosta zawsze będzie działać na tym samym bazowym LP.
- Domyślnie, procesor logiczny (LP), na którym działa procesor wirtualny (VP) partycji głównej, może również uruchamiać wirtualne procesory gości. Skutkować to może mniejszym przydziałem mocy obliczeniowej dla wirtualnego procesora/ów patrycji głównej.
- procesor wirtualny (VP) maszyny wirtualnej może zostać zaplanowany przez hiperwizora, aby działał na dowolnym dostępnym procesorze logicznym, a więc i tym z którego korzysta partycja główna.

Wcześniejsze wersje Hyper-V umożliwiały przypisanie do 64 wirtualnych procesorów dla partycji głównej jak i dla partycji gościa (maszyna wirtualna). W wersji Hyper-V 2012 do partycji gościa można było przypisać już 320 procesorów wirtualnych, ale nadal istniało ograniczenie do 64 procesorów wirtualnych, które mogła wykorzystać partycja główna. Ta konfiguracja określana jest jako minimalna konfiguracja (ang. "minimum root" lub "minroot"). Testy wydajnościowe wykazywały, że liczba ta jest odpowiednia nawet dla największych systemów zawierających ponad 64 procesory logiczne i dużą liczbę mocno obciążonych maszyn wirtualnych.
W Windows Server 2016 parametry te zostały zwiększona do 512 logicznych procesorów dla partycji gościa (maszyna wirtualna) i 320 procesorów logicznych dla partycji głównej (hiperwizor).

Przy wysokim domyślnym progu 320 logicznych procesorów w Windows Server 2016, konfiguracja minroot będzie używana tylko w bardzo dużych systemach serwerowych. Istnieje jednak możliwość ręcznego określenia ilości procesorów logicznych przypisanych do partycji głównej. Umożliwia ograniczenie liczby procesorów wykorzystywanych przez partycję główną, a tym samym udostępnienie więszkej mocy obliczeniowej partycjom gościa. oczywiście podjęcie takich działań wymaga oszacowania zapotrzebowania hiperwizora na moc obliczeniową procesorów, aby jej brak nie stał się wąskim gardłem dla wydajności funkcji Hyper-V.

W Windows Server 2016 program linii komend BCDEdit.exe został rozbudowany, aby móc zarządzać konfiguracją hiperwizora w tym ustawieniami "minroot". Komenda pozwalająca na zdefiniowanie ilości procesorów wirtualnych przydzielonych partycji głównej ma postać:
bcdedit /set hypervisorrootproc n
gdzie n określa liczbę procesorów wirtualnych. Po wykonaniu komendy system musi zostać ponownie uruchomiony, aby wprowadzone zmiany zostały użyte. W celu powrotu do ustawień domyślnych należy ponownie wykonać powyższą komendę z wartością n=0.

Weryfikacja liczby przydzielonych wirtualnych procesorów do partycji głównej. Weryfikacja liczby przydzielonych wirtualnych procesorów do partycji głównej.

Jeżeli istnieje wiele węzłów NUMA, każdy z nich oddeleguje n/LiczbaWęzłówNUMA procesorów. Należy upewnić się, że topologia maszyny wirtualnej jest taka, że liczba wolnych procesorów logicznych (bez procesorów logicznych przypisanych do partycji głównej) w każdym węźle NUMA jest wystarczająca do uruchomienia wirtualnych procesorów maszyn wirtualnych.
Przydzielenie procesorów przez powyższą komendę można zaobserwować w Menedżerze zadań (taskmgr.exe). Na zakładce Wydajność pojawi się dodatkowy wpis postaci Procesory logiczne hosta (Host logical processors).







Dodatkowe informacje:
- Microsoft Docs: Architektura Hyper-V.
- Microsoft Docs: BCDEdit.exe.