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 označuje trvalou paměť, nový typ nízké latence a úložiště s vysokým výkonem. |
![]() |
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 odkazuje na jednotky SSD se systémem SOLID-state, které se připojují přes konvenční SATA nebo SAS. |
![]() |
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.
Možnosti hybridního nasazení
Hybridní nasazení se zaměřují na vyvážení výkonu a kapacity nebo maximalizace kapacity a zahrnují hdd.
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.
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.
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.
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.
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.
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í:
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.
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: