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

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

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

Typy jednotek a možnosti nasazení

Prostory úložiště s přímým přístupem v současné době funguje se čtyřmi typy jednotek:

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

Ty lze kombinovat různými způsoby, které seskupíme do dvou kategorií: "all-flash" a "hybrid". Nasazení se všemi pevnými disky nejsou podporována.

Poznámka

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

Možnosti nasazení typu All-Flash

Nasazení typu all-flash mají za cíl maximalizovat výkon úložiště a nezahrnují hdd.

Diagram znázorňuje nasazení typu all-flash, včetně NVMe pro kapacitu, NVMe pro mezipaměť s SSD pro kapacitu a SSD pro kapacitu.

Možnosti hybridního nasazení

Hybridní nasazení mají za cíl vyvážit výkon a kapacitu nebo maximalizovat kapacitu a zahrnují hdd.

Diagram znázorňuje hybridní nasazení, včetně NVMe pro mezipaměť s pevným diskem pro kapacitu, SSD pro mezipaměť s pevným diskem pro kapacitu a NVMe pro mezipaměť s HDD a SSD pro kapacitu.

Poznámka

Hybridní nasazení se v konfiguraci s jedním serverem nepodporuje. Jediným podporovaným typem úložiště pro jeden server jsou všechny konfigurace typu plochého úložiště (například all-NVMe nebo all-SSD).

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á pro ukládání do mezipaměti všechny jednotky nejrychlejšího typu. Zbývající jednotky se použijí k ukládání.

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

Diagram znázorňuje typy disků uspořádané rychleji na pomalejší v pořadí NVMe, SSD, neoznačené disky představující hdd.

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

Pokud máte disky SSD a PEVNÉ disky, budou disky SSD pro pevné disky uložené v mezipaměti.

Poznámka

Jednotky mezipaměti nepřispívají do clusteru využitelnou kapacitou úložiště. Všechna data uložená v mezipaměti jsou také uložena jinde nebo budou po jejich zrušení. To znamená, že celková nezpracovaná kapacita úložiště clusteru je pouze součtem jednotek vaší 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šší odolností do mezipaměti pro jednotky s nižší odolností stejného typu – postup najdete v části Ruční konfigurace .

Tip

V některých případech použití mezipaměti fondu úložiště nedává smysl. Například v nasazeních typu all-NVMe nebo all-SSD, zejména ve velmi malém měřítku, může použití žádné jednotky "strávené" v mezipaměti zlepšit efektivitu úložiště a maximalizovat výkon. Podobně malá nasazení na vzdálené nebo firemní 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 do mezipaměti ukládají. Při ukládání do mezipaměti pro flash disky (například ukládání do mezipaměti NVMe pro disky SSD) se do mezipaměti ukládají jenom zápisy. Při ukládání do mezipaměti pro otáčení diskových jednotek (například ukládání do mezipaměti disků SSD pro pevné disky) se do mezipaměti ukládají čtení i zápisy.

Diagram porovnávající ukládání do mezipaměti pro all-flash, kde se zápisy ukládají do mezipaměti a čtení nejsou, s hybridním, kde se do mezipaměti ukládají čtení i zápisy.

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

Ukládání do mezipaměti je možné použít ve scénáři typu all-flash, například použití NVMe jako mezipaměti ke zrychlení výkonu disků SSD. Při ukládání do mezipaměti pro nasazení typu all-flash se do mezipaměti ukládají jenom zápisy. Tím se snižuje opotřebení jednotek kapacity, protože mnoho zápisů a přepisů se může v mezipaměti sdružovat a pak pouze v případě potřeby zrušit fázi, což snižuje kumulativní provoz na kapacitní jednotky a prodlouží jejich životnost. Z tohoto důvodu doporučujeme pro mezipaměť vybrat jednotky s vyšší odolností a optimalizovanými pro zápis . Jednotky s kapacitou mohou mít přiměřeně nižší odolnost proti zápisu.

Vzhledem k tomu, že čtení významně neovlivňuje životnost flashe a disky SSD nabízejí všeobecně nízkou latenci čtení, čtení se neukládají do mezipaměti: obsluhují se přímo z jednotek kapacity (s výjimkou případů, kdy byla data zapsána tak nedávno, že ještě nebyla defázována). To umožňuje, aby se mezipaměť zcela věnovala zápisu, což maximalizuje její účinnost.

To vede k tomu, že charakteristiky zápisu, jako je latence zápisu, jsou diktovány 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 pevný disk se do mezipaměti ukládají čtení i zápisy, aby byla zajištěna latence podobná flashi (často přibližně 10krát vyšší) pro obě. Mezipaměť pro čtení ukládá nedávno a často čtená data pro rychlý přístup a pro minimalizaci náhodného provozu na pevné disky. (Kvůli zpožděním hledání a rotace je latence a ztracený čas způsobený náhodným přístupem k pevnému disku významný.) Zápisy se ukládají do mezipaměti, aby absorbovaly nárazy a stejně jako předtím sloučí zápisy a přepisy a minimalizují 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) jsou náhodné. Tím se maximalizuje vstupně-výstupních operací za sekundu a propustnost na pevné disky.

Ukládání do mezipaměti v nasazeních s využitím NVMe, SSD a HDD

Pokud jsou k dispozici jednotky všech tří typů, jednotky NVMe poskytují ukládání do mezipaměti pro disky SSD i HDD. Chování je popsané výše: do mezipaměti pro disky SSD se ukládají pouze zápisy a pro pevné disky se ukládají do mezipaměti čtení i zápisy. Zatížení ukládání pevných disků do mezipaměti se rovnoměrně rozděluje 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é je chování ukládání do mezipaměti pro jednotlivé možnosti nasazení.

Nasazení Jednotky mezipaměti Jednotky kapacity Chování mezipaměti (výchozí)
Vše NVMe Žádné (volitelné: konfigurace ručně) NVMe Jen pro zápis (pokud je nakonfigurovaný)
Všechny disky SSD Žádné (volitelné: konfigurace ručně) SSD Jen pro 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, jen zápis pro SSD

Architektura na straně serveru

Mezipaměť se implementuje na úrovni jednotky: jednotlivé jednotky mezipaměti v rámci jednoho serveru jsou vázané na jednu nebo více jednotek kapacity na stejném serveru.

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

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

Diagram znázorňuje tři servery spojené trojcestným zrcadlem ve vrstvě prostoru úložiště, která přistupuje k vrstvě mezipaměti jednotek NVMe, které přistupují k neoznačené kapacitní jednotce.

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

Vazby jednotek jsou dynamické.

Vazba mezi mezipamětí a jednotkami kapacity může mít libovolný poměr, od 1:1 do 1:12 a dále. Dynamicky se upravuje 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 jednotky mezipaměti nebo jednotky kapacity můžete přidávat nezávisle na sobě, kdykoli budete chtít.

Animovaný diagram znázorňuje dvě jednotky mezipaměti NVMe, které se dynamicky mapuje na první čtyři, pak na šest a pak na osm jednotek kapacity.

Kvůli symetrii doporučujeme nastavit počet jednotek kapacity jako násobek počtu jednotek mezipaměti. Pokud máte například 4 jednotky mezipaměti, dosáhnete vyššího výkonu s 8 jednotkami kapacity (poměr 1:2) než se 7 nebo 9.

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

Při selhání jednotky mezipaměti dojde ke ztrátě všech zápisů, které ještě nebyly defázovány, na místním serveru, což znamená, že existují pouze na ostatních kopiích (na jiných serverech). Stejně jako po jakékoli jiné chybě jednotky se Prostory úložiště automaticky obnoví na základě dochovaných kopií.

Po krátkou dobu se jednotky kapacity, které byly vázané na ztracenou jednotku mezipaměti, budou zdát v pořádku. Jakmile dojde k opětovnému vytvoření vazby mezipaměti (automaticky) a oprava dat se dokončí (automaticky), obnoví se zobrazení v pořádku.

Tento scénář je důvodem, proč jsou pro zachování výkonu na serveru potřeba minimálně dvě jednotky mezipaměti.

Animovaný diagram znázorňuje dvě jednotky mezipaměti SSD namapované na šest jednotek kapacity, dokud jedna jednotka mezipaměti selže, což způsobí mapování všech šesti jednotek na zbývající jednotku mezipaměti.

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

Poznámka

Možná budete muset vypnout, abyste bezpečně nahradili NVMe, který je Add-In card (AIC) nebo M.2 form factor.

Vztah k jiným mezipamětím

V softwarově definovaném zásobníku úložiště windows je 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í sdíleného svazku clusteru (CSV) v paměti.

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

Můžete se rozhodnout, jestli chcete použít mezipaměť CSV, nebo ne – je to na vás. Ve službě Azure Stack HCI je ve výchozím nastavení zapnutá, ale v žádném případě není v konfliktu s mezipamětí popsanou v tomto tématu. V některých scénářích může přinést cenné zvýšení výkonu. Další informace najdete v tématu Použití mezipaměti pro čtení sdíleného svazku clusteru v paměti se službou Azure Stack HCI.

Ruční konfigurace

U většiny nasazení se ruční konfigurace nevyžaduje. 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 podpůrných komponentách služby Health Service, jak je popsáno v tématu Přehled služby Health Service.

Určení modelu jednotky mezipaměti

V nasazeních, kde jsou všechny jednotky stejného typu, jako jsou nasazení typu all-NVMe nebo all-SSD, není nakonfigurovaná žádná mezipaměť, protože systém Windows nemůže rozlišovat charakteristiky, jako je odolnost při 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žší odolností 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

Ujistěte se, že odpovídá řetězci modelu přesně tak, 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 a zadejte model zařízení mezipaměti:

Enable-ClusterS2D -CacheDeviceModel "FABRIKAM NVME-1710"

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

Možnosti ručního nasazení

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

Diagram znázorňuje možnosti nasazení, včetně NVMe pro mezipaměť i kapacitu, SSD pro mezipaměť i kapacitu a SSD pro mezipaměť a smíšených DISKŮ SSD a HDD pro kapacitu.

Nastavení chování mezipaměti

Výchozí chování mezipaměti je možné přepsat. Můžete ho například nastavit tak, aby ukládaly čtení do mezipaměti 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 její 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.

Pomocí rutiny Get-ClusterStorageSpacesDirect můžete ověřit nastavení chování.

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 obzvláště důležité v hybridních nasazeních s jednotkami pevného disku. Pokud aktivní pracovní sada překročí velikost mezipaměti nebo se aktivní pracovní sada příliš rychle posune, zvýší se počet chyb v mezipaměti pro čtení a zápisy budou muset být agresivněji odfázovány, což snižuje celkový výkon.

Pomocí integrovaného nástroje Sledování výkonu (PerfMon.exe) ve Windows můžete zkontrolovat míru chyb v mezipaměti. Konkrétně můžete porovnat chybějící čtení mezipaměti za sekundu z čítače hybridního disku úložiště clusteru s celkovým čtením IOPS 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ího disku na server.

Sledování výkonu.

Univerzální pravidlo neexistuje, ale pokud v mezipaměti chybí příliš mnoho čtení, může být poddimenzovaná a měli byste zvážit přidání jednotek mezipaměti pro rozšíření mezipaměti. Jednotky mezipaměti nebo kapacitní jednotky můžete přidávat nezávisle, kdykoli budete chtít.

Další kroky

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