Pełny przegląd najlepszych rozwiązań dotyczących pamięci dynamicznej Hyper-V

Funkcja „Hyper-V Dynamic Memory” została po raz pierwszy wprowadzona w systemie Windows Server 2008 R2 z dodatkiem SP1. Przed jej wydaniem maszyny wirtualne ( maszyna wirtualna Hyper-V , VM) uruchamiały się i działały z pełną ilością przydzielonej im pamięci RAM, co powodowało nadmierne zużycie pamięci i negatywnie wpływało na ogólną wydajność maszyn wirtualnych. Ponadto ilość dostępnej pamięci dla maszyny wirtualnej można było zmienić tylko wtedy, gdy maszyna była wyłączona. Dlatego też uzasadnione było zastąpienie statycznego przydzielania pamięci przydzielaniem dynamicznym, co doprowadziło do wprowadzenia funkcji dynamicznej pamięci Hyper-V.

NAKIVO do tworzenia kopii zapasowej Hyper-V

NAKIVO do tworzenia kopii zapasowej Hyper-V

Kopie zapasowe dla Hyper-V bez agentów, spójne z aplikacją. Ochrona przed oprogramowaniem wymuszającym okup, natychmiastowe uruchamianie maszyn wirtualnych z kopii zapasowej, wsparcie dla innych platform wirtualnych i fizycznych oraz wiele innych funkcji.

Czym jest dynamiczna pamięć Hyper-V?

Dynamiczna pamięć Hyper-V to funkcja umożliwiająca dynamiczne przydzielanie zasobów pamięci maszynom wirtualnym działającym w środowiskach Hyper-V. Funkcja ta odzyskuje część niewykorzystanej pamięci z maszyn wirtualnych, które w danym momencie jej nie potrzebują, a następnie przydziela odzyskaną pamięć innym maszynom wirtualnym, które faktycznie jej potrzebują.

Dzięki funkcji Dynamic Memory w Hyper-V można określić ilość pamięci startowej, z której może korzystać maszyna wirtualna, ustawić zakres dostępnej pamięci fizycznej dla konkretnej maszyny wirtualnej oraz określić priorytet maszyny wirtualnej przy przydzielaniu pamięci. Pamięć fizyczna może być efektywnie i dynamicznie przydzielana maszynie wirtualnej Hyper-V w miarę potrzeb, przy minimalnym wpływie na wydajność. W rezultacie zyskujesz bardziej szczegółową kontrolę nad wykorzystaniem pamięci oraz lepszą optymalizację zasobów.

Zalety i wady funkcji Dynamic Memory w Hyper-V

Funkcja Dynamic Memory w Hyper-V to przydatna funkcja, która oferuje wiele zalet, takich jak:

  • Zmniejszone zużycie pamięci, ponieważ maszyna wirtualna wykorzystuje tylko tyle pamięci, ile faktycznie potrzebuje, w granicach ustalonych przez administratora
  • Efektywny przydział pamięci, ponieważ można dynamicznie przydzielać więcej lub mniej pamięci do uruchomionej maszyny wirtualnej
  • Wyższy współczynnik konsolidacji dzięki bardziej efektywnemu wykorzystaniu zasobów pamięci
  • Zwiększona niezawodność operacji ponownego uruchamiania dzięki funkcji Hyper-V Smart Paging
  • Oszczędność kosztów, ponieważ zasoby maszyn wirtualnych nie są marnowane

Jednakże, funkcja Hyper-V Dynamic Memory ma również szereg wad, które mogą negatywnie wpływać na wydajność pamięci maszyn wirtualnych. Obejmują one:

  • Ryzyko nadmiernego przydzielenia pamięci fizycznej komputera w przypadku braku monitorowania alokacji pamięci w środowisku wirtualnym
  • Niektórych ustawień pamięci nie można zmienić podczas działania maszyny wirtualnej. W związku z tym nie można zmniejszyć ani zwiększyć maksymalnej i minimalnej ilości pamięci, a także zmodyfikować ilości pamięci przy uruchomieniu maszyny wirtualnej, gdy maszyna wirtualna nadal działa lub jest wstrzymana.
  • Gdy włączona jest funkcja dynamicznej pamięci Hyper-V, mogą wystąpić problemy z aplikacjami bazodanowymi. Aby uniknąć problemów z wydajnością, zaleca się korzystanie z aplikacji zgodnych z funkcją dynamicznej pamięci Hyper-V.

Ustawienia dynamicznej pamięci Hyper-V

Funkcja dynamicznej pamięci Hyper-V obejmuje pięć ustawień maszyny wirtualnej Hyper-V, które można skonfigurowane w Menedżerze Hyper-V. W tym celu otwórz Menedżera Hyper-V, wybierz odpowiednią maszynę wirtualną Hyper-V, kliknij Settingsi wybierz Memory. Zobaczysz następujące okno: Hyper-V Dynamic Memory Settings

Zanim jednak zaczniesz konfigurować ustawienia pamięci dynamicznej Hyper-V, zaleca się najpierw zapoznać się z działaniem tych komponentów oraz korzyściami, jakie mogą one zapewnić. Przyjrzyjmy się każdemu z nich.

Pamięć RAM uruchomieniowa

Ta wartość pamięci dynamicznej Hyper-V określa minimalną ilość pamięci fizycznej, jaką wybrana maszyna wirtualna Hyper-V może wykorzystać podczas uruchamiania. Pamięć RAM przy uruchomieniu powinna być wystarczająco duża, aby umożliwić szybkie i nieprzerwane uruchomienie maszyny wirtualnej. Należy pamiętać, że pamięci RAM przy uruchomieniu nie można zmienić, gdy maszyna wirtualna jest uruchomiona.

Startup RAM (Hyper-V Dynamic Memory Best Practices)

Minimalna pamięć RAM

Ta wartość pamięci dynamicznej Hyper-V określa minimalną ilość pamięci fizycznej, która powinna zostać przydzielona maszynie wirtualnej po jej uruchomieniu. Jeśli inne maszyny wirtualne wymagają dodatkowej pamięci RAM, host Hyper-V może zacząć odzyskiwać nieużywaną pamięć z tej maszyny wirtualnej, aż do osiągnięcia minimalnej wartości pamięci RAM. Należy pamiętać, że wartość tę można ustawić na minimum 32 MB, ale nie może ona być wyższa niż wartość pamięci RAM przy uruchomieniu. Ponadto nie można zwiększyć minimalnej ilości pamięci, gdy maszyna wirtualna Hyper-V działa lub jest wstrzymana, ale można ją zmniejszyć (np. można zmienić minimalną wartość pamięci RAM z 512 MB na 64 MB).

Minimum and Maximum RAM (Hyper-V Dynamic Memory Best Practices)

Maksymalna pamięć RAM

Ta wartość pamięci dynamicznej Hyper-V określa maksymalną ilość pamięci fizycznej, z której może korzystać maszyna wirtualna Hyper-V. Należy pamiętać, że wartość ta nie może być niższa niż przypisana pamięć RAM przy uruchomieniu, ale może wynosić nawet 1 TB (1 048 576 MB). Ponadto nie można zmniejszyć maksymalnej ilości pamięci, gdy maszyna wirtualna jest uruchomiona lub wstrzymana, ale można ją zwiększyć (np. można zmienić maksymalną wartość pamięci RAM z 512 MB na 2048 MB).

Bufor pamięci

Ta wartość dynamicznej pamięci Hyper-V określa procent pamięci fizycznej, który powinien zostać przydzielony maszynie wirtualnej jako bufor. Bufor pamięci to część pamięci fizycznej zarezerwowana dla maszyny wirtualnej w oparciu o jej zapotrzebowanie na pamięć. Aby obliczyć bufor pamięci, należy skorzystać z następującego wzoru:

Amount of memory buffer = how much memory the virtual machine actually needs / (memory buffer value / 100).

Domyślnie wartość bufora pamięci wynosi 20%, ale można ją ustawić w zakresie od 5% do 2000%. Wartość bufora pamięci można zmienić w dowolnym momencie, nawet podczas działania maszyny wirtualnej Hyper-V.

Memory Buffer (Hyper-V Dynamic Memory Best Practices)

Waga pamięci

Ta wartość dynamicznej pamięci Hyper-V określa priorytet wybranej maszyny wirtualnej w stosunku do innych maszyn wirtualnych na tym hoście. Na podstawie tej kolejności priorytetów można określić sposób podziału dostępnej pamięci między wiele maszyn wirtualnych działających na tym samym hoście Hyper-V. Należy pamiętać, że jeśli priorytet maszyny wirtualnej zostanie ustawiony na zbyt niski poziom, a ilość dostępnej pamięci fizycznej zmniejszy się, istnieje ryzyko, że ta maszyna wirtualna nie będzie mogła się uruchomić. Wartość wagi pamięci można zmienić w dowolnym momencie, nawet podczas działania maszyny wirtualnej.

Memory Weight (Hyper-V Dynamic Memory Best Practices)

Najlepsze rozwiązania dotyczące pamięci dynamicznej Hyper-V

Aby osiągnąć wysoką wydajność i poprawić wykorzystanie pamięci w środowiskach Hyper-V, zaleca się stosowanie najlepszych rozwiązań dotyczących pamięci dynamicznej Hyper-V.

Wymienione poniżej najlepsze rozwiązania dotyczące pamięci dynamicznej Hyper-V mogą znacznie poprawić wydajność pamięci maszyn wirtualnych oraz ogólne wrażenia z użytkowania w środowiskach Hyper-V.

Włączanie usług integracji Hyper-V

Usługi integracji Hyper-V to zestaw narzędzi, które pozwalają poprawić wydajność maszyn wirtualnych w środowiskach Hyper-V. Każda usługa integracji Hyper-V musi być włączona zarówno na hoście, jak i w systemie gościa, aby mogły one prawidłowo funkcjonować i świadczyć usługi zgodnie z wymaganiami. Domyślnie wszystkie usługi integracji Hyper-V, z wyjątkiem interfejsu usług gościa Hyper-V, są włączone w systemach operacyjnych gości.

Aby funkcja dynamicznej pamięci Hyper-V działała skutecznie, upewnij się, że usługi integracji Hyper-V zostały zaktualizowane do najnowszej wersji oraz że system operacyjny gościa obsługuje funkcję dynamicznej pamięci. W przeciwnym razie w Hyper-V mogą wystąpić problemy, ponieważ pamięć nie będzie mogła być przydzielana dynamicznie, a zapotrzebowanie na pamięć nie będzie mogło zostać prawidłowo zaspokojone.

Od czasu wydania systemu Windows Server 2016 usługi integracji Hyper-V i odpowiadające im aktualizacje można instalować za pośrednictwem usługi Windows Update. Dlatego należy skonfigurować maszyny wirtualne tak, aby otrzymywały aktualizacje, co zapewni, że infrastruktura Hyper-V korzysta z najnowszej wersji usług integracji Hyper-V.

Monitoruj wykorzystanie pamięci i alokację zasobów

Obecnie na rynku dostępnych jest wiele narzędzi do zarządzania Hyper-V, które umożliwiają monitorowanie wykorzystania pamięci i alokacji zasobów w środowiskach Hyper-V. Przy włączonej funkcji dynamicznej pamięci Hyper-V możliwe jest nadmierne przydzielenie pamięci RAM i całkowite wyczerpanie pamięci. Dlatego zaleca się śledzenie ilości pamięci RAM przydzielanej różnym maszynom wirtualnym na hoście Hyper-V.

W tym celu można skorzystać z natywnych narzędzi do monitorowania lub zakupić oprogramowanie innych producentów. Na przykład stan pamięci maszyny wirtualnej można sprawdzić za pośrednictwem hosta w Menedżerze Hyper-V lub w systemie operacyjnym maszyny wirtualnej w Menedżerze zadań.

Hyper-V Dynamic Memory Best Practices in the Hyper-V Host

Hyper-V Dynamic Memory Best Practices in the Guest OS

W ten sposób możemy monitorować sposób wykorzystania zasobów pamięci w systemie. Należy jednak pamiętać, że Menedżer Hyper-V i Menedżer zadań wyświetlają różne wyniki dotyczące wykorzystania pamięci. Narzędzie do monitorowania maszyn-gości nie pokazuje rzeczywistych wyników, ponieważ maszyna wirtualna-gość uznaje, że cała ilość pamięci przydzielona tej maszynie jest faktycznie wykorzystywana przez jej sterownik. W rzeczywistości host zazwyczaj ma lepszy wgląd w sposób, w jaki pamięć jest rozdzielana między maszyny wirtualne w ramach infrastruktury. Niewykorzystana pamięć jest w rzeczywistości przydzielana innym maszynom wirtualnym, co znajduje odzwierciedlenie w Menedżerze Hyper-V.

Należy wziąć pod uwagę wartość pamięci RAM przy uruchomieniu

Ustawienie wyższej lub niższej wartości pamięci RAM przy uruchomieniu może znacząco wpłynąć na wydajność Hyper-V. Należy zwiększyć wartość pamięci RAM przy uruchomieniu, aby zapewnić prawidłowe uruchomienie systemu operacyjnego i działających na nim aplikacji. Wynika to z faktu, że system Windows ma wyższe wymagania dotyczące pamięci RAM podczas uruchamiania niż w stanie bezczynności.

Ponadto podczas operacji instalacji lub aktualizacji ilość pamięci RAM dostępnej dla systemu operacyjnego gościa jest równa wartości pamięci RAM przy uruchomieniu. Dlatego przed przeprowadzeniem instalacji lub aktualizacji należy koniecznie upewnić się, że wartość pamięci RAM przy uruchomieniu spełnia minimalne wymagania pamięciowe wybranego systemu operacyjnego.

Należy pamiętać, że zbyt wysokie ustawienie wartości pamięci RAM przy uruchomieniu może również negatywnie wpłynąć na wydajność pamięci dynamicznej Hyper-V oraz ogólne zużycie pamięci. W związku z tym zaleca się przypisanie wartości 512 MB jako pamięci RAM przy uruchomieniu dla systemu operacyjnego gościa, aby mógł on uruchomić się bez zakłóceń.

Nie zapominaj o wyciekach pamięci

Podczas ustalania limitów pamięci dynamicznej Hyper-V dla konkretnej maszyny wirtualnej należy koniecznie pamiętać, że infrastruktura może być narażona na wycieki pamięci. Wycieki pamięci oznaczają stopniową utratę dostępnej pamięci w wyniku nieprawidłowego przydzielania pamięci. Zazwyczaj występują one, gdy aplikacja nie wydaje pamięci, która została przydzielona wyłącznie do tymczasowego użytku. Jeśli problem nie zostanie wykryty przed wystąpieniem poważnych szkód, pamięć systemu operacyjnego może ulec wyczerpaniu, a aplikacja ostatecznie ulegnie awarii.

Aby złagodzić negatywne skutki tego problemu, zaleca się zainstalowanie narzędzia do monitorowania (np. RAMMap) oraz przeskanowanie całej infrastruktury pod kątem wszelkich niespójności i wykrycie nietypowych przypadków wykorzystania pamięci przez uruchomione aplikacje. Ponadto narzędzia takie mogą pomóc w określeniu minimalnych i maksymalnych wartości pamięci RAM, które byłyby najbardziej odpowiednie dla tej konkretnej maszyny wirtualnej.

Skonfiguruj maksymalne i minimalne wartości pamięci RAM

Aby zapewnić prawidłowe działanie funkcji pamięci dynamicznej Hyper-V, zaleca się określenie limitów, których system nie może przekroczyć. W ten sposób wykorzystanie pamięci w infrastrukturze jest skutecznie kontrolowane, co oznacza, że maszyna wirtualna Hyper-V nie będzie zużywać ani zbyt dużo, ani zbyt mało pamięci.

Należy starannie ustawić wartość bufora pamięci

Jednym z najlepszych rozwiązań dotyczących pamięci dynamicznej Hyper-V jest przypisanie odpowiedniej wartości bufora pamięci, która określa, ile dodatkowej pamięci powinno być udostępnione dla wybranej maszyny wirtualnej. Jeśli wartość bufora pamięci jest wysoka, ta dodatkowa ilość pamięci jest zazwyczaj wykorzystywana do buforowania plików w maszynach wirtualnych o dużej skali oraz do usprawniania operacji wejścia/wyjścia w systemie.

Jednocześnie wartość bufora pamięci powinna być niska, jeśli działa aplikacja wymagająca dużej ilości pamięci fizycznej. Dzięki zmniejszonej wartości bufora pamięci można mieć pewność, że dostępna pamięć nie zostanie całkowicie zużyta przez jedną maszynę wirtualną.

Ponadto, jeśli maszynie wirtualnej Hyper-V przydzielono już dużą ilość pamięci, jest mało prawdopodobne, aby kiedykolwiek potrzebowała dodatkowej pamięci. Dlatego bardziej sensowne jest udostępnienie niewykorzystanych zasobów pamięci innym maszynom wirtualnym, które potrzebują jej bardziej.

Aktualizuj hosty Hyper-V w razie potrzeby

Aby zapewnić stabilność i bezpieczeństwo środowiska Hyper-V, upewnij się, że hosty Hyper-V instalują wszystkie aktualizacje i poprawki zabezpieczeń, gdy jest to wymagane. Głównym celem aktualizacji i poprawek zabezpieczeń firmy Microsoft jest usuwanie problemów wykrytych w systemie. Na przykład w systemie Windows Server 2012 R2 wykryto problem z funkcją Hyper-V Dynamic Memory, który uniemożliwiał maszynom wirtualnym Hyper-V uzyskanie dodatkowej pamięci. Mimo że funkcja ta była włączona na maszynach wirtualnych, nadal nie działała prawidłowo. W związku z tym firma Microsoft wydała poprawkę, aby usunąć ten problem i zapewnić prawidłowe działanie funkcji.

Wykrywanie zmian wydajności w ciągu dnia

Obciążenie produkcyjne znacznie wzrasta w godzinach pracy, co ostatecznie wpływa na wydajność Hyper-V, a także na alokację zasobów i wykorzystanie pamięci. Jednym z najlepszych rozwiązań dotyczących funkcji Hyper-V Dynamic Memory jest monitorowanie zmian w wykorzystaniu pamięci w ciągu dnia roboczego. Wykrywając, kiedy zazwyczaj występują cykle wysokiego i niskiego wykorzystania pamięci, można nauczyć się, jak wykorzystać funkcję Hyper-V Dynamic Memory na swoją korzyść.

Włącz funkcję Dynamic Memory w Hyper-V tylko wtedy, gdy jest to rzeczywiście konieczne

Chociaż funkcja Dynamic Memory w Hyper-V jest niezwykle przydatna i poprawia wykorzystanie pamięci fizycznej, w niektórych przypadkach preferowanym rozwiązaniem jest statyczny przydział pamięci. W związku z tym należy rozważyć, czy w danej maszynie wirtualnej Hyper-V należy włączyć funkcję dynamicznej pamięci. Na przykład niektóre aplikacje mają wyższą wydajność, jeśli mają do dyspozycji z góry określoną ilość pamięci RAM, z której mogą korzystać bez zakłóceń. Ilość wstępnie przydzielonej pamięci RAM pozostaje taka sama pomimo wahań zapotrzebowania na pamięć.

Dlatego zaleca się wcześniejsze zaplanowanie sposobu podziału pamięci fizycznej w środowisku Hyper-V, aby zapobiec niedoborom pamięci RAM i uniknąć awarii aplikacji w przyszłości.

Z funkcji dynamicznej pamięci Hyper-V należy korzystać wyłącznie z aplikacjami zgodnymi z tą funkcją

Przed zainstalowaniem jakiejkolwiek aplikacji na hoście lub w systemie-gościu Hyper-V należy upewnić się, że aplikacja ta może współpracować z funkcją dynamicznej pamięci Hyper-V. Aby sprawdzić te informacje, zaleca się najpierw zapoznać się z dokumentacją pomocy technicznej produktu, aby poznać jego funkcje i wymagania systemowe. Takie środki ostrożności mogą pomóc w uniknięciu ewentualnych problemów związanych z wykorzystaniem i alokacją pamięci.

Podsumowanie

Po zapoznaniu się z najlepszymi rozwiązaniami dotyczącymi pamięci dynamicznej Hyper-V można zacząć efektywniej i bezpieczniej wykorzystywać pamięć fizyczną. Jednak infrastruktura wirtualna nadal jest narażona na różne zagrożenia, które mogą negatywnie wpłynąć na jej wydajność. Aby zapewnić bezpieczeństwo środowiska wirtualnego, najbardziej realnym rozwiązaniem jest zastosowanie rozwiązania do ochrony danych. NAKIVO Backup & Replication to niezawodne, skuteczne i przystępne cenowo rozwiązanie, które zapewnia tworzenie kopii zapasowych maszyn wirtualnych, replikację, tworzenie kopii zapasowych w chmurze, kopie zapasowe, odzyskiwanie lokacji oraz bogaty zestaw funkcji.

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