Najlepsze rozwiązania dotyczące pamięci masowej w Hyper-V
Magazyn jest jednym z najważniejszych elementów składowych serwerów; dotyczy to również serwerów wirtualizacyjnych, na których zainstalowano hiperwizor i uruchomiono maszyny wirtualne. Pamięć masowa może wpływać na wysoką lub niską wydajność, a także zapewniać wysoką lub niską niezawodność przechowywania danych maszyn wirtualnych i dysków wirtualnych. W środowisku wirtualnym Hyper-V można stosować różne typy pamięci masowej, a administrator powinien dokonać właściwego wyboru przed skonfigurowaniem serwera lub wdrażaniem maszyn wirtualnych.
Ten wpis na blogu ma na celu pomóc w zapoznaniu się z różnymi typami pamięci masowej, aby dokonać wyboru najlepiej dostosowanego do danego środowiska, a tym samym skutecznie spełniającego wymagania.
Zalecenia dotyczące magazynu w Hyper-V
Magazyn, który można podłączyć do serwera Hyper-V, może być dwojakiego rodzaju: lokalny lub zdalny.
Magazyn lokalny Składa się z kilku dysków podłączonych lokalnie do serwera. Dyski takie są zazwyczaj podłączone za pomocą interfejsu SAS (Serial Attached SCSI) do kontrolera RAID (Redundant Array of Independent Disks) umieszczonego w obudowie serwera. Korzystanie z dysków SAS jest preferowane w stosunku do dysków SATA (pomimo kompatybilności – dyski SATA mogą być podłączone do portów SAS, ale nie odwrotnie) ze względu na wyższy poziom niezawodności dysków SAS. Magazyn lokalny może być tańszy niż magazyn zdalny. Jeśli nie planujesz wdrażać klastra Hyper-V, możesz skorzystać z magazynu lokalnego.
Pamięć zdalna znajduje się oddzielnie od serwera Hyper-V i jest podłączona do serwera za pomocą protokołów iSCSI, Fibre Channel lub SMB 3.0. Fibre Channel i iSCSI zapewniają magazyn na poziomie bloków, podczas gdy SMB 3.0 to magazyn na poziomie plików. Fibre Channel wymaga specjalnego interfejsu fizycznego do podłączenia serwerów do magazynu, takiego jak SAN (Storage Area Network). FCoE (Fibre Channel over Ethernet) może być używane do podłączania magazynu przez sieci Ethernet. Protokół iSCSI może być używany do podłączania serwera do sieci SAN lub NAS (Network Attached Storage). Urządzenie NAS wygląda jak mini serwer, który ma kontroler RAID z gniazdami na dyski wewnątrz i różnymi portami do podłączenia do sieci na zewnątrz. Samodzielny serwer można również skonfigurować do pracy jako NAS. Sieci SAN i NAS zapewniają nadmiarowość danych, co zwiększa niezawodność.
W przypadku wdrażanie klastra w Trybie failovernależy użyć zdalnej pamięci masowej współdzielonej ze wszystkimi węzłami w klastrze. W tym przypadku taka pamięć nazywana jest pamięcią współdzieloną.
Użyj macierzy RAID 1 lub RAID 10
RAID to nadmiarowa macierz niezależnych dysków. Nadmiarowość danych w pamięci masowej chroni dane w przypadku awarii dysku. Istnieje kilka typów macierzy RAID.
RAID 0 nie jest redundantny i nazywany jest rozłożeniem danych na dyskach. Nie ma tolerancji na awarie – awaria jednego dysku powoduje awarię całej macierzy. Jako przykład przypadku użycia można wymienić zwiększenie wydajności (na przykład buforowanie transmisji na żywo dla branży telewizyjnej). Do zbudowania tego typu macierzy RAID wymagane są co najmniej 2 dyski.

RAID 1 jest redundantny. Wszystkie bloki na jednym dysku są kopiowane na drugi dysk, dzięki czemu osiąga się 100% redundancji. Jeśli jeden z dysków ulegnie awarii, można uzyskać dostęp do danych na drugim dysku i wykorzystać je do odbudowy macierzy. Prawdopodobieństwo pomyślnej odbudowy macierzy jest wysokie. Macierz RAID 1 może służyć jako magazyn w trybie failover. Do utworzenia tego typu macierzy RAID wymagane są co najmniej 2 dyski.

RAID 10 stanowi połączenie macierzy RAID 0 oraz RAID 1. Wykorzystuje się zalety obu tych typów macierzy, dzięki czemu powstaje macierz odporna na awarie o wyższej wydajności. Dyski z kopią lustrzaną są łączone w pasmo. Do zbudowania tego typu macierzy RAID wymagane jest co najmniej 4 dyski. Jeśli macierz RAID 10 składa się z 4 dysków, dane mogą być zabezpieczone w przypadku awarii dowolnego pojedynczego dysku. Ponadto macierz 4-dyskowa może przetrwać, jeśli ulegną awarii dwa dyski z różnych kopii lustrzanych.

RAID 5 zapewnia rozłożenie danych w pasmach z parzystością. Bloki są rozdzielane na dyski, ale informacje o parzystości, które mogą być wykorzystane do procesu odzyskiwania danych, są również przechowywane na dyskach. Przestrzeń zajmowana przez informacje o parzystości jest równa pojemności jednego dysku. Na przykład informacje o parzystości zajmują około 25% przestrzeni w macierzy składającej się z 4 dysków. Nie jest to w 100% redundantne, jak w przypadku RAID 1. Teoretycznie macierz RAID 5 może przetrwać awarię jednego z dysków. Do zbudowania tego typu macierzy RAID wymagane są co najmniej 3 dyski.

RAID 6 zapewnia rozłożenie danych z podwójną parzystością. Jest to podobne do koncepcji RAID 5, ale informacje o parzystości są przechowywane na dwóch dyskach zamiast na jednym. Macierz RAID 6 może przetrwać awarię maksymalnie dwóch dysków. Do zbudowania tego typu macierzy RAID wymagane są co najmniej 4 dyski.

Na pierwszy rzut oka macierze RAID 5 i RAID 6 wydają się atrakcyjne, ale przyjrzyjmy się im bliżej. Macierz RAID 5 została opracowana kilkadziesiąt lat temu, kiedy pojemność dysków była dość mała. W dzisiejszym świecie pojemność dysków twardych rośnie szybciej niż ich prędkość – w konsekwencji, jeśli jeden dysk ulegnie awarii, odbudowa macierzy RAID 5 może zająć dużo czasu. Obciążenie każdego dysku w macierzy RAID 5 znacznie wzrasta podczas odbudowy, zwłaszcza jeśli serwer intensywnie korzysta z magazynu do wykonywania regularnych zadań w tym samym czasie. Na dyskach należących do macierzy RAID 5 mogą znajdować się rzadko używane dane i nie ma pewności, że dane te uda się pomyślnie odczytać. Zwiększa to prawdopodobieństwo wystąpienia błędu. Jeśli podczas odbudowy macierzy wystąpi błąd, cała macierz może ulec awarii. Gdy w macierzy RAID 5 zawiedzie jeden dysk, macierz ta działa jak RAID 0, a dane są zagrożone.
Macierz RAID 6 posiada dwukrotnie więcej danych parzystości, które mogą być wykorzystane do odzyskiwania danych, w porównaniu z macierzą RAID 5. W rezultacie prawdopodobieństwo przetrwania awarii jednego dysku, a także prawdopodobieństwo pomyślnej odbudowy jest wyższe. RAID 6 ma jeszcze jedną wadę – jego wydajność jest najniższa w porównaniu z RAID 10 i RAID 5. Problemy z wydajnością są szczególnie odczuwalne podczas odbudowy macierzy.
Jak widać, macierze RAID 1 i RAID 10 zapewniają najwyższą niezawodność, dlatego zaleca się ich stosowanie w pamięciach masowych dla Hyper-V. Sprzętowy RAID można skonfigurować zarówno na serwerze fizycznym, jak i na urządzeniu NAS.
Wykorzystaj szybką pamięć magazynową
Wydajność wejścia/wyjścia pamięci magazynowej ma znaczący wpływ na zapewnienie wystarczającej wydajności maszyn wirtualnych. Do przechowywania maszyn wirtualnych należy używać najszybszych dysków twardych (HDD). Dostępny jest szeroki asortyment nowoczesnych dysków twardych o wysokich parametrach wydajnościowych, które zapewniają dużą prędkość w przystępnej cenie za gigabajt. Jeśli prędkość dysku twardego jest niewystarczająca dla maszyn wirtualnych, można użyć dysku półprzewodnikowego (SSD). W przeciwieństwie do klasycznych dysków HDD z obracającymi się talerzami, dyski SSD nie zawierają ruchomych części, dzięki czemu zapewniają wyższą prędkość – są jednak droższe. Cena za gigabajt w przypadku dysków SSD jest wyższa, a ich całkowita pojemność jest zazwyczaj mniejsza niż w przypadku dysków HDD. Dzięki wykorzystaniu dysków o najwyższej wydajności do przechowywania danych Hyper-V maszyny wirtualne mogą działać bez opóźnień.
Wykorzystaj dedykowany wolumin do przechowywania maszyn wirtualnych
Unikaj przechowywania maszyn wirtualnych na woluminach systemowych. Wolumin systemowy jest zazwyczaj zajęty odczytem lub zapisem plików systemowych używanych przez system operacyjny (dysk C: jest domyślnie zawsze woluminem systemowym). W związku z tym przechowywanie plików maszyn wirtualnych na woluminie systemowym może obniżyć wydajność maszyn wirtualnych. Innym problemem, który może się pojawić, jest niewystarczająca ilość wolnego miejsca na woluminie. Sytuacja ta może wystąpić, gdy pliki systemowe zajmują całą wolną przestrzeń dyskową lub gdy pliki maszyn wirtualnych, takie jak pliki dysków wirtualnych, zajmują całą przestrzeń dyskową. W rezultacie maszyny wirtualne, których pliki są przechowywane na woluminie systemowym, są narażone na awarie. Ponadto host Hyper-V może również nie działać poprawnie bez wystarczającej ilości wolnego miejsca na zapisywanie plików systemowych. Należy korzystać z oddzielnych woluminów do przechowywania systemów operacyjnych i maszyn wirtualnych. Ponadto należy unikać przechowywania plików systemowych, takich jak pliki wymiany, na dyskach używanych do przechowywania danych maszyn wirtualnych.
Przechowuj pliki maszyn wirtualnych w jednym miejscu
Niektóre z głównych plików maszyn wirtualnych Hyper-V to: VHDX (VHD) – pliki dysków wirtualnych, AVHDX – pliki różnicowe dysków wirtualnych, VMCX – pliki konfiguracyjne oraz VMRS – pliki stanu środowiska uruchomieniowego. Pliki maszyn wirtualnych mogą być przechowywane w różnych domyślnych lokalizacjach, które nie są wygodne dla administratorów. Aby tego uniknąć, należy wyznaczyć jeden katalog do przechowywania wszystkich plików należących do bieżącej maszyny wirtualnej. Na poniższym zrzucie ekranu widać, że wszystkie pliki należące do maszyny wirtualnej o nazwie Server2016-01 są przechowywane w podkatalogach jednego katalogu o nazwie Server2016-01.

Zarezerwuj miejsce na pliki BIN (VMRS)
Pliki BIN zajmują miejsce na dysku, służąc do przechowywania stanu pamięci. W tym celu należy pozostawić zarezerwowaną przestrzeń na woluminach, na których przechowywane są pliki maszyny wirtualnej. Od wersji Hyper-V 2016 rozszerzenie tego typu plików zostało zmienione z BIN na VMRS. Ten typ plików zajmuje drugie miejsce pod względem zużycia miejsca na dysku, zaraz po plikach dysków wirtualnych VHDX. Rozmiar pliku BIN (VMRS) jest równy rozmiarowi pamięci wirtualnej maszyny wirtualnej. Na przykład, jeśli maszyna wirtualna ma dysk wirtualny o pojemności 30 GB i 8 GB pamięci wirtualnej, należy zarezerwować co najmniej 38 GB w magazynie. Jeśli dla maszyny wirtualnej skonfigurowano dynamiczną pamięć wirtualną, rozmiar pliku BIN (VMRS) będzie równy ilości przydzielonej pamięci w danym momencie.
Który system plików wybrać: NTFS czy ReFS?
NTFS (New Technology File System) to system plików stworzony przez Microsoft w 1993 roku, który jest obecnie szeroko stosowany w środowiskach Windows.
ReFS (Resilient File System) to najnowszy system plików firmy Microsoft wydany wraz z systemem Windows Server 2012, który oferuje takie ulepszenia, jak:
- Ochrona danych przed uszkodzeniem poprzez stosowanie sum kontrolnych dla metadanych i plików
- Integracja z przestrzeniami dyskowymi
- Automatyczne sprawdzanie integralności danych i korekcja błędów (w przypadku wystąpienia błędu)
- Technologia klonowania bloków (przydatna podczas klonowania maszyn wirtualnych)
- Zwiększona odporność na przerwy w zasilaniu
- Wsparcie dla szyfrowania za pomocą funkcji BitLocker
- Zwiększony maksymalny rozmiar pliku i długość nazwy pliku
- Zwiększona maksymalna pojemność woluminu
- Szybsze tworzenie stałych dysków wirtualnych
Jak widać, System plików ReFS ma długą listę zalet i został zaprojektowany tak, aby skuteczniej spełniać wymagania dotyczące magazynu serwera. Istnieją jednak również pewne wady:
- System Windows nie może zostać uruchomiony z woluminu ReFS
- Kompresja danych, deduplikacja plików w systemie Windows, szyfrowanie plików, dowiązania twarde, atrybuty rozszerzone oraz limity dyskowe nie są obsługiwane
- Nie można go używać w przypadku klastrowanych woluminów współdzielonych
- Nie zapewnia wsparcia dla starszych nazw plików w formacie 8.3
Ostatecznie wybór systemu plików należy do administratora. Zaleca się stosowanie systemu ReFS jako magazynu dla Hyper-V, jeśli ograniczenia tego systemu nie mają znaczenia dla danego systemu.
Korzystaj z szybkiej sieci pamięci masowej
W przypadku korzystania ze zdalnej pamięci masowej kluczowym czynnikiem jest połączenie sieciowe. Jeśli w serwerze NAS lub SAN masz szybkie dyski, ale powolne połączenie sieciowe, ogólna wydajność systemu pamięci masowej ulegnie pogorszeniu. Z tego powodu zaleca się korzystanie z dedykowanej, szybkiej sieci o niskim opóźnieniu. Aby zapewnić akceptowalną prędkość, zaleca się połączenie sieciowe 10 Gbit. Pomocne jest również wykorzystanie teamingu kart sieciowych w celu agregacji przepustowości.
Unikaj przechowywania maszyny wirtualnej z kontrolerem domeny na udziale SMB3
Aby udział SMB 3.0 działał poprawnie, wymagany jest dostęp do kontrolera domeny. Jeśli host z udziałem SMB 3.0 lub host Hyper-V nie ma dostępu do kontrolera domeny, uwierzytelnienie nie zostanie pomyślnie zakończone i nie będzie można nawiązać połączenia. W takiej sytuacji serwer Hyper-V nie będzie w stanie uruchomić maszyny wirtualnej z kontrolerem domeny umieszczonej na udziale SMB 3.0. Aby zapobiec temu problemowi, przechowuj maszynę wirtualną z kontrolerem domeny na lokalnej pamięci masowej hosta Hyper-V.
Wykorzystaj klastrowane woluminy współdzielone (CSV) do pamięci masowej klastra
Podczas wdrażania klastra należy skonfigurować współdzieloną pamięć masową. W przypadku korzystania z tradycyjnej pamięci masowej bez CSV tylko jeden węzeł (host Hyper-V) może uzyskać dostęp do tego samego dysku/LUN w danym momencie. Klastrowane woluminy współdzielone (CSV) mogą rozwiązać ten problem, zapewniając jednoczesny dostęp do pamięci masowej dla wielu węzłów bez konieczności ponownego montowania woluminów i zmiany właściciela wraz z uprawnieniami. Dzięki CSV można mieć klastrowany system plików nakładający się na NTFS lub ReFS dla Hyper-V.
Unikaj używania dysków typu pass-through
Dysk typu pass-through to dysk fizyczny (LUN) podłączony do maszyny wirtualnej. Ten typ dysku jest używany jako urządzenie pamięci masowej i jest podłączony bezpośrednio do kontrolera dyskowego maszyny wirtualnej. W pierwszych wersjach Hyper-V używanie dysków typu pass-through pomagało zwiększyć wydajność. Obecnie formaty dysków wirtualnych są na tyle zaawansowane, że uwzględnianie wydajności i stosowanie dysków typu pass-through nie ma sensu ze względu na problemy, które mogą się pojawić podczas ich użytkowania. Nie da się łatwo przenieść dysku typu pass-through wraz z maszyną wirtualną, a oprogramowanie do tworzenia kopii zapasowych nie jest w stanie wykonać kopii zapasowej maszyny wirtualnej z tym typem dysku na poziomie hosta.
Który typ dysku wirtualnego wybrać – VHD czy VHDX?
VHD to starszy format dysków wirtualnych dla maszyn wirtualnych, wprowadzony w 2003 roku. VHDX to bardziej zaawansowany format (wydany wraz z systemem Windows Server 2012), który charakteryzuje się wyższym limitem pojemności dysku wirtualnego (do 64 TB), obsługuje bloki 4 KB, umożliwia zmianę rozmiaru dysku wirtualnego na żywo oraz posiada funkcję ciągłej aktualizacji struktury metadanych, co zmniejsza prawdopodobieństwo uszkodzenia danych spowodowanego utratą zasilania. Z tego powodu zaleca się stosowanie dysków wirtualnych VHDX w środowisku Hyper-V.
Wykorzystanie dysków wirtualnych o stałej wielkości i dynamicznie rozszerzanych
A stały dysk wirtualny to plik VHDX (VHD), który zajmuje całą wstępnie przydzieloną przestrzeń w magazynie, niezależnie od ilości miejsca wykorzystanego wewnątrz dysku wirtualnego. Zaletą korzystania ze stałych dysków wirtualnych jest to, że działają one szybciej, nie powodują problemów związanych z nadmiernym przydzielaniem zasobów, a fragmentacja pliku VHDX pozostaje taka sama po utworzeniu. Wadą korzystania ze stałych dysków wirtualnych jest to, że ich utworzenie może trwać dłużej na woluminach NTFS, a do utworzenia dysku potrzeba więcej miejsca w magazynie.
Dysk wirtualny z dynamicznym rozszerzaniem zaczyna się od niewielkiego rozmiaru wynoszącego kilka kilobajtów po wstępnym przydziale, a następnie powiększa się po zapisaniu plików na dysku wirtualnym, aż osiągnie maksymalny rozmiar przydzielony podczas tworzenia dysku. Dysk dynamiczny nie może zostać automatycznie zmniejszony po usunięciu danych z dysku tego typu. Korzyści z używania dysków dynamicznych to oszczędność miejsca, szybkie tworzenie oraz możliwość nadmiernego przydziału. Wadami są: wolniejsze działanie dysków dynamicznych w porównaniu z dyskami stałymi, większa fragmentacja oraz to, że nadmiarowe przydzielanie przestrzeni może spowodować brak wolnego miejsca w magazynie po rozszerzeniu dysków dynamicznych.
W zależności od potrzeb można korzystać zarówno z dysków wirtualnych stałych, jak i dynamicznych.
Różnicowe dyski twarde
Różnicowy dysk twardy to plik dysku wirtualnego (AVHDX lub AVHD), który jest tworzony w katalogu maszyny wirtualnej wraz z dyskami wirtualnymi po utworzeniu punktu kontrolnego. Celem utworzenia dysku różnicowego jest zapisanie zmian wprowadzonych na macierzystym dysku wirtualnym maszyny wirtualnej po utworzeniu punktu kontrolnego. Macierzysty dysk wirtualny może być dyskiem stałym, dynamicznym lub różnicowym. Po usunięciu punktu kontrolnego dysk różnicowy utworzony dla tego punktu zostaje scalony z macierzystym dyskiem wirtualnym. Dysk różnicowy można również utworzyć za pomocą nowego kreatora dysków twardych Hyper-V. Należy pamiętać, że tworzenie dużej liczby punktów kontrolnych powoduje powiększanie się dysków różnicowych, co skutkuje spadkiem wydajności.
Monitorowanie stanu i wydajności dysków
Regularne monitorowanie stanu dysków może zapobiec ewentualnym uszkodzeniom dysków, które mogą spowodować uszkodzenie danych. Należy korzystać z narzędzi, które mogą monitorować dane S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) dysków twardych, w tym dysków należących do macierzy RAID. Im wcześniej zidentyfikujesz dysk z problemami, tym większe prawdopodobieństwo, że Twoje dane będą bezpieczne. Należy również przeprowadzać monitorowanie wydajności dysków, aby zidentyfikować te, które mogą być przeciążone. Może to pomóc w podjęciu decyzji o przeniesieniu maszyn wirtualnych wykonujących operacje intensywnie wykorzystujące dyski na inne nośniki w celu optymalizacji ogólnej wydajności.
Wnioski
Magazyn jest kluczowym elementem serwerów, ponieważ dane, które zawiera, są szczególnie ważne dla większości firm IT. Dzisiejszy wpis na blogu dotyczył najlepszych rozwiązań dotyczących pamięci masowej dla Hyper-V, które mogą pomóc w optymalizacji wydajności maszyn wirtualnych i zapewnieniu wysokiej niezawodności pamięci masowej. Spośród wszystkich wymienionych powyżej zaleceń wybierz te, które pasują do Twojego środowiska.
Nawet jeśli dysponujesz pamięcią masową najwyższej klasy, ważne jest, aby prawidłowo wykonać kopię zapasową danych maszyn wirtualnych Hyper-V. NAKIVO Backup & Replication może pomóc Ci w wykonywaniu kopii zapasowych maszyn wirtualnych Hyper-V w najbardziej efektywny sposób.