Warstwa robocza NVMe a pula wyłącznie HDD dla obrazów maszyn wirtualnych i baz danych: co zapewnia przewidywalne opóźnienia?

Eva Wong jest Technicznym pisarzem i stałym majsterkowiczem w ZimaSpace. Całe życie geek z pasją do homelabów i oprogramowania open-source, specjalizuje się w tłumaczeniu skomplikowanych koncepcji technicznych na przystępne, praktyczne przewodniki. Eva wierzy, że samodzielne hostowanie powinno być zabawą, a nie czymś onieśmielającym. Poprzez swoje samouczki umożliwia społeczności rozwiewanie tajemnic konfiguracji sprzętu, od budowy pierwszego NAS po opanowanie kontenerów Docker.

Wybierz dedykowaną warstwę roboczą NVMe, gdy obrazy maszyn wirtualnych i bazy danych generują ciągłe losowe odczyty, synchroniczne zapisy, migawki lub równoczesne operacje wejścia/wyjścia, które powodują kolejkowanie żądań w puli HDD. Wybierz pulę wyłącznie HDD, gdy maszyny wirtualne są rzadko używane, bazy danych są małe i mieszczą się w pamięci, a pojemność ma większe znaczenie niż przewidywalne opóźnienia. W przypadku większości domowych serwerów intensywnie korzystających z pamięci masowej lepiej oddzielić dane aktywne od zimnych, niż zmuszać oba typy do korzystania z jednej klasy nośników.

Zacznij od roli pamięci masowej, a nie od oznaczenia dysku

Warstwa robocza NVMe nie jest po prostu szybszym miejscem dla każdego pliku. To celowo mniejsza pula przeznaczona na aktywne dyski wirtualne, pliki baz danych, logi, indeksy i inne dane wrażliwe na opóźnienia. Pula HDD nadal odpowiada za kopie zapasowe, obrazy instalacyjne, szablony, multimedia, eksporty i nieaktywne woluminy maszyn wirtualnych.

Konstrukcja oparta wyłącznie na HDD upraszcza pojemność i administrację, ale łączy obciążenia o bardzo różnym charakterze operacji wejścia/wyjścia. Jedno zadanie tworzenia kopii zapasowej, usuwanie migawki, scrub lub duży transfer multimediów może zwiększyć obciążenie związane z pozycjonowaniem głowic w tym samym czasie, gdy baza danych oczekuje na małe operacje synchroniczne. Kluczowe pytanie brzmi, czy te interakcje są widoczne w opóźnieniach aplikacji.

Kryterium decyzji Warstwa robocza NVMe Pula wyłącznie HDD
Opóźnienia losowych operacji wejścia/wyjścia Niskie i bardziej przewidywalne przy równoczesnym obciążeniu Mechaniczne pozycjonowanie głowic powoduje powstawanie kolejek i zmienne czasy odpowiedzi
Koszt pojemności Wyższy koszt w przeliczeniu na terabajt Najlepsze rozwiązanie dla dużej i ekonomicznej pojemności
Uruchamianie i aktualizowanie maszyn wirtualnych Sprawnie obsługuje wiele małych żądań Akceptowalne dla kilku rzadko używanych systemów gościa
Logi i indeksy baz danych Szczególnie dobre rozwiązanie, gdy zapisy i wyszukiwanie są częste Może się sprawdzić, gdy dane są małe, buforowane lub rzadko aktualizowane
Migawki i klony Mniejsze prawdopodobieństwo wstrzymania aktywnych systemów gościa Zadania działające w tle mogą konkurować z operacjami wejścia/wyjścia maszyn wirtualnych
Planowanie na wypadek awarii Wymaga chronionego układu NVMe i jasno zaplanowanej migracji Dłuższe okno odbudowy i większa ilość danych w jednej puli
Najlepsze zastosowanie Aktywne dane aplikacji Pojemność, kopie zapasowe, archiwa i nieaktywne zasoby maszyn wirtualnych

Kiedy pula wyłącznie HDD nadal w zupełności wystarcza

Pamięć masowa HDD może być rozsądnym wyborem dla małego laboratorium z jedną lub dwiema mało aktywnymi maszynami wirtualnymi, rzadkimi uruchomieniami oraz bazami danych, których aktywne strony pozostają w pamięci RAM. Maszyna wirtualna z automatyką domową, testowy gość z systemem Linux lub rzadko używana usługa mogą nie generować wystarczającej liczby równoczesnych operacji losowego wejścia/wyjścia, aby uzasadnić wydzieloną warstwę pamięci flash.

Opcja oparta wyłącznie na dyskach HDD jest również łatwiejsza, gdy głównym celem jest pojemność, a właściciel chce mieć jedną chronioną pulę, jedną politykę migawek i jedną ścieżkę tworzenia kopii zapasowych. Przenoszenie danych między warstwami wymaga dodatkowej klasyfikacji. Jeśli aplikacja już osiąga wymagany poziom wydajności podczas tworzenia kopii zapasowych i scrubowania, prostsza pula wygrywa.

To pierwsza granica, przy której należy się zatrzymać: nie dodawaj NVMe tylko dlatego, że obrazy maszyn wirtualnych i pliki baz danych brzmią jak wymagające obciążenia. Dodaj je dopiero wtedy, gdy podczas rzeczywistej pracy usługi rosną czas oczekiwania na pamięć masową, głębokość kolejki lub opóźnienie ogona.

Dlaczego obrazy maszyn wirtualnych i bazy danych mogą podważyć model HDD

Kilka maszyn wirtualnych zamienia jedną fizyczną pulę w wiele niezależnych strumieni operacji wejścia-wyjścia. Systemy operacyjne gości aktualizują pakiety, rotują logi, stronicują pamięć, skanują systemy plików i zapisują dane aplikacji bez wzajemnej koordynacji. Głowice HDD muszą przemieszczać się między tymi żądaniami, dlatego średnia przepustowość może wyglądać na wystarczającą, podczas gdy poszczególne maszyny wirtualne się zatrzymują.

Bazy danych stawiają dodatkowy, bardziej rygorystyczny warunek. Małe losowe operacje odczytu, dzienniki, logi zapisu z wyprzedzeniem, indeksy i synchroniczne zatwierdzenia zależą od czasu odpowiedzi, a nie od szybkości przesyłania dużych ilości danych. Aktualne porównanie obciążeń nośników danych wskazuje, że bazy danych, maszyny wirtualne i kontenery należą do obciążeń, w których losowe operacje wejścia-wyjścia i opóźnienia mają większe znaczenie niż pojemność przy operacjach sekwencyjnych.

Porównanie powinno ponownie się zakończyć, jeśli po przeniesieniu dysku wirtualnego na NVMe dominującym opóźnieniem nadal pozostają rywalizacja o czas procesora, niewystarczająca ilość pamięci RAM lub blokady aplikacji. Warstwa robocza nie rozwiąże problemów z harmonogramowaniem obliczeń, presją na pamięć ani nieefektywnymi zapytaniami.

Co zmienia warstwa robocza NVMe

Najważniejszą korzyścią jest izolacja. Aktywne dyski maszyn wirtualnych i pliki baz danych nie konkurują już o zasoby z wyszukiwaniem multimediów, strumieniami kopii zapasowych ani dużymi zapisami archiwów w tej samej puli mechanicznej. System może przechowywać dane o dużej pojemności na HDD, rezerwując pamięć flash o niskich opóźnieniach dla operacji blokujących postęp aplikacji.

NVMe skraca również zadania związane z klonowaniem, migawkami, uruchamianiem, instalowaniem poprawek i konserwacją indeksów. Może to skrócić czas, przez który domowe laboratorium działa w stanie obniżonej wydajności lub wymaga intensywnej konserwacji. Wskazówki Melbicom dotyczące zastosowania pamięci NVMe i HDD podobnie zalecają umieszczanie wrażliwych na opóźnienia maszyn wirtualnych i danych w stylu OLTP na NVMe, przy zachowaniu HDD do przechowywania dużych ilości danych.

Zysk nie jest nieograniczony. Pojedynczy konsumencki dysk NVMe bez redundancji może stworzyć szybszą, ale bardziej podatną na awarie warstwę usług. Ograniczanie wydajności termicznej, niewielka wytrzymałość, nagła utrata zasilania lub awaria jednego urządzenia mogą jednocześnie wyłączyć kilka aktywnych usług.

Odzyskiwanie i migracja mogą odwrócić decyzję dotyczącą wydajności

Pula składająca się wyłącznie z dysków HDD przechowuje wszystkie dane maszyn wirtualnych w ramach jednego modelu ochrony i przywracania, ale jej większa pojemność może prowadzić do długiego odtwarzania i przywracania. Awaria puli może jednocześnie dotknąć aktywnych maszyn gościnnych, kopii zapasowych, szablonów i archiwów, ponieważ współdzielą tę samą granicę pamięci masowej.

Osobna warstwa NVMe zawęża zbiór aktywnych danych, co może przyspieszyć replikację i przywracanie. Wymaga jednak od właściciela dokładnej wiedzy, które dyski maszyn wirtualnych, katalogi baz danych, dzienniki i stan aplikacji należą do tej warstwy. Jeśli chroniony jest tylko dysk wirtualny, a zewnętrzna ścieżka bazy danych lub sekret pozostaje gdzie indziej, odzyskiwanie będzie niekompletne.

Istniejące porównanie ZimaSpace dotyczące topologii pamięci masowej dla maszyn wirtualnych intensywnie korzystających z pamięci masowej dodatkowo potwierdza tę kwestię: szybsza pamięć masowa ma wartość tylko wtedy, gdy ścieżka awarii pozostaje zrozumiała i możliwa do odtworzenia.

Wykorzystaj cztery pomiary, aby zdecydować, czy podzielić pulę

  1. Rejestruj opóźnienie pamięci masowej i głębokość kolejki podczas normalnej aktywności maszyn wirtualnych i baz danych.
  2. Powtórz pomiar podczas tworzenia kopii zapasowej, sprawdzania puli, usuwania migawek i przesyłania dużych plików.
  3. Mierz czas odpowiedzi aplikacji, a nie tylko przepustowość puli lub syntetyczne IOPS.
  4. Sprawdź, czy pamięć RAM zawiera już aktywne strony bazy danych i pamięć podręczną systemu plików.
  5. Przenieś jedną reprezentatywną kopię maszyny wirtualnej lub bazy danych na NVMe i powtórz to samo obciążenie.
  6. Potwierdź, że poprawa pozostaje widoczna po uwzględnieniu ograniczeń procesora, pamięci i sieci.
  7. Oblicz wymaganą chronioną pojemność NVMe dla aktywnych danych, migawek i przyszłego wzrostu.

Przewodnik ZimaSpace po obciążeniach NAS, które korzystają z NVMe przedstawia uzupełniający test multimediów. Decyzja opisana w tym artykule jest węższa: czy te aktywne obciążenia uzasadniają wydzielenie osobnej warstwy zamiast pozostawienia ich w puli składającej się wyłącznie z dysków HDD.

Który układ pamięci masowej pasuje do serwera?

Kiedy wybrać warstwę roboczą NVMe

Wybierz NVMe, gdy kilka maszyn wirtualnych lub baz danych wykazuje zauważalne oczekiwanie na pamięć masową, praca w tle na HDD powoduje przerwy albo migawki i klony zakłócają działanie usług aktywnych. Chroń tę warstwę za pomocą odpowiedniej nadmiarowości lub replikacji i pozostaw wystarczająco dużo wolnego miejsca na migawki, rozrost baz danych i prace konserwacyjne.

Kiedy wybrać pulę wyłącznie HDD

Wybierz jedną pulę HDD, gdy maszyny wirtualne są rzadko używane, czas odpowiedzi pozostaje akceptowalny podczas prac konserwacyjnych, a głównym celem jest prostota zarządzania pojemnością. Jeśli pomiary nie wskazują obciążenia wrażliwego na pamięć flash, w pierwszej kolejności zainwestuj w pamięć RAM, kopie zapasowe i rozsądny układ puli.

Kiedy używać układu hybrydowego

W przypadku większości rozwijających się serwerów domowych trzymaj aktywne dyski maszyn wirtualnych, pliki baz danych, indeksy i dzienniki na chronionej pamięci NVMe. Kopie zapasowe, szablony, obrazy ISO, eksporty, multimedia i nieaktywne woluminy maszyn wirtualnych przechowuj na HDD. Zdefiniuj zasady migracji, aby obciążenie zmieniało warstwę ze względu na zmianę swojego zachowania, a nie dlatego, że nazwa folderu brzmi ważnie.

Najczęściej zadawane pytania

Czy każda maszyna wirtualna powinna działać na NVMe?

Nie. Maszyny wirtualne infrastruktury, które rzadko zapisują dane, wyłączone szablony, urządzenia testowe i zimne dyski wirtualne mogą pozostać na HDD. Priorytetowo traktuj maszyny, w przypadku których oczekiwanie na pamięć masową wpływa na działanie rzeczywistej usługi lub kilku zależnych aplikacji.

Czy pamięć podręczna SSD może zastąpić dedykowaną warstwę NVMe?

Czasami, gdy aktywne bloki są powtarzalne i przewidywalne, a pamięć podręczna pozostaje rozgrzana. Dedykowana warstwa zapewnia bardziej deterministyczne działanie dyskom maszyn wirtualnych i plikom baz danych, które muszą zawsze korzystać z opóźnień charakterystycznych dla pamięci flash, także po ponownym uruchomieniu lub zmianie obciążenia.

Czy baza danych zawsze potrzebuje NVMe?

Nie. Mała baza danych z zestawem roboczym mieszczącym się w pamięci i niewielką częstotliwością zapisu może działać sprawnie na HDD. NVMe staje się przydatne, gdy oczekiwanie na pamięć masową pojawia się podczas zatwierdzania transakcji, zapisu dzienników, operacji na indeksach, punktów kontrolnych lub obsługi współbieżnych żądań.

Ostateczny werdykt

Użyj warstwy roboczej NVMe, gdy obrazy maszyn wirtualnych i bazy danych powodują zauważalne kolejki losowych operacji wejścia-wyjścia lub skoki opóźnień w puli dysków HDD. Pozostań przy konstrukcji opartej wyłącznie na HDD, gdy usługi są niewymagające, a prostota pojemności jest ważniejsza niż niższe opóźnienia. Najlepszy układ długoterminowy oddziela aktywny stan aplikacji od pamięci masowej na dane zbiorcze, zapewniając obu warstwom niezależne mechanizmy ochrony i plany odzyskiwania.

Porównania produktów

Więcej do przeczytania

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.