20 najlepszych wskazówek dotyczących poprawy wydajności maszyn wirtualnych Hyper-V
Każdy system jest od czasu do czasu podatny na błędy i awarie, a użytkownicy nieustannie poszukują sposobów na poprawę wydajności swojej infrastruktury wirtualnej. W tym wpisie na blogu omówimy, w jaki sposób problemy z wydajnością mogą wpływać na środowisko Hyper-V oraz jakie są sposoby na poprawę wydajności maszyn wirtualnych (VM).
W tym wpisie na blogu zebraliśmy listę 20 wskazówek, które można wykorzystać do optymalizacji i poprawy wydajności maszyn wirtualnych w środowisku Hyper-V. Czytaj dalej, aby dowiedzieć się, jak działa technologia wirtualizacji Hyper-V, jakie problemy najczęściej wpływają na wydajność maszyn wirtualnych Hyper-V oraz w jaki sposób NAKIVO Backup & Replication może pomóc w ochronie środowiska wirtualnego.
Jak działa Hyper-V
Hyper-V to oprogramowanie do wirtualizacji opracowane przez firmę Microsoft, które umożliwia tworzenie i uruchamianie zwirtualizowanych kopii komputerów, zwanych maszynami wirtualnymi (VM). Pojedynczy host Hyper-V może jednocześnie obsługiwać wiele maszyn wirtualnych, działających w izolacji względem siebie. Ponadto wszystkie maszyny wirtualne współdzielą zasoby sprzętowe jednego serwera hosta, w tym pamięć, procesory, a także urządzenia magazynu i sieciowe. W ten sposób zasoby sprzętowe mogą być efektywnie wykorzystywane i łatwo przydzielane do maszyn wirtualnych, które najbardziej ich potrzebują.
Hyper-V jest dostępny jako rola serwera w systemach Windows Server i Windows (2008 i nowszych) lub jako bezpłatny, samodzielny produkt (Hyper-V Server), który ma ograniczoną funkcję i oferuje wyłącznie interfejs wiersza poleceń.
Jeśli chcesz dowiedzieć się więcej, przeczytaj nasz wpis na blogu pod adresem Jak zainstalować Hyper-V Server na komputerze.
Typowe problemy z Hyper-V
Mimo że Hyper-V jest bardzo zaawansowaną platformą wirtualizacji serwerów, nadal mogą wystąpić pewne problemy z wydajnością. Największe prawdopodobieństwo awarii i wynikających z niej problemów z wydajnością maszyn wirtualnych dotyczy następujących komponentów systemu:
- Procesor (np. przeciążenie procesorów logicznych lub wirtualnych, opóźnienia procesora)
- Pamięć (np. nadmierne przydzielenie pamięci, brak pamięci RAM, niepowodzenie w uruchomieniu maszyn wirtualnych)
- Sieć (np. hosty i maszyny wirtualne ograniczone przez sieć, nierównowaga zasobów sieciowych)
- Pamięć masowa (np. opóźnienia dyskowe, marnotrawstwo fizycznej przestrzeni dyskowej, niska przepustowość operacji wejścia/wyjścia)
Są to komponenty sprzętowe, które należy ściśle monitorować i którym należy poświęcić uwagę w przypadku wykrycia jakiejkolwiek nietypowej aktywności.
Większość problemów wynika z niewłaściwego wykorzystania dostępnych zasobów. Host Hyper-V dysponuje ograniczoną ilością zasobów sprzętowych i programowych, które może wykorzystywać i dzielić między maszyny wirtualne działające na nim. Dlatego bardzo ważne jest, aby zwracać baczną uwagę na to, ile maszyn wirtualnych działa jednocześnie na hoście Hyper-V, w jaki sposób zużywają one dostępne zasoby oraz czy są one nadmiernie lub niedostatecznie przydzielone. Wszystkie te czynniki razem mogą wpływać na efektywność i niezawodność działania maszyn wirtualnych.
Kluczowym aspektem optymalizacji i monitorowania wydajności jest zrozumienie rzeczywistego obciążenia infrastruktury wirtualnej oraz ilości zasobów potrzebnych do obsługi takiego obciążenia. W ten sposób można zidentyfikować potencjalne zagrożenia i wąskie gardła, które mogą negatywnie wpływać na wydajność maszyn wirtualnych. Podstawową wskazówką dotyczącą poprawy wydajności Hyper-V jest unikanie tworzenia i uruchamiania zbyt dużej liczby maszyn wirtualnych na jednym hoście oraz minimalizowanie niepotrzebnego zużycia zasobów w środowisku wirtualnym.
20 sposobów na poprawę wydajności maszyn wirtualnych w środowisku Hyper-V
W poniższej sekcji omówimy, w jaki sposób kilka prostych ustawień może pomóc w poprawie wydajności maszyn wirtualnych w środowisku Hyper-V.
Aby poprawić wydajność maszyn wirtualnych, można wykonać następujące czynności:
1. Włącz usługi integracji Hyper-V
Usługi integracji Hyper-V stanowią zestaw specjalnych sterowników i narzędzi zaprojektowanych w celu poprawy wydajności systemów operacyjnych gości (OS) działających w maszynie wirtualnej Hyper-V. Aby osiągnąć optymalne wyniki, zaleca się włączenie usług integracji Hyper-V zarówno na hoście Hyper-V, jak i we wszystkich systemach operacyjnych gości. Należy pamiętać, że wszystkie usługi integracji Hyper-V (z wyjątkiem usług gościa) są domyślnie dostępne w nowszych systemach operacyjnych Windows. Jeśli jednak maszyna wirtualna działa pod kontrolą systemu Linux lub starszych wersji systemu Windows, lepiej sprawdzić, czy usługi integracji są automatycznie włączone w tych systemach operacyjnych gościa. Jeśli nie, należy je zainstalować ręcznie.

2. Użyj plików VHD o stałym rozmiarze
Dyski o stałym rozmiarze i dyski rozszerzające się dynamicznie zostały zaprojektowane do konkretnych celów. Podczas tworzenia nowego wirtualnego dysku twardego pojawia się prośba o wybranie typu dysku, jaki chcesz mieć. Aby dokonać właściwego wyboru, należy najpierw rozważyć, w jaki sposób będzie on wykorzystywany w środowisku wirtualnym. Dyski o stałym rozmiarze zapewniają lepszą wydajność i są zalecane dla serwerów obsługujących aplikacje o wysokim poziomie aktywności dyskowej. Dyski rozszerzające się dynamicznie zapewniają lepsze wykorzystanie fizycznej przestrzeni dyskowej i są zalecane dla serwerów obsługujących aplikacje, które nie są zbyt wymagające pod względem zasobów.
Miejsce na dysku o stałym rozmiarze jest przydzielane podczas tworzenia pliku wirtualnego dysku twardego i nie zmienia się po dodaniu lub usunięciu danych. Miejsce na dysku rozszerzanym dynamicznie jest przydzielane w miarę potrzeb, a jego rozmiar zmienia się po dodaniu lub usunięciu danych.
Dlatego dyski rozszerzane dynamicznie powinny być używane w środowiskach testowych i w środowiskach wdrażania, podczas gdy dyski o stałym rozmiarze sprawdzają się lepiej w środowiskach produkcyjnych.
3. Nie należy używać migawek Hyper-V jako alternatywy dla kopii zapasowych e
Migawki Hyper-V (znane również jako punkty kontrolne Hyper-V) nigdy nie powinny być używane jako kopie zapasowe, ponieważ okazały się najbardziej skuteczne w środowiskach testowych i programistycznych. Załóżmy, że chcesz zainstalować poprawki i aktualizacje w swoim systemie, ale nie masz pewności, jak może to wpłynąć na infrastrukturę wirtualną. W takim przypadku tworzenie migawek Hyper-V pozwala przetestować zmiany i przywrócić poprzedni stan w razie niepowodzenia.
W odróżnieniu od kopii zapasowych migawki Hyper-V są przechowywane w produkcyjnym magazynie danych wraz z dyskami twardymi maszyn wirtualnych, co sprawia, że są one zależne od maszyny wirtualnej. Jeśli maszyna wirtualna ulegnie uszkodzeniu lub zostanie usunięta, migawki Hyper-V również zostaną utracone. Kopia zapasowa jest bardziej niezawodną opcją ochrony danych, ponieważ działa jako spójna i niezależna kopia maszyny wirtualnej, którą można łatwo przenieść i przechowywać w zdalnej lokalizacji.

4. Skonfiguruj rozmiar plików stronicowania
Pagefile.sys to plik stronicowania systemu Windows używany do zarządzania pamięcią wirtualną i radzenia sobie z niedoborami pamięci. Gdy w systemie zaczyna brakować pamięci fizycznej, można uzyskać dostęp do dodatkowej pamięci RAM poprzez wykorzystanie plików stronicowania. Chociaż może się to wydawać dobrym pomysłem, korzystanie z pliku stronicowania może czasami wpływać na wydajność maszyny wirtualnej. Dlatego zaleca się zwiększenie rozmiaru pliku stronicowania systemu Windows oraz ustawienie jego wartości minimalnej i maksymalnej na poziom trzykrotnie wyższy od ilości posiadanej pamięci RAM.
5. Nie twórz zbyt wielu przełączników sieci wirtualnych
Możesz ulec pokusie, by utworzyć wiele przełączników sieci wirtualnych, które byłyby wykorzystywane do różnych celów. W rzeczywistości użycie zbyt wielu przełączników wirtualnych w jednej sieci może powodować obciążenie procesora. Aby poprawić wydajność maszyn wirtualnych, zaleca się utworzenie tylko jednego przełącznika sieci wirtualnej i wykorzystywanie go w różnych przypadkach użycia. Przeczytaj nasz wpis na blogu, aby dowiedzieć się Jak działa wirtualizacja sieci w Hyper-V i jakie komponenty powinny znaleźć się w skutecznej infrastrukturze sieci wirtualnej.
6. Unikaj przeciążania systemu operacyjnego zarządzania
System operacyjny zarządzania jest przeznaczony do uruchamiania maszyn wirtualnych, oprogramowania do tworzenia kopii zapasowych oraz oprogramowania antywirusowego. To wszystko! Wszystko, co nie spełnia tych kryteriów, powinno działać na maszynach wirtualnych. Unikaj również tworzenia zbyt wielu maszyn wirtualnych na tym samym hoście Hyper-V, jeśli nie planujesz korzystać z nich wszystkich. Jeśli okaże się, że niektóre z Twoich maszyn wirtualnych nie są już używane i nie pełnią żadnej praktycznej funkcji w Twoim środowisku wirtualnym, lepiej je usunąć, aby nie zużywały już dostępnych zasobów sprzętowych i nie przeciążały hosta Hyper-V.
7. Zamknij niepotrzebne aplikacje
Podczas pracy z wieloma maszynami wirtualnymi jednocześnie monitorowanie każdej otwartej aplikacji może być trudne. Jeśli jednak pozostawisz je uruchomione zbyt długo, zaczną one zużywać dostępne zasoby systemowe, co ostatecznie wpłynie na ogólną wydajność maszyny wirtualnej. Pamiętaj, aby zamknąć okno połączenia z maszyną wirtualną ( Menedżer Hyper-V) oraz wszelkie inne okna aplikacji, gdy zakończysz zadanie i nie są one już potrzebne. Jest to prosty, ale skuteczny sposób na poprawę wydajności maszyny wirtualnej.
8. Zainstaluj Hyper-V na Windows Server Core
Jedną z najbardziej powszechnie akceptowanych porad na tej liście jest zainstalowanie Hyper-V na Windows Server Core ze względu na wiele korzyści, jakie może to zapewnić. W porównaniu z systemem Windows Server z interfejsem graficznym, staje się jasne, że Windows Server Core zajmuje mniej miejsca i ma mniejszą powierzchnię ataku. W rezultacie zużywa mniej zasobów sprzętowych, a cały system ma mniej luk w zabezpieczeniach. Zaoszczędzone zasoby można teraz wykorzystać do udostępniania maszyn wirtualnych działających w systemie, co może znacznie poprawić wydajność maszyn wirtualnych w środowisku Hyper-V.

9. Określ poziom bazowy wydajności
Poziom bazowy wydajności to poziom wydajności, jaki system wykazuje w standardowych warunkach. Zaleca się wcześniejsze ustalenie poziomu bazowego wydajności. W ten sposób można zidentyfikować, czy nastąpiły zmiany w zużyciu zasobów, monitorować ogólną wydajność maszyn wirtualnych oraz szybko reagować na wszelkie wykryte błędy i awarie systemu.
10. Efektywne przydzielanie zasobów
Należy zdecydować, w jaki sposób zamierza się korzystać ze środowiska Hyper-V, ile maszyn wirtualnych planuje się utworzyć oraz do jakich celów będą one uruchamiane. Następnie należy określić, ile zasobów sprzętowych i programowych jest dostępnych oraz w jaki sposób można je efektywnie przydzielić, aby osiągnąć maksymalną wydajność maszyn wirtualnych. Ponadto po utworzeniu maszyn wirtualnych i przypisaniu im dostępnych zasobów należy uważnie monitorować obciążenie każdej maszyny wirtualnej i wyeliminować ewentualne nadmierne lub niedostateczne przydzielenie zasobów.
11. Włącz wielodrożny wlot/wylot (MPIO)
Wielodrożny wlot/wylot (MPIO) może zapewnić szereg redundantnych ścieżek danych między urządzeniami pamięci masowej a serwerem, co w rezultacie może poprawić równoważenie obciążenia i zapewnić wysoką dostępność środowiska Hyper-V. Zaleca się włączenie tej funkcji w środowisku produkcyjnym, zwłaszcza jeśli pracujesz z dużymi ilościami danych. W przypadku awarii połączenia MPIO wykorzystuje alternatywną ścieżkę, aby zapewnić dalszy transfer danych.

12. Korzystanie z funkcji Dynamic Memory
Funkcja Dynamic Memory pozwala na dodanie większej ilości zasobów pamięci do maszyny wirtualnej, gdy system operacyjny gościa jest aktywnie uruchomiony i potrzebuje więcej pamięci RAM. Z drugiej strony, jeśli system operacyjny gościa jest wyłączony i nie wymaga dużej ilości zasobów do zapewnienia wydajności maszyny wirtualnej, Hyper-V może odzyskać niewykorzystane zasoby i przydzielić je innym uruchomionym maszynom wirtualnym. Ponadto można skonfigurować funkcję Dynamic Memory, przypisując konkretną maksymalną i minimalną ilość pamięci RAM dostępnej dla danej maszyny wirtualnej.

Należy pamiętać, że po włączeniu funkcji Dynamic Memory w Hyper-V zaleca się zmianę domyślnych ustawień pamięci i skonfigurowanie wartości Dynamic Memory dla każdej maszyny wirtualnej w oparciu o jej aktualne obciążenie. Aby uzyskać więcej informacji i zaleceń, przeczytaj nasz wpis na blogu pod adresem Najlepsze rozwiązania dotyczące pamięci dynamicznej Hyper-V.
13. Włącz tagowanie VLAN
Sieci VLAN mogą być wykorzystywane do umożliwienia komunikacji sieciowej za pośrednictwem dostępnych kart sieciowych. Dodając specjalne tagi VLAN, można zidentyfikować, który pakiet należy do której wirtualnej sieci LAN, i ułatwić zarządzanie siecią w systemie.

Tagowanie VLAN jest przydatną funkcją, ponieważ pozwala zgrupować wielu użytkowników w tej samej sieci VLAN i dokładnie monitorować ich wydajność. Ponadto tagowanie sieci VLAN może poprawić bezpieczeństwo środowiska wirtualnego, ponieważ umożliwia określenie, którzy użytkownicy mają dostęp do określonych sieci.
14. Defragmentacja wirtualnych dysków twardych
Fragmentacja występuje, gdy zawartość pojedynczego pliku jest przechowywana w różnych sektorach dysku. W rezultacie przestrzeń dyskowa jest niewłaściwie wykorzystywana, co wpływa na wydajność maszyn wirtualnych. Aby zapobiec występowaniu takich problemów i poprawić wydajność maszyn wirtualnych, zaleca się defragmentację wirtualnych dysków twardych. Operacja ta pozwala na reorganizację dostępnych plików i aplikacji, identyfikację ilości niewykorzystanej przestrzeni dyskowej oraz ochronę dostępnych zasobów przed nadmiernym zużyciem.
15. Upewnij się, że sprzęt posiada certyfikaty
Aby zagwarantować, że infrastruktura wirtualna będzie działać bez opóźnień i przerw, należy korzystać z komponentów sprzętowych i programowych, które zostały certyfikowane przez firmę Microsoft i są w pełni obsługiwane w środowisku Hyper-V. Aby sprawdzić, czy wybrany komponent sprzętowy lub programowy jest faktycznie certyfikowany i może być używany w Twoim środowisku, odwiedź stronę Microsoft Katalog Windows Server i znajdź wymagane informacje.
16. Używaj woluminów RAID 10
RAID (nadmiarowa macierz niezależnych dysków) to podejście polegające na przechowywaniu danych w różnych obszarach na kilku dyskach twardych, co może poprawić nadmiarowość danych i odporność magazynu na awarie. RAID 10 stanowi połączenie macierzy RAID 1 (dźwiganie dysków) i RAID 0 (rozłożenie danych na dyskach), co pozwala czerpać korzyści z obu tych typów macierzy. Do utworzenia macierzy RAID 10 wymagane są co najmniej 4 dyski, co ostatecznie umożliwia bezpieczną ochronę danych i łatwe ich odzyskanie w przypadku awarii dysku.
17. Wdrażanie 64-bitowych systemów operacyjnych gości i maszyn wirtualnych generacji 2
W wielu przypadkach zaleca się wybór 64-bitowego systemu operacyjnego gościa zamiast 32-bitowego, ponieważ zapewnia on dodatkową przestrzeń pamięci. Dlatego jeśli chcesz zwiększyć ogólną prędkość pamięci i poprawić wydajność maszyny wirtualnej, lepiej wdrożyć 64-bitowy system operacyjny, choć nie jest to obowiązkowe.
Ponadto zaleca się tworzenie maszyn wirtualnych generacji 2, ponieważ zostały one zaprojektowane z uwzględnieniem hiperwizora i, w przeciwieństwie do maszyn wirtualnych pierwszej generacji, nie opierają się na sprzęcie emulowanym ani syntetycznym. Maszyny wirtualne generacji 2 mogą zapewnić wyższy poziom bezpieczeństwa dzięki funkcji Secure Boot i modułowi Trusted Platform Module, oferują więcej opcji uruchamiania, a w rezultacie znacznie poprawiają wydajność maszyn wirtualnych.
18. Prawidłowo skonfiguruj oprogramowanie antywirusowe
Jeśli zdecydowałeś się zbudować środowisko Hyper-V, kluczowe znaczenie ma również zadbanie o jego bezpieczeństwo. W tym celu można zainstalować program antywirusowy lub inne oprogramowanie chroniące przed złośliwym oprogramowaniem, które wyszukuje i wykrywa wszelkie złośliwe działania w infrastrukturze, a także zapobiega zainfekowaniu całego systemu.
Jednakże, jeśli program antywirusowy nie jest prawidłowo skonfigurowany, istnieje ryzyko, że będzie on zakłócał krytyczne procesy i operacje wykonywane w systemie. W związku z tym należy zmienić domyślne ustawienia programu antywirusowego i wykluczyć określone pliki oraz aplikacje z regularnych skanowań antywirusowych.
Typy plików, które nie powinny być uwzględniane w regularnych skanowaniach antywirusowych to: .vhd, .vhdx, .avhd, .avhdx, .vsv, .iso, .rct, .vmcx, .vmrs. Jeśli jednak chcesz zagwarantować bezpieczeństwo konkretnej maszyny wirtualnej Hyper-V, zaleca się zainstalowanie programu antywirusowego na wybranej maszynie wirtualnej i uruchomienie w niej skanowania podatności.
19. Organizuj obciążone maszyny wirtualne w oddzielnych woluminach
Umieszczenie kilku maszyn wirtualnych obsługujących duże obciążenie w tym samym woluminie pamięci masowej może wpłynąć na bieżące operacje we/wy i ogólnie obniżyć wydajność maszyn wirtualnych. Aby uniknąć tego problemu, zaleca się przechowywanie obciążonych maszyn wirtualnych w oddzielnych woluminach, tak aby miały one wystarczającą ilość miejsca na przechowywanie wirtualnych dysków twardych i plików konfiguracyjnych maszyn wirtualnych, a także wystarczające zasoby sprzętowe do obsługi dużych obciążeń.
20. Automatyzacja zadań za pomocą poleceń cmdlet PowerShell
Główną zaletą korzystania z poleceń cmdlet PowerShell jest to, że umożliwiają one automatyzację określonych zadań, zapewniając tym samym większą elastyczność podczas zarządzania środowiskami Hyper-V. Chociaż popularne narzędzia Narzędzia do zarządzania Hyper-V (Hyper-V Manager lub SCVMM) posiadają interfejs graficzny, ich możliwości w zakresie zarządzania hostami Hyper-V i maszynami wirtualnymi są ograniczone.
Niektóre funkcje wirtualizacji można włączyć i skonfigurować wyłącznie za pomocą PowerShell. Dlatego nie należy lekceważyć możliwości poleceń cmdlet programu PowerShell. Gdy już opanujesz obsługę tych skryptów, możesz przenieść wydajność maszyn wirtualnych Hyper-V na zupełnie nowy poziom i zmienić sposób zarządzania środowiskiem Hyper-V.