Hyper-V – Konfigurowanie ochrony danych dla maszyn wirtualnych

Kontrolowanie i ochrona hostów Hyper-V jest niezbędna dla każdego administratora Hyper-V. Ochronę można wykonać, wdrażając koncepcje bezpieczeństwa, ale można ją również wykonać, kontrolując zużycie zasobów. Zarządzanie zużyciem zasobów jest bardzo ważne, aby zapobiec pogorszeniu wydajności infrastruktury Hyper-V. Jeśli nie kontrolujesz infrastruktury Hyper-V, wydajność maszyn wirtualnych może ulec pogorszeniu.

Aby zapobiec temu ryzyku, możesz użyć następujących funkcji:

  • Kontrole zasobów maszyn wirtualnych
  • Zasób hosta
  • DHCP Guard
  • Router Guard

Aby utrzymać wysoką wydajność maszyn wirtualnych, w tym wpisie skupię się na tym, jak kontrolować zasoby hosta Hyper-V i jak izolować zasoby maszyn wirtualnych.

Kontrola zasobów maszyn wirtualnych

Grupy CPU są zarządzane za pomocą usługi Hyper-V Host Compute Service. Usługa Hyper-V Host Computer Service jest znana jako „HCS”. Aby kontrolować zasoby, należy utworzyć grupy CPU, a można nimi zarządzać za pomocą prostego narzędzia o nazwie „CPUGroups”.

Narzędzie CPU Groups można pobrać z Centrum pobierania firmy Microsoft: https://go.microsoft.com/fwlink/?linkid=865968.

To narzędzie pomoże Ci odkryć topologię CPU hosta i zarządzać grupami CPU. Należy pamiętać, że interfejsy zarządzania Hyper-V Manager, WMI i PowerShell nie obsługują grup CPU. Dlatego jedynym sposobem zarządzania grupą CPU jest użycie narzędzia „CPUGroups”. Ta funkcja została wprowadzona w systemie Windows Server 2016.

CPUGroups pomoże Ci przydzielić zasoby obliczeniowe do maszyny wirtualnej na podstawie limitu klasy. Możesz również ustawić określone mapowanie powinowactwa procesora logicznego (LP), aby mieć wyłączny dostęp do wszystkich LP w CPUGroup. Jest to interesujące, jeśli chcesz uzyskać wydajność dla określonej maszyny wirtualnej.

Składnia jest bardzo prosta. Uruchom CpuGroups.exe i dodaj jeden z następujących parametrów:

GetCpuTopology: Drukuje topologię procesora hosta.

Topologia procesora

GetGroups: Drukuje istniejące grupy CPU i ich konfiguracje. W tym przykładzie nie mam jeszcze żadnych grup CPU na moim hoście Hyper-V.

Pokazuje istniejące grupy procesora

GetGroups z GroupId: Drukuje pojedynczą grupę procesorów, używając GroupId jako filtra

Grupa procesorów przy pomocy GroupId

CreateGroup: Utwórz nową grupę CPU. Microsoft użył liczby szesnastkowej dla numeru ID grupy. Nie możesz mieć zduplikowanych liczb, więc musisz zwiększyć ostatnią wartość.

36ab08cb-3a76-4b38-992e-000000000001
36ab08cb-3a76-4b38-992e-000000000002
36ab08cb-3a76-4b38-992e-000000000003

Tworzenie nowej grupy procesorów

SetGroupProperty: Ustaw limit grupy CPU na 50%. Limit CPU zaczyna się od zera (0%) do 65536 (100%). W tym przypadku ustawiłem CpuCap na 32768, co oznacza 50%.

Limit obciążenia procesora dla grupy

SetVmGroup: Powiąż maszynę wirtualną z istniejącą grupą CPU. Użyj VmName, po którym następuje nazwa maszyny wirtualnej, oraz parametru GroupdId, po którym następuje numer GroupID

Powiązanie grupy procesora z maszyną wirtualną

DeleteGroup: Odłącz maszynę wirtualną od grupy CPU i usuń grupę. Użyj następującego numeru 36ab08cb-3a76-4b38-992e-000000000000, który jest równy NULL

Odłączenie maszyny wirtualnej od grupy procesora

CpuGroup jest bardzo interesujący i potężny, ale nie jest dobrze udokumentowany przez Microsoft. Dlatego przetestuj tę funkcję w swoim środowisku testowym przed użyciem jej w produkcji.

Zasoby Hosta Hyper-V

Dlaczego to takie ważne?

Ta funkcja zapobiegnie temu, aby Twoja maszyna wirtualna używała więcej niż przydzielone jej zasoby systemowe. Ponadto zapobiegnie to nadmiernej aktywności, która mogłaby obniżyć wydajność hosta. Pomoże to również zapobiec obniżeniu wydajności innych maszyn wirtualnych.

Jak to działa?

Podczas monitorowania, jeśli wykryje maszynę wirtualną z nadmierną aktywnością, maszyna wirtualna będzie ograniczona mniejszą ilością zasobów. Domyślnie monitorowanie jest wyłączone, ale możesz je łatwo włączyć, uruchamiając następujące polecenie programu PowerShell:

Włącznie ochrony zasobów dla Hyper-V

Aby wyłączyć to ustawienie:

Należy pamiętać, że ochronę tę można włączyć/wyłączyć tylko za pomocą programu PowerShell.

Polecenie cmdlet Set-VMProcessor konfiguruje procesory maszyny wirtualnej. Dodanie parametru „EnableHostResourceProtection” umożliwia włączenie ochrony zasobów hosta.

Inne parametry, które można użyć z poleceniem cmdlet Set-VMProcessor w celu kontrolowania maszyn wirtualnych. Przyjrzyjmy się tym parametrom:

  • CompatibilityForMigrationEnabled – konfiguruje procesor maszyny wirtualnej w celu zapewnienia zgodności podczas migracji maszyny wirtualnej na innego hosta.
  • CompatibilityForOlderOperatingSystemsEnabled – konfiguruje procesor maszyny wirtualnej w celu zapewnienia zgodności ze starszymi systemami operacyjnymi.
  • Maximum – konfiguruje maksymalny procent zasobów dostępnych dla procesora maszyny wirtualnej. Zakres dozwolonych wartości można ustawić od 0 do 100.
  • MaximumCountPerNumaNode – określa maksymalną liczbę procesorów na węzeł NUMA.
  • MaximumCountPerNumaSocket – określa maksymalną liczbę gniazd na węzeł NUMA.
  • RelativeWeight – ustawia priorytet przydzielania mocy obliczeniowej komputera fizycznego do maszyny wirtualnej w stosunku do innych. Zakres dozwolonych wartości można ustawić od 1 do 10000.
  • Reserve – konfiguruje procent zasobów procesora, które mają być zarezerwowane dla tej maszyny wirtualnej. Zakres dozwolonych wartości można ustawić od 0 do 100.

DHCP Guard

DHCP Guard to funkcja bezpieczeństwa, która pojawia się w systemie Windows Server 2012 i nowszych. Funkcja ta może być używana do zabezpieczania infrastruktury Hyper-V, zapobiegając w ten sposób złośliwym maszynom wirtualnym pełniącym rolę serwerów DHCP w sieci.

DHCP Guard nie jest domyślnie włączona. Zasadniczo DHCP Guard odrzuca komunikaty serwera DHCP z nieautoryzowanych maszyn wirtualnych udających serwery DHCP. Nawet jeśli włączysz tę funkcję, to ustawienie nie wpływa na możliwość otrzymywania oferty DHCP. To ustawienie po prostu zablokuje maszynom wirtualnym działanie jako serwerom DHCP.

Jest ona również niezwykle przydatna, jeśli serwer DHCP jest podłączony do wielu sieci wirtualnych. W takim przypadku możesz upewnić się, że oferty DHCP są dostarczane tylko na określonym interfejsie.

Aby skonfigurować to ustawienie, możesz użyć konsoli menedżera Hyper-V lub programu Windows PowerShell.

Aby włączyć za pomocą interfejsu graficznego, kliknij prawym przyciskiem myszy maszynę wirtualną i wybierz Ustawienia:

Włączenie DHCP Guard

Aby skonfigurować funkcję DHCP Guard za pomocą programu PowerShell, należy użyć polecenia cmdlet Set-VMNetworkAdapter dla VM DC_2019_GP, a następnie parametru DHCPGuard:

Następnie możesz wyłączyć ochronę DHCP na wybranej maszynie wirtualnej:

Należy pamiętać, że funkcję DHCPGuard można włączyć również na wszystkich maszynach wirtualnych:

Aby włączyć tę funkcję na konkretnym interfejsie sieciowym:

A jak z wydajnością?

Microsoft poinformował, że wpływ tej opcji na wydajność jest minimalny, więc można bezpiecznie włączyć to ustawienie na jednej lub większej liczbie maszyn wirtualnych.

Router Guard

Router Guard jest bardzo podobny do DHCP Guard. Ta funkcja zapobiega niekontrolowanemu używaniu maszyn wirtualnych jako routerów w infrastrukturze Hyper-V.

Wyobraźmy sobie, że masz maszynę wirtualną podłączoną do wielu sieci wirtualnych. W takim przypadku, jeśli chcesz, aby ta maszyna wirtualna mogła nadawać tylko w określonej sieci wirtualnej, powinieneś włączyć Router Guard. Ta funkcja jest dostępna z węzła Network Adapter Advanced Features w ustawieniach maszyny wirtualnej.

Aby włączyć tę funkcję za pomocą GUI, kliknij prawym przyciskiem myszy swoją maszynę wirtualną, a następnie kliknij Ustawienia:

Router Guard

Aby włączyć tę funkcję za pomocą programu Windows PowerShell:

Funkcja ta odrzuca następujące pakiety:

  • ICMPv4 Type 5
  • ICMPv4 Type 9
  • ICMPv6 Type 134
  • ICMPv6 Type 137

Podsumowanie

W tym wpisie pokazałem kilka rozwiązań, które znacząco wpływają na bezpieczeństwo danych dla maszyn wirtualnych działających w Hyper-V. Dzięki tym funkcjom możemy teraz zarządzać naszymi hostami Hyper-V w bezpieczny sposób, kontrolując zasoby. Jest to pomocne dla administratorów Hyper-V w zabezpieczaniu ich środowiska Hyper-V bez dużego wpływu na wydajność.


Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.

Link do formularza tutaj: https://beitadmin.pl/pomysly

Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).

Dodaj komentarz

beitadmin.pl - Droga Administratora IT