Principy mezipaměti fondu úložiště

Platí pro: Azure Stack HCI, verze 21H2 a 20H2; Windows Server 2022, Windows Server 2019

Prostory úložiště s přímým přístupem základní technologie virtualizace úložiště za Azure Stack HCI a Windows Serverem nabízí integrovanou mezipaměť na straně serveru, která maximalizuje výkon úložiště a snižuje náklady. Jedná se o rozsáhlou, trvalou mezipaměť čtení a zápisu v reálném čase, která se při nasazení konfiguruje automaticky. Ve většině případů se nevyžaduje žádná ruční správa. Způsob fungování mezipaměti závisí na typech jednotek, které jsou přítomné.

Typy jednotek a možnosti nasazení

Prostory úložiště s přímým přístupem aktuálně funguje se čtyřmi typy jednotek:

Typ jednotky Description
PMem PMem označuje trvalou paměť, nový typ nízké latence a úložiště s vysokým výkonem.
NVMe NVMe (Non-Volatile Memory Express) odkazuje na jednotky SSD, které se nacházejí přímo na sběrnici PCIe. Běžné faktory formy jsou 2,5" U.2, PCIe Add-In-Card (AIC) a M.2. NVMe nabízí vyšší IOPS a vstupně-výstupní propustnost s nižší latencí než jakýkoli jiný typ jednotky, které dnes podporujeme kromě PMem.
SSD SSD odkazuje na jednotky SSD se systémem SOLID-state, které se připojují přes konvenční SATA nebo SAS.
HDD Hdd odkazuje na rotační magnetické pevné disky, které nabízejí rozsáhlou kapacitu úložiště za nízkou cenu.

Tyto možnosti se dají kombinovat různými způsoby, které seskupíme do dvou kategorií: "all-flash" a "hybrid". Nasazení se všemi pevnými disky se nepodporují.

Poznámka

Tento článek popisuje konfigurace mezipaměti pomocí NVMe, SSD a HDD. Informace o používání trvalé paměti jako mezipaměti najdete v tématu Vysvětlení a nasazení trvalé paměti.

Možnosti nasazení all-flash

Nasazení all-flash cílí na maximalizaci výkonu úložiště a nezahrnují HDD.

Diagram shows all-flash deployments, including NVMe for capacity, NVMe for cache with SSD for capacity, and SSD for capacity.

Možnosti hybridního nasazení

Hybridní nasazení se zaměřují na vyvážení výkonu a kapacity nebo maximalizace kapacity a zahrnují hdd.

Diagram shows hybrid deployments, including NVMe for cache with HDD for capacity, SSD for cache with HDD for capacity, and NVMe for cache with HDD plus SSD for capacity.

Poznámka

Hybridní nasazení není podporováno v konfiguraci jednoho serveru. Všechny konfigurace plochého jednoho úložiště (například all-NVMe nebo all-SSD) jsou jediným podporovaným typem úložiště pro jeden server.

Jednotky mezipaměti se vyberou automaticky.

V nasazeních s více typy jednotek Prostory úložiště s přímým přístupem automaticky používá všechny jednotky nejrychlejšího typu pro ukládání do mezipaměti. Zbývající jednotky se použijí k ukládání.

Který typ je "nejrychlejší" je určen podle následující hierarchie.

Diagram shows disk types arranged faster to slower in the order NVMe, SSD, unlabeled disk representing HDD.

Pokud máte například disky NVMe a SSD, bude nvMe ukládat disky SSD do mezipaměti.

Pokud máte disky SSD a PEVNÉ disky, disky SSD se budou ukládat do mezipaměti pro disky HDD.

Poznámka

Jednotky mezipaměti nepřispívají využitelné kapacitě úložiště do clusteru. Všechna data uložená v mezipaměti jsou také uložená jinde nebo se budou po odstranění fází ukládat. To znamená, že celková nezpracovaná kapacita úložiště vašeho clusteru je součet jenom jednotek kapacity.

Pokud jsou všechny jednotky stejného typu, není automaticky nakonfigurována žádná mezipaměť. Máte možnost ručně nakonfigurovat jednotky s vyšší výdrží pro ukládání do mezipaměti pro jednotky s nižší výdrží stejného typu – informace najdete v části Ruční konfigurace .

Tip

V některých případech použití mezipaměti fondu úložiště nemá smysl. Například v nasazeních all-NVMe nebo all-SSD, zejména ve velmi malém měřítku, bez jednotek "strávených" v mezipaměti může zlepšit efektivitu úložiště a maximalizovat výkon. Podobně malé nasazení vzdálené pobočky nebo pobočky můžou mít omezený prostor pro jednotky mezipaměti.

Chování mezipaměti se nastavuje automaticky.

Chování mezipaměti se určuje automaticky na základě typů jednotek, pro které se ukládají do mezipaměti. Při ukládání do mezipaměti pro flash disky (například ukládání do mezipaměti NVMe pro disky SSD) se ukládají jenom zápisy do mezipaměti. Při ukládání do mezipaměti pro rotující diskové jednotky (jako je ukládání disků SSD do mezipaměti pro disky HDD) se ukládají do mezipaměti jak čtení, tak zápisy.

Diagram comparing caching for all-flash, where writes are cached and reads are not, with hybrid, where both reads and writes are cached.

Ukládání do mezipaměti jen pro zápis pro nasazení all-flash

Ukládání do mezipaměti lze použít ve scénáři se všemi flash soubory, například pomocí NVMe jako mezipaměti, aby se zrychlil výkon disků SSD. Při ukládání do mezipaměti pro nasazení all-flash se ukládají jenom zápisy do mezipaměti. To snižuje opotřebení na kapacitních jednotkách, protože mnoho zápisů a opakovaných zápisů se může sloučí v mezipaměti a pak je podle potřeby defázovat, což snižuje kumulativní provoz na jednotky kapacity a rozšiřuje jejich životnost. Z tohoto důvodu doporučujeme vybrat jednotky optimalizované pro zápis do mezipaměti. Jednotky kapacity mohou mít přiměřeně nižší výdrž zápisu.

Vzhledem k tomu, že čtení nemá významný vliv na životnost flash, a protože disky SSD nabízejí nízkou latenci čtení, nejsou čtení uložená v mezipaměti: obsluhují se přímo z kapacitních jednotek (s výjimkou toho, že data byla zapsána tak nedávno, že ještě nebyla defázovaná). To umožňuje, aby mezipaměť byla vyhrazena zcela pro zápisy a maximalizovala jeho efektivitu.

Výsledkem jsou charakteristiky zápisu, jako je latence zápisu, diktované jednotkami mezipaměti, zatímco charakteristiky čtení jsou diktovány jednotkami kapacity. Obě jsou konzistentní, předvídatelné a jednotné.

Ukládání do mezipaměti pro čtení a zápis pro hybridní nasazení

Při ukládání do mezipaměti pro HDD jsou čtení i zápisy uloženy do mezipaměti, aby se zajistila latence podobná flashi (často ~10x lepší) pro obě. Mezipaměť pro čtení ukládá nedávno a často čte data pro rychlý přístup a minimalizuje náhodný provoz na pevné disky. (Kvůli zpoždění hledání a otočení je latence a ztráta času způsobená náhodným přístupem k hdd důležitá.) Zápisy se ukládají do mezipaměti, aby absorbovaly nárůsty, a stejně jako předtím, aby se zápisy a znovu zapisovaly a minimalizovaly kumulativní provoz na jednotky kapacity.

Prostory úložiště s přímým přístupem implementuje algoritmus, který de-randomizuje zápisy před jejich přípravou, aby emuloval vstupně-výstupní model na disk, který se zdá být sekvenční, i když skutečný vstupně-výstupní operace pocházející z úlohy (například virtuální počítače) je náhodný. Tím se maximalizuje vstupně-výstupní operace za sekundu a propustnost na disky HDD.

Ukládání do mezipaměti v nasazeních pomocí NVMe, SSD a HDD

Pokud jsou k dispozici jednotky všech tří typů, disky NVMe poskytují ukládání do mezipaměti pro disky SSD i pevné disky. Chování je popsáno výše: pro disky SSD jsou uloženy pouze zápisy a pro disky SSD jsou uloženy v mezipaměti jak čtení, tak zápisy. Zatížení ukládání do mezipaměti pro pevné disky se rovnoměrně distribuuje mezi jednotky mezipaměti.

Souhrn

Tato tabulka shrnuje, které jednotky se používají pro ukládání do mezipaměti, které se používají pro kapacitu a jaké chování ukládání do mezipaměti je pro každou možnost nasazení.

Nasazení Jednotky mezipaměti Jednotky kapacity Chování mezipaměti (výchozí)
Všechny NVMe Žádné (volitelné: ruční konfigurace) NVMe Pouze zápis (pokud je nakonfigurovaný)
Všechny disky SSD Žádné (volitelné: ruční konfigurace) SSD Pouze zápis (pokud je nakonfigurovaný)
NVMe + SSD NVMe SSD Jen pro zápis
NVMe + HDD NVMe HDD Čtení + zápis
SSD + HDD SSD HDD Čtení + zápis
NVMe + SSD + HDD NVMe SSD + HDD Čtení a zápis pro HDD, pouze zápis pro SSD

Architektura na straně serveru

Mezipaměť se implementuje na úrovni jednotky: jednotlivé jednotky mezipaměti na jednom serveru jsou vázané na jednu nebo mnoho kapacitních jednotek na stejném serveru.

Vzhledem k tomu, že mezipaměť je nižší než zbytek Windows softwarově definovaného zásobníku úložiště, nemá ani nepotřebuje žádné povědomí o konceptech, jako je Prostory úložiště nebo odolnost proti chybám. Můžete si to představit jako vytvoření "hybridních" jednotek (část flash, část disku), které jsou pak prezentovány operačnímu systému. Stejně jako u skutečného hybridního disku je pohyb horkých a studených dat v reálném čase mezi rychlejšími a pomalejšími částmi fyzického média téměř neviditelný pro vnější.

Vzhledem k tomu, že odolnost v Prostory úložiště s přímým přístupem je minimálně na úrovni serveru (což znamená, že kopie dat se vždy zapisují na různé servery; maximálně jedna kopie na server), data v mezipaměti využívají stejnou odolnost jako data, která nejsou v mezipaměti.

Diagram represents three servers joined by a three-way mirror in a Storage Space layer, which accesses a cache layer of NVMe drives which access unlabeled capacity drives.

Například při použití trojcestného zrcadlení se tři kopie všech dat zapisují do různých serverů, kde přistane v mezipaměti. Bez ohledu na to, jestli jsou později defázované, nebo ne, budou vždy existovat tři kopie.

Vazby jednotek jsou dynamické

Vazba mezi mezipamětí a kapacitou jednotek může mít libovolný poměr od 1:1 až do 1:12 a vyšší. Dynamicky se upraví při každém přidání nebo odebrání jednotek, například při vertikálním navýšení kapacity nebo po selhání. To znamená, že můžete nezávisle přidávat jednotky mezipaměti nebo jednotky kapacity, kdykoli budete chtít.

Animated diagram shows two NVMe cache drives dynamically mapping to first four, then six, then eight capacity drives.

Pro symetrii doporučujeme nastavit počet jednotek kapacity na násobek počtujednotch Pokud máte například 4 jednotky mezipaměti, budete mít větší výkon s 8 kapacitou jednotek (poměr 1:2) než s 7 nebo 9.

Zpracování selhání jednotek mezipaměti

Když jednotka mezipaměti selže, všechny zápisy, které ještě nebyly defázované, se ztratí na místním serveru, což znamená, že existují pouze na ostatních kopiích (na jiných serverech). Stejně jako po jakémkoli jiném selhání jednotky může Prostory úložiště a automaticky se zotavit po konzultaci s přeživšími kopiemi.

Po krátkou dobu se jednotky kapacity, které byly vázané na jednotku ztracené mezipaměti, zobrazí v pořádku. Jakmile dojde k opětovnému vazbě mezipaměti (automatické) a oprava dat se dokončí (automaticky), obnoví se zobrazení jako v pořádku.

Tento scénář je důvodem, proč jsou pro zachování výkonu vyžadovány minimálně dvě jednotky mezipaměti na server.

Animated diagram shows two SSD cache drives mapped to six capacity drives until one cache drive fails, which causes all six drives to be mapped to the remaining cache drive.

Jednotku mezipaměti pak můžete nahradit stejně jako jakoukoli jinou jednotku.

Poznámka

Možná budete muset vypnout možnost bezpečného nahrazení NVMe, která je Add-In karta (AIC) nebo M.2 form factor.

Vztah k jiným mezipamětí

V Windows softwarově definovaném zásobníku úložiště existuje několik dalších nesouvisejících mezipamětí. Mezi příklady patří mezipaměť Prostory úložiště zpětného zápisu a mezipaměť čtení ve sdíleném svazku clusteru (CSV).

S Azure Stack HCI by se Prostory úložiště mezipaměť zpětných zápisů neměla měnit z výchozího chování. Například parametry, jako je -WriteCacheSize v rutině New-Volume , by se neměly používat.

Můžete se rozhodnout použít mezipaměť CSV, nebo ne – je na vás. Ve výchozím nastavení je ve službě Azure Stack HCI zapnutá, ale není v konfliktu s mezipamětí popsanou v tomto tématu žádným způsobem. V určitých scénářích může poskytovat cenné zvýšení výkonu. Další informace najdete v tématu Použití mezipaměti čtení v paměti v paměti se službou Azure Stack HCI.

Ruční konfigurace

Pro většinu nasazení není vyžadována ruční konfigurace. Pokud ho potřebujete, přečtěte si následující části.

Pokud potřebujete po nastavení provést změny modelu zařízení mezipaměti, upravte dokument o komponentách podpory Health Service, jak je popsáno v přehledu Health Service.

Určení modelu jednotky mezipaměti

V nasazeních, kde jsou všechny jednotky stejného typu, jako je například nasazení all-NVMe nebo all-SSD, není nakonfigurovaná žádná mezipaměť, protože Windows nemůže rozlišovat charakteristiky, jako je odolnost zápisu automaticky mezi jednotkami stejného typu.

Pokud chcete použít jednotky s vyšší odolností k ukládání do mezipaměti pro jednotky s nižší výdrží stejného typu, můžete určit, který model jednotky se má použít s parametrem -CacheDeviceModel rutiny Enable-ClusterS2D . Všechny jednotky tohoto modelu se použijí pro ukládání do mezipaměti.

Tip

Nezapomeňte přesně odpovídat řetězci modelu, jak se zobrazuje ve výstupu Get-PhysicalDisk.

Příklad

Nejprve získejte seznam fyzických disků:

Get-PhysicalDisk | Group Model -NoElement

Tady je příklad výstupu:

Count Name
----- ----
    8 FABRIKAM NVME-1710
   16 CONTOSO NVME-1520

Pak zadejte následující příkaz, který určuje model zařízení mezipaměti:

Enable-ClusterS2D -CacheDeviceModel "FABRIKAM NVME-1710"

Jednotky, které jste chtěli použít pro ukládání do mezipaměti, můžete ověřit spuštěním rutiny Get-PhysicalDisk v PowerShellu a ověřením, že jejich vlastnost Usage říká Deník.

Možnosti ručního nasazení

Ruční konfigurace umožňuje následující možnosti nasazení:

Diagram shows deployment possibilities, including NVMe for both cache and capacity, SSD for both cache and capacity, and SSD for cache and mixed SSD and HDD for capacity.

Nastavení chování mezipaměti

Výchozí chování mezipaměti je možné přepsat. Můžete ho například nastavit tak, aby se čtení do mezipaměti načetlo i v nasazení typu all-flash. Nedoporučujeme měnit chování, pokud si nejste jistí, že výchozí nastavení nevyhovuje vaší úloze.

K přepsání chování použijte rutinu Set-ClusterStorageSpacesDirect a parametry -CacheModeSSD a -CacheModeHDD . Parametr CacheModeSSD nastavuje chování mezipaměti při ukládání do mezipaměti pro SSD. Parametr CacheModeHDD nastavuje chování mezipaměti při ukládání do mezipaměti pro HDD.

K ověření nastavení chování můžete použít Get-ClusterStorageSpacesDirect .

Příklad

Nejprve získejte nastavení Prostory úložiště s přímým přístupem:

Get-ClusterStorageSpacesDirect

Tady je příklad výstupu:

CacheModeHDD : ReadWrite
CacheModeSSD : WriteOnly

Pak proveďte tyto akce:

Set-ClusterStorageSpacesDirect -CacheModeSSD ReadWrite

Get-ClusterS2D

Tady je příklad výstupu:

CacheModeHDD : ReadWrite
CacheModeSSD : ReadWrite

Změna velikosti mezipaměti

Mezipaměť by měla mít velikost tak, aby vyhovovala pracovní sadě (data, která se v daném okamžiku aktivně čtou nebo zapisují) vašich aplikací a úloh.

To je zvlášť důležité v hybridních nasazeních s pevnými disky. Pokud aktivní pracovní sada překročí velikost mezipaměti nebo pokud aktivní pracovní sada příliš rychle posune, zvětší se počet chyb mezipaměti čtení a zápisy se budou muset defázovat agresivněji, což snižuje celkový výkon.

Pomocí integrovaného nástroje Sledování výkonu (PerfMon.exe) v Windows můžete zkontrolovat rychlost chyb mezipaměti. Konkrétně můžete porovnat miss mezipaměti čtení/s z clusteru Storage čítače hybridního disku nastaveného na celkový počet vstupně-výstupních operací čtení vašeho nasazení. Každý "Hybridní disk" odpovídá jedné jednotce kapacity.

Například 2 jednotky mezipaměti vázané na 4 jednotky kapacity mají za následek 4 instance objektů Hybridní disk na server.

Performance-Monitor

Neexistuje žádné univerzální pravidlo, ale pokud chybí příliš mnoho čtení mezipaměti, může být podsazené a měli byste zvážit přidání jednotek mezipaměti pro rozšíření mezipaměti. Jednotky mezipaměti nebo jednotky kapacity můžete přidávat nezávisle na sobě.

Další kroky

Další znalosti o úložišti najdete také v následujících tématech: