Pełny przegląd problemów związanych z wydajnością maszyn wirtualnych VMware

Problemy sprzętowe i programowe mogą czasami powodować spadek wydajności maszyn wirtualnych. Może to ograniczyć wygodę użytkowania i elastyczność środowiska wirtualnego. Przeczytaj ten wpis na blogu, aby poznać sposoby poprawy wydajności maszyn wirtualnych VMware w przypadku ich spowolnienia. Dowiedz się, jakie są najczęstsze przyczyny spadku wydajności maszyn wirtualnych, oraz poznaj możliwe rozwiązania tych problemów.

NAKIVO – tworzenie kopii zapasowej dla VMware vSphere

NAKIVO – tworzenie kopii zapasowej dla VMware vSphere

Kompleksowa ochrona danych dla maszyn wirtualnych VMware vSphere oraz opcje natychmiastowego odzyskiwania. Bezpieczne lokalizacje kopii zapasowych na miejscu, zdalnie oraz w chmurze. Funkcje ochrony przed oprogramowaniem wymuszającym okup.

Powody, dla których warto poprawić wydajność maszyn wirtualnych

Przyjrzyjmy się głównym powodom, dla których warto przeprowadzić diagnostykę i poprawić wydajność maszyn wirtualnych:

  • Wydajność maszyny wirtualnej jest niższa niż wydajność identycznej maszyny wirtualnej na innym hoście.
  • Aplikacje działają wolniej niż powinny. Jednak po przeniesieniu maszyny wirtualnej na inny host wydajność aplikacji wraca do normy.
  • Uruchamianie aplikacji zajmuje dużo czasu.
  • Uruchomione aplikacje nie odpowiadają.
  • Wykorzystanie procesora, pamięci lub dysku wynosi 100%.

Procesor i pamięć

Niewystarczające zasoby sprzętowe należą do najczęstszych przyczyn niskiej wydajności maszyn wirtualnych. Jeśli nie zapewnisz maszynie wirtualnej wystarczających zasobów procesora, oprogramowanie w niej działające może działać wolno i z opóźnieniami. Aby to naprawić, skonfiguruj maszynę wirtualną tak, aby korzystała z większej liczby rdzeni procesora lub dodaj więcej procesorów wirtualnych. Rozważ również modernizację sprzętu komputera hosta, jeśli masz stary procesor o małej liczbie rdzeni, małej pamięci podręcznej i niskiej częstotliwości taktowania.

Ustawiając ilość pamięci RAM dla maszyny wirtualnej, upewnij się, że ta ilość pamięci RAM jest wystarczająca dla maszyny wirtualnej. Jednocześnie musi być wystarczająca ilość pamięci RAM dla komputera hosta. Jeśli nie zapewnisz maszynie wirtualnej wystarczającej ilości pamięci, system operacyjny gościa (OS) będzie intensywnie korzystał z plików wymiany, co spowoduje spowolnienie ogólnej wydajności maszyny wirtualnej. Jeśli przydzielisz maszynie wirtualnej dużą ilość pamięci, nie pozostawiając wystarczającej ilości dla systemu operacyjnego hosta, wówczas to system operacyjny hosta zacznie korzystać z plików wymiany. Prowadzi to do spadku wydajności systemu operacyjnego i aplikacji. Co więcej, w tym przypadku pogarsza się również wydajność maszyny wirtualnej. Nie przydzielaj maszynie wirtualnej zbyt dużej ilości pamięci, a jednocześnie pozostaw jej część dla komputera hosta. Zawsze zapewnij komputerowi hosta wystarczającą ilość pamięci.

Zapoznaj się z wymaganiami systemowymi swojego systemu operacyjnego i aplikacji. Rozważmy przykład. Komputer hosta ma 8 GB pamięci i działa pod kontrolą ESXi 7.0 lub Windows 10 z VMware Workstation. Na tym komputerze hosta działa maszyna wirtualna z systemem Windows Server 2019. Jeśli przydzielisz 4 GB pamięci RAM maszynie wirtualnej z systemem Windows Server 2019, dla systemu operacyjnego hosta pozostaje 4 GB pamięci RAM. To wystarcza do prawidłowego działania zarówno systemu operacyjnego hosta, jak i systemu operacyjnego gościa (bez uruchamiania dodatkowych aplikacji, które zużywają zasoby). Stosunek wynosi 1:2 (4 GB/8 GB), a 1/2–1 = –0,5 to aktualna średnia wartość nadmiarowego przydziału pamięci . Jeśli przydzielisz 2 GB pamięci RAM maszynie wirtualnej z systemem Windows Server 2019, w tym przypadku wydajność maszyny wirtualnej będzie niska. Jeśli przydzielisz 6 GB pamięci RAM dla maszyny wirtualnej z systemem Windows Server 2019, ilość pamięci dla komputera hosta okaże się niewystarczająca, co spowoduje spowolnienie działania zarówno maszyn fizycznych, jak i wirtualnych.

Jeśli na maszynach wirtualnych uruchamiasz aplikacje o dużym zapotrzebowaniu na zasoby, takie jak bazy danych, dostosuj konfigurację maszyn wirtualnych i odpowiednio zwiększ zasoby Procesora oraz pamięci.

Nadmierne przydzielenie pamięci to sytuacja, w której łączny przydział zasobów przekracza ich pojemność. Jeśli posiadasz host z 8 GB pamięci RAM i uruchamiasz pięć maszyn wirtualnych skonfigurowanych do korzystania z 2 GB pamięci RAM każda, wszystkie maszyny wirtualne oraz maszyna hosta mogą wykazywać niską wydajność, ponieważ pamięć jest nadmiernie przydzielona (jeśli wszystkie maszyny wirtualne intensywnie korzystają z pamięci). Jeśli niektóre maszyny wirtualne działają, ale są słabo obciążone, pamięć jest wykorzystywana przede wszystkim przez maszyny wirtualne o dużym obciążeniu, ponieważ ESXi optymalizuje wykorzystanie pamięci. Nadmierne przydzielanie pamięci ma sens w środowiskach testowych.

Należy również sprawdzić funkcję ballooningu pamięci oraz jej konfigurację w celu odzyskania niewykorzystanej pamięci z maszyn wirtualnych, co pozwala na efektywne wykorzystanie pamięci fizycznej. Czasami funkcja ta może wpływać na wydajność maszyny wirtualnej, gdy musi ona używać dysku jako przestrzeni wymiany.

Nadmierne przydzielanie procesora . VMware udostępnia techniki racjonalnego wykorzystania zasobów, umożliwiające przydzielenie maszynom wirtualnym większej liczby procesorów wirtualnych niż wynosi liczba fizycznych rdzeni procesora na hoście. Parametr nadmiernego przydziału procesora (CPU overcommitment) to stosunek liczby procesorów wirtualnych przypisanych do maszyn wirtualnych do liczby fizycznych rdzeni procesora na hoście. Jeśli wartość wynosi 3:1 – nie ma powodu do obaw. Jeśli wartość wynosi 5:1, wydajność maszyn wirtualnych ulega pogorszeniu. Jeśli wartość nadmiernego przydziału procesora wynosi 6:1 lub więcej, maszyny wirtualne działają wolno, co może powodować wiele problemów.

Jak rozwiązać problemy związane z procesorem i pamięcią?

Rozważ modernizację sprzętu i dodanie większej ilości pamięci RAM do maszyna fizyczna , na którym uruchamiane są maszyny wirtualne. Postaraj się zapewnić wystarczającą ilość pamięci, aby zapobiec korzystaniu z plików wymiany przez systemy operacyjne hosta i gości. Unikaj nadmiernego przydzielania pamięci.

Czasami funkcje zarządzania energią procesora mogą powodować niską wydajność maszyn wirtualnych. Spróbuj je wyłączyć.

Sprawdź wolne zasoby procesora i pamięci na hoście.

W systemie ESXi uruchom to polecenie w wiersz poleceń , aby sprawdzić, czy serwer jest przeciążony:

esxtop

VM-performance-monitoring-in-the-ESXi-command-line

Sprawdź parametr średniego obciążenia .

1,0 – oznacza, że procesor jest w pełni wykorzystany

0,5 – oznacza, że procesor jest wykorzystany w połowie (50%)

2,0 – oznacza, że procesor jest dwukrotnie przeciążony i należy podjąć odpowiednie działania

Naciśnij te klawisze, aby zmienić widok: c – metryki procesora (domyślnie wyświetlane), m – pamięć, n – sieć, d – dysk. Naciśnij spację, aby zaktualizować wyświetlane wartości (wartości są aktualizowane automatycznie co 5 sekund). Naciśnij h , aby wyświetlić pomoc, i q , aby zakończyć.

Sprawdź parametr MEM overcommit avg , aby przeanalizować użycie pamięci w ESXi. Wartość MEM overcommit avg to stosunek żądanej pamięci do dostępnej pamięci pomniejszony o 1. Zalecana wartość tego parametru to 0 lub mniej.

Jeśli używasz VMware Workstation zainstalowanego w systemie Linux lub Windows do uruchamiania maszyn wirtualnych, korzystaj ze standardowych narzędzi do monitorowania systemu dostępnych w Twoim systemie operacyjnym.

Sprawdź użycie procesora i pamięci w systemie operacyjnym gościa. Niektóre aplikacje mogą nie działać prawidłowo i zużywać wszystkie zasoby procesora (rdzenia procesora). Sprawdź uruchomione procesy i znajdź ten, który obciąża procesor. Sprawdź temperaturę procesorów fizycznych na hoście, ponieważ zbyt wysoka temperatura (powyżej 80 °C) powoduje problemy z wydajnością i stanowi zagrożenie dla procesora (procesor może ulec uszkodzeniu).

Zmodernizuj sprzęt – zainstaluj wydajniejszy procesor lub większą liczbę procesorów na hoście. Sprawdź konfigurację maszyn wirtualnych. Jeśli liczba procesorów wirtualnych przypisanych maszynom wirtualnym jest większa niż wymagana, zmniejsz ją, aby zwolnić zasoby hosta.

W VMware vSphere możesz użyć klastra DRS (Harmonogram zasobów rozproszonych), aby migrować maszyny wirtualne z przeciążonego hosta ESXi na host ESXi, który ma wolne zasoby sprzętowe.

Problemy z dyskami

Niska wydajność systemu magazynu powoduje niską wydajność maszyn wirtualnych, których dyski wirtualne są przechowywane w tym systemie magazynu. Opóźnienia magazynu mają krytyczne znaczenie dla wydajności maszyn wirtualnych. Spróbuj używać dysków SSD (Solid State Drive) do przechowywania maszyn wirtualnych. Jeśli nie możesz używać dysków SSD, użyj dysków HDD (Hard Disk Drive) o prędkości 7200 lub 10 000 obr./min. Dyski twarde o prędkości 5400 obr./min zapewniają bardzo niską wydajność. Zalecane jest używanie dysków z interfejsem SAS.

Jeśli używasz VMware Workstation, możesz przechowywać maszyny wirtualne na zewnętrznych dyskach SATA (eSATA) lub USB 3.0, przestrzegając powyższych zaleceń. Nie odłączaj dysku zewnętrznego, dopóki nie wyłączysz maszyny wirtualnej.

W środowiskach produkcyjnych używaj dysków typu thick, które nie zwiększają rozmiaru, lub dysków z wstępnie przydzielonym miejscem. Dyski przydzielone w trybie pełnym typu eager-zeroed zapewniają większą szybkość podczas pierwszych operacji zapisu.

Jeśli używasz dysku HDD do przechowywania maszyn wirtualnych, przeprowadź defragmentację tego fizycznego dysku lub macierzy, a także defragmentację dysku wirtualnego w ustawieniach maszyny wirtualnej. Używaj partycji, aby ograniczyć fragmentację dysku. Zainstaluj system operacyjny na jednej partycji, a pliki używane przez aplikacje (na przykład bazę danych) przechowuj na innej partycji.

Sprawdź, czy oprogramowanie układowe karty HBA (Host Bus Adapter) jest aktualne. Zaktualizuj oprogramowanie układowe karty HBA na serwerze.

Sprawdź stan dysku. Przeprowadź diagnostykę dysku i systemu plików. Jeśli dysk jest uszkodzony, natychmiast go wymień.

Sprawdź kable interfejsów (SAS, SATA).

Szyfrowanie dysku obniża wydajność z powodu obciążenia systemowego. Przenieś pliki maszyny wirtualnej do niezaszyfrowanej pamięci masowej, jeśli szyfrowanie nie jest krytyczne dla tej maszyny, lub wyłącz szyfrowanie dysku.

Używaj niezależnych (sprzętowych) kontrolerów RAID, które zapewniają wyższą wydajność i niezawodność.

Upewnij się, że na dysku wewnątrz maszyny wirtualnej jest wolne miejsce. Niewystarczająca ilość miejsca na dysku powoduje spadek wydajności, ponieważ system operacyjny i aplikacje nie mogą zapisywać plików tymczasowych.

Możesz przenieść maszynę wirtualną na inny dysk lub macierz dyskową, która nie jest przeciążona. W VMware vSphere rozważ użycie DRS i Storage DRS. Zmniejsz liczbę uruchomionych maszyn wirtualnych na tym samym LUN lub magazynie danych.

Migawki

Migawki dysków wirtualnych obniżają wydajność dysku wirtualnego. Każda migawka generuje dodatkowy plik delta VMDK dysku wirtualnego. Wykorzystywany jest mechanizm kopiowania przy zapisie (copy-on-write). Każdy plik delta VMDK zawiera różnice danych (dziennik zmian) w porównaniu z nadrzędnym plikiem VMDK, a maszyna wirtualna odczytuje wszystkie te dane podczas interakcji z dyskiem maszyny wirtualnej. W rezultacie dane są odczytywane z wielu plików dysków wirtualnych na tym samym dysku fizycznym, co obniża wydajność maszyny wirtualnej. Z tego samego powodu nie należy używać podzielonych plików VMDK dla maszyn wirtualnych w programie VMware Workstation (opcja ta została stworzona z myślą o starszych systemach plików, które nie obsługują plików większych niż 4 GB). Wraz ze wzrostem liczby migawek wzrasta obciążenie dysku. Migawki są zazwyczaj wykorzystywane do celów tymczasowych (na przykład podczas kopiowania danych w ramach zadania tworzenia kopii zapasowej lub podczas instalacji lub testowania aplikacji w maszynie wirtualnej). Należy jak najszybciej usunąć lub zatwierdzić migawki.

W programie VMware Workstation należy wyłączyć maszynę wirtualną, zamknąć program VMware Workstation, a następnie uruchomić polecenie, w którym określa się ścieżkę do istniejącego głównego pliku VMDK oraz ścieżkę do nowego pliku dysku wirtualnego:

"C:Program Files (x86)usernameVMware Workstationvmware-vdiskmanager.exe" -r

"D:VMsVM-foldervm-name.vmdk" -t 0 "D:VMsVM-folderNewDisk.vmdk"

Następnie należy ponownie skonfigurować maszynę wirtualną tak, aby korzystała z nowego dysku wirtualnego, lub utworzyć nową maszynę wirtualną i ustawić ją tak, aby korzystała z nowego skonsolidowanego dysku wirtualnego.

W systemie ESXi uruchom to polecenie, aby usunąć migawki:

vmware-cmd path_to_vmx_file removesnapshots

lub

vim-cmd vmsvc/snapshot.removeall VMID

Identyfikator maszyny wirtualnej (VMID) można wyświetlić za pomocą tego polecenia:

vim-cmd vmsvc/getallvms

Jeśli są używane, scal podzielone pliki VMDK. Wykonaj tę czynność na komputerze z systemem Windows, na którym zainstalowano VMware Workstation, używając polecenia:

"C:Program Files (x86)VMwareVMware Workstationvmware-vdiskmanager.exe" -r splitdisk.vmdk -t 0 mergeddisk.vmdk

Przechowuj dane wymagające wysokiej wydajności na szybszym dysku.

VMware Tools

Upewnij się, że w systemie operacyjnym gościa są zainstalowane VMware Tools. VMware Tools to zestaw sterowników i narzędzi służących do poprawy wydajności maszyny wirtualnej i komfortu użytkowania. Po zainstalowaniu VMware Tools zwiększa się wydajność grafiki. Mysz jest synchronizowana i działa bez opóźnień. Dzięki VMware Tools można korzystać z maszyny wirtualnej w trybie pełnoekranowym z większą wydajnością. Sprawdź, czy VMware Tools są zainstalowane.

W systemie Windows kliknij ikonę VMware Tools w obszarze powiadomień obok zegara albo przejdź do C:Program FilesVMwareVMware Tools (jest to katalog domyślny) i uruchom polecenie:

VMwareToolboxCmd.exe -v

W systemie Linux uruchom polecenie w konsoli:

vmware-toolbox-cmd -v

Sprawdź wersję VMware Tools na maszynach wirtualnych, odczytując dzienniki maszyn wirtualnych w wierszu poleceń ESXi:

grep toolbox /vmfs/volumes/datastore/vm_name/vmware.log

lub

grep build- /vmfs/volumes/datastore/vm_name/vmware.log

W programie VMware vSphere Client sprawdź, czy w systemie operacyjnym gościa działającym na maszynie wirtualnej są zainstalowane VMware Tools. Informacje o VMware Tools (stan i wersja) są wyświetlane na karcie Summary maszyny wirtualnej.

Install-VMware-Tools-to-improve-VM-performance

Problemy z siecią

Jeśli host ESXi jest połączony z magazynem danych, takim jak SAN (Storage Area Network) lub NAS (Network Attached Storage), upewnij się, że szybkość sieci jest wystarczająca i sieć nie jest przeciążona.

Aby zapewnić wysoką wydajność, w środowisku vSphere należy używać oddzielnych sieci zarządzania ESXi sieć, Sieć vMotion oraz sieci magazynu danych.

Skonfiguruj agregację łączy (NIC Teaming) na hostach ESXi korzystających z przełączniki wirtualne.

Jeśli przepustowość istniejącej sieci nie wystarcza do spełnienia wymagań, rozważ modernizację sieci. Możesz na przykład użyć kart sieciowych, przełączników i routerów o przepustowości 5 lub 10 Gb/s zamiast istniejących urządzeń 1 Gb/s.

Oprogramowanie antywirusowe

Upewnij się, że oprogramowanie antywirusowe na hoście nie skanuje plików dysków wirtualnych, ponieważ skanowanie tych plików może obniżyć wydajność maszyny wirtualnej. Możesz wykluczyć pliki VMDK z katalogów maszyn wirtualnych ze skanowania antywirusowego.

Sprawdź stan systemu operacyjnego działającego na hoście oraz systemu operacyjnego gościa. Upewnij się, że nie ma wirusów, innego złośliwego oprogramowania ani oprogramowanie wymuszające okup.

Rozważ użycie specjalnych rozwiązań antywirusowych współpracujących z VMware vShield na hostach ESXi zamiast instalowania oprogramowania antywirusowego w każdym systemie operacyjnym gościa maszyn wirtualnych. Takie podejście pozwala uzyskać lepszą wydajność i jest racjonalnym rozwiązaniem w przypadku dużych środowisk wirtualnych. Jeśli używasz vShield, skonfiguruj to oprogramowanie prawidłowo, ponieważ nieprawidłowa konfiguracja może obniżyć wydajność maszyny wirtualnej.

Problemy związane z Hyper-V

Jeśli używasz VMware Workstation 15.5 lub nowszej wersji, która obsługuje uruchamianie maszyn wirtualnych VMware, gdy funkcja Hyper-V jest zainstalowany na hoście z systemem Windows, wydajność maszyn wirtualnych VMware może być niższa. Po zainstalowaniu roli Hyper-V funkcja Hyper-V korzysta bezpośrednio z funkcji wirtualizacji procesora, takich jak Intel VT-x lub AMD-V, które nie są dostępne dla VMware Workstation z monitorem maszyn wirtualnych (VMM), który musi działać w trybie uprzywilejowanym. Ze względów zgodności VMM VMware Workstation działa w trybie użytkownika lub trybie ULM (zamiast w trybie uprzywilejowanym), ponieważ VMM nie może uzyskać dostępu do funkcji wirtualizacji sprzętowej procesora, gdy są one używane przez Hyper-V. W takim przypadku VMM korzysta z interfejsów API WHP firmy Microsoft, które działają jako dodatkowa warstwa między VMM a procesorem i obniżają wydajność maszyn wirtualnych VMware.

Odinstaluj Hyper-V i powiązane funkcje, takie jak zabezpieczenia oparte na wirtualizacji, z hosta z systemem Windows. Następnie VMM VMware Workstation działa w trybie uprzywilejowanym i korzysta bezpośrednio z funkcji wirtualizacji procesora, zapewniając wysoką wydajność. To rozwiązanie pomoże rozwiązać problem niskiej wydajności maszyn wirtualnych VMware.

Monitorowanie wydajności maszyny wirtualnej

Monitorowanie wydajności maszyny wirtualnej jest powszechnie stosowaną metodą wykrywania przeciążeń i powiązanych problemów z wydajnością. Monitorowanie wydajności maszyny wirtualnej pomaga znaleźć przyczynę problemu. Pamiętaj, aby monitorować wydajność maszyny wirtualnej na poziomie hosta, a nie wewnątrz systemu operacyjnego gościa. System operacyjny gościa nie ma świadomości funkcji wirtualizacji, takich jak dynamiczny przydział zasobów, i może wyświetlać nieprawidłowe dane. VMware udostępnia liczniki na poziomie hosta. Liczniki te dostarczają prawidłowych informacji i są używane do monitorowania wydajności maszyn wirtualnych. Wiedząc, jak zbierane są informacje o wydajności wewnątrz maszyn wirtualnych, VMware opracowało biblioteki liczników przeznaczone dla maszyn wirtualnych, które umożliwiają wyświetlanie prawidłowych informacji o wydajności maszyn wirtualnych za pomocą narzędzia Perfmon w systemach Windows gościa. Aby monitorować wydajność maszyny wirtualnej, w systemie operacyjnym gościa muszą być zainstalowane VMware Tools.

Aby sprawdzić wykorzystanie zasobów sprzętowych w VMware vSphere Client, wybierz maszynę wirtualną, otwórz kartę Monitor, a następnie wybierz Performance > Overview or Performance > Advanced, aby wyświetlić wykresy i inne informacje. Na stronie Overview możesz przeglądać wykorzystanie procesora, pamięci, sieci i magazynu (wolne miejsce, zajęte miejsce oraz wydajność wejścia/wyjścia) w czasie rzeczywistym i za poprzedni dzień, tydzień, miesiąc, rok lub wybrany przedział czasu. Wybierz te opcje z dwóch menu rozwijanych na tej stronie ( Okres i Widok ). VM-performance-monitoring-in-VMware-vSphere-Client

Kliknij Utilization na karcie Monitor, aby wyświetlić dodatkowe informacje o wykorzystaniu procesora i pamięci maszyny wirtualnej oraz pamięci systemu gościa.

Virtual-machine-performance-monitoring

Podobnie możesz wybrać host ESXi lub klaster w vSphere Client i monitorować wykorzystane oraz dostępne zasoby w czasie rzeczywistym i w wybranym okresie.

Wnioski

W tym wpisie na blogu omówiono najważniejsze kwestie, na które należy zwrócić uwagę w przypadku problemów z wydajnością maszyn wirtualnych, oraz zalecenia dotyczące poprawy ich wydajności. Należy zadbać o sprzęt zapewniający wystarczającą wydajność, unikać nadmiernego przydzielania pamięci i prawidłowo konfigurować oprogramowanie. Monitorowanie wydajności maszyn wirtualnych pozwala ustalić przyczynę ich niskiej wydajności.

Uszkodzenie dysku jest najpoważniejszym problemem powodującym niską wydajność maszyny wirtualnej, ponieważ oprócz niej można również utracić dane. Aby uniknąć utraty danych, regularnie twórz kopie zapasowe danych VMware. Użyj NAKIVO Backup & Replication dla Tworzenie kopii zapasowej VMware — uniwersalnego rozwiązania do ochrony danych, które obsługuje VMware vSphere 7.0 i oferuje wiele przydatnych funkcji zwiększających szybkość i niezawodność tworzenia kopii zapasowych.

Wypróbuj NAKIVO Backup & Replication

Wypróbuj NAKIVO Backup & Replication

Skorzystaj z bezpłatnej wersji próbnej, aby zapoznać się ze wszystkimi funkcjami rozwiązania w zakresie ochrony danych. 15 dni za darmo. Bez żadnych ograniczeń dotyczących funkcji ani pojemności. Nie jest wymagana karta kredytowa.

People also read