Principy a nasazení trvalé paměti
Platí pro: Azure Stack HCI, verze 22H2 a 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows 10
Důležité
Azure Stack HCI je teď součástí Azure Local. Probíhá přejmenování dokumentace k produktu. Starší verze Azure Stack HCI, například 22H2, ale budou dál odkazovat na Azure Stack HCI a nebudou odrážet změnu názvu. Další informace.
Trvalá paměť (neboli PMem) je nový typ technologie paměti, která zachovává svůj obsah prostřednictvím cyklů napájení a dá se použít jako úložiště nejvyšší úrovně, což je důvod, proč můžete slyšet, že uživatelé odkazují na PMem jako na paměť třídy úložiště nebo SCM. Tento článek obsahuje základní informace o trvalé paměti a vysvětluje, jak ji nasadit jako nejvyšší úroveň úložiště ve službě Azure Stack HCI a Windows Serveru.
Co je trvalá paměť?
Trvalá paměť je typ nestálého média, které se vejde do standardního slotu DIMM (paměť). Je pomalejší než DRAM, ale poskytuje vyšší propustnost než SSD a NVMe. V porovnání s DRAM přicházejí trvalé paměťové moduly v mnohem větších kapacitách a jsou levnější na GB, ale jsou stále dražší než NVMe. Obsah paměti zůstává i v případě výpadku systémového napájení v případě neočekávané ztráty napájení, vypnutí iniciovaného uživatelem nebo chybového ukončení systému. To znamená, že můžete používat trvalé paměťové moduly jako ultrarychlé trvalé úložiště.
Podpora Azure Stack HCI a Windows Serveru 2019 s využitím trvalé paměti jako mezipaměti nebo jednotky kapacity Vzhledem k cenovému modelu však trvalá paměť poskytuje největší hodnotu jako mezipaměť nebo jako malé vyhrazené úložiště pro data mapování paměti. Ve většině případů se trvalé paměťové jednotky automaticky použijí jako jednotky mezipaměti a jako jednotky kapacity se použijí cokoliv pomalejšího. Další informace o tom, jak nastavit mezipaměť a jednotky kapacity, najdete v tématu Principy mezipaměti fondu úložiště a plánování svazků.
Koncepty trvalé paměti
Tato část popisuje základní koncepty, které budete muset pochopit, abyste mohli nasadit trvalou paměť v prostředích Windows Server a Azure Stack HCI, abyste snížili kritické body vstupně-výstupních operací a zlepšili výkon.
Přístupové metody
Existují dvě metody pro přístup k trvalé paměti. Mezi ně patří:
- Blokovat přístup, který funguje jako úložiště kvůli kompatibilitě aplikací. V této konfiguraci data procházejí systémem souborů a zásobníky úložiště jako obvykle. Tuto konfiguraci můžete použít v kombinaci se systémem souborů NTFS a ReFS a doporučuje se pro většinu případů použití.
- Přímý přístup (DAX), který funguje jako paměť, aby se získala nejnižší latence. Jazyk DAX můžete používat pouze v kombinaci se systémem souborů NTFS. Pokud daX nepoužíváte správně, může dojít ke ztrátě dat. Důrazně doporučujeme používat jazyk DAX se zapnutou tabulkou pro blokový překlad (BTT), abyste zmírnit riziko přetržených zápisů. Další informace najdete v tématu Principy a konfigurace jazyka DAX.
Upozorňující
Jazyk DAX se nepodporuje v prostředích Azure Stack HCI. Azure Stack HCI podporuje pouze blokový přístup se zapnutým BTT.
Oblasti
Oblast je sada jednoho nebo více trvalých paměťových modulů. Oblasti se často vytvářejí jako prokládání sad , ve kterých se několik trvalých paměťových modulů zobrazuje jako jeden logický virtuální adresní prostor pro zvýšení propustnosti. Pokud chcete zvýšit dostupnou šířku pásma, jsou sousední virtuální adresy rozložené do několika trvalých paměťových modulů. Oblasti se obvykle dají vytvářet v systému BIOS serverové platformy.
PmemDisks
Chcete-li jako úložiště použít trvalou paměť, musíte definovat alespoň jeden pmemDisk, což je virtuální pevný disk (VHD) na hostiteli, který vytvoří výčet jako PmemDisk uvnitř virtuálního počítače. PmemDisk je souvisle adresovaný rozsah nevolatilní paměti, kterou si můžete představit jako oddíl pevného disku nebo logickou jednotku. Pomocí rutin Prostředí Windows PowerShell můžete vytvořit více jednotek PmemDisks, které rozdělí dostupnou nezpracovanou kapacitu. Každý modul trvalé paměti obsahuje oblast úložiště popisků (LSA), která ukládá metadata konfigurace.
Tabulka blokového překladu
Na rozdíl od jednotek SSD nechrání trvalé paměťové moduly ochranu před "zápisy roztrženou", ke kterým může dojít v případě výpadku napájení nebo výpadku systému, čímž dojde k ohrožení dat. BTT toto riziko snižuje tím, že poskytuje sémantiku aktualizace atomických sektorů pro trvalá paměťová zařízení, což v podstatě umožňuje zápisy sektorů podobných blokům, aby se aplikace mohly vyhnout kombinování starých a nových dat ve scénáři selhání. Důrazně doporučujeme zapnout BTT téměř ve všech případech. Vzhledem k tomu, že BTT je vlastnost PmemDisk, musí být při vytvoření pmemDisk zapnuta.
V režimu blokování přístupu doporučujeme použít BTT, protože všechna data budou používat sémantiku bloku. Funkce BTT je také užitečná v režimu DAX, protože operace metadat stále používají sémantiku bloků, i když to neudělá datové operace aplikace. I když všechny operace aplikace používají soubory mapované v paměti s sémantikou DAX, můžou se zápisy roztrhané pro operace metadat stále provádět; proto je zapnutí BTT stále cenné.
Podporovaný hardware
Následující tabulka uvádí podporovaný hardware trvalé paměti pro Azure Stack HCI a Windows Server. Trvalá paměť je plně podporovaná ve Windows Serveru 2019, včetně Prostory úložiště s přímým přístupem.
Technologie trvalé paměti | Windows Server 2016 | Azure Stack HCI v20H2/Windows Server 2019 |
---|---|---|
NVDIMM-N v perzi režim stanu | Podporováno | Podporováno |
Trvalá paměť řadiče domény Intel Optane™ v přímém režimu aplikace | Nepodporuje se | Podporováno |
Trvalá paměť řadiče domény Intel Optane™ v režimu paměti | Podporováno | Podporováno |
Trvalá paměť ŘADIČE domény Intel Optane podporuje režimy paměti (volatile) i režimy přímého provozu aplikace (trvalá). Pokud chcete jako úložiště používat trvalé paměťové moduly, což je primární případ použití pro serverové úlohy, musíte použít přímý režim aplikace. Režim paměti v podstatě používá trvalou paměť jako pomalejší paměť RAM, která obvykle nesplňuje požadavky na výkon úloh serveru. Režim paměti se liší od jazyka DAX, což je trvalý svazek úložiště, ke kterému lze přistupovat pomocí sémantiky podobné paměti.
Provozní režim je často předkonfigurován původním výrobcem zařízení.
Poznámka:
Když restartujete systém, který má více trvalých paměťových modulů Intel® Optane™ v režimu App Direct, které jsou rozděleny na více PmemDisks, může dojít ke ztrátě přístupu k některým nebo všem souvisejícím logickým diskům úložiště. K tomuto problému dochází ve verzích Windows Serveru 2019, které jsou starší než verze 1903.
K této ztrátě přístupu dochází, protože trvalý paměťový modul není vytrénovaný nebo jinak selže při spuštění systému. V takovém případě všechny pmemDisky v jakémkoli trvalém paměťovém modulu v systému selžou, včetně těch, které nejsou fyzicky mapovat na modul, který selhal.
Pokud chcete obnovit přístup ke všem pmemDisks, nahraďte modul, který selhal.
Pokud modul selže ve Windows Serveru 2019 verze 1903 nebo novějších verzích, ztratíte přístup pouze k PmemDisks, které fyzicky mapují na ovlivněný modul; jiné nejsou ovlivněny.
Konfigurace trvalé paměti
Pokud používáte trvalou paměť Intel Optane, postupujte podle zde uvedených pokynů. Pokud používáte trvalé paměťové moduly od jiného dodavatele, projděte si jejich dokumentaci.
K vytvoření pmemDisku, který podporuje BTT, použijte rutinu New-VHD
:
New-VHD E:\pmemtest.vhdpmem -Fixed -SizeBytes 1GB -AddressAbstractionType BTT
Rozšíření VHD musí být vhdpmem.
Pomocí rutiny můžete také převést virtuální pevný disk, který nemá povolený BTT, na virtuální pevný disk, který (a naopak) používá Convert-VHD
:
Convert-VHD .\pmemtest_nobtt.vhdpmem -AddressAbstractionType BTT -DestinationPath pmemtest_btt.vhdpmem
Po převodu bude mít nový virtuální pevný disk stejný identifikátor GUID oboru názvů jako původní. To může vést k problémům, zejména pokud jsou obě připojené ke stejnému virtuálnímu počítači. K vytvoření nového UUID oboru názvů pro převedený virtuální pevný disk použijte rutinu Set-VHD
:
Set-VHD -ResetDiskIdentifier .\pmemtest_btt.vhdpmem
Principy prokládání sad
Prokládání sad je obvykle možné vytvořit v systému BIOS serverové platformy, aby se několik trvalých paměťových zařízení zobrazovalo jako jeden disk hostitelského operačního systému, což zvyšuje propustnost daného disku.
Poznámka:
Windows Server 2016 nepodporuje prokládání sad trvalých paměťových modulů.
Vzpomeňte si, že trvalý paměťový modul se nachází ve standardním slotu DIMM (paměť), který data přibližuje procesoru. Tato konfigurace snižuje latenci a zlepšuje výkon načítání. Pro další zvýšení propustnosti vytvoří dva nebo více trvalých paměťových modulů n-way prokládání množiny prokládání operací čtení a zápisu. Nejběžnější konfigurace jsou obousměrné nebo čtyřcestné prokládání.
Pomocí rutiny PowerShellu Get-PmemDisk
můžete zkontrolovat konfiguraci takových logických disků následujícím způsobem:
Get-PmemDisk
DiskNumber Size HealthStatus AtomicityType CanBeRemoved PhysicalDeviceIds UnsafeShutdownCount
---------- ---- ------------ ------------- ------------ ----------------- -------------------
2 252 GB Healthy None True {20, 120} 0
3 252 GB Healthy None True {1020, 1120} 0
Vidíme, že logický disk PMem 2 používá fyzické zařízení s ID 20 a ID120 a logický disk PMem 3 používá fyzické zařízení s ID1020 a Id1120.
Pokud chcete načíst další informace o prokládání sady, kterou používá logická jednotka, spusťte rutinu Get-PmemPhysicalDevice
:
(Get-PmemDisk)[0] | Get-PmemPhysicalDevice
DeviceId DeviceType HealthStatus OperationalStatus PhysicalLocation FirmwareRevision Persistent memory size Volatile memory size
-------- ---------- ------------ ----------------- ---------------- ---------------- ---------------------- --------------------
20 Intel INVDIMM device Healthy {Ok} CPU1_DIMM_C1 102005310 126 GB 0 GB
120 Intel INVDIMM device Healthy {Ok} CPU1_DIMM_F1 102005310 126 GB 0 GB
Konfigurace prokládání sad
Pokud chcete nakonfigurovat prokládané sady, spusťte rutinu Get-PmemUnusedRegion
a zkontrolujte všechny oblasti trvalé paměti, které nejsou přiřazené k logickému trvalému paměťovému disku v systému:
Get-PmemUnusedRegion
RegionId TotalSizeInBytes DeviceId
-------- ---------------- --------
1 270582939648 {20, 120}
3 270582939648 {1020, 1120}
Pokud chcete zobrazit všechny informace o zařízení PMem v systému, včetně typu zařízení, umístění, stavu a provozního stavu atd., spusťte rutinu Get-PmemPhysicalDevice
:
Get-PmemPhysicalDevice
DeviceId DeviceType HealthStatus OperationalStatus PhysicalLocation FirmwareRevision Persistent memory size Volatile
memory size
-------- ---------- ------------ ----------------- ---------------- ---------------- ---------------------- --------------
1020 Intel INVDIMM device Healthy {Ok} CPU2_DIMM_C1 102005310 126 GB 0 GB
1120 Intel INVDIMM device Healthy {Ok} CPU2_DIMM_F1 102005310 126 GB 0 GB
120 Intel INVDIMM device Healthy {Ok} CPU1_DIMM_F1 102005310 126 GB 0 GB
20 Intel INVDIMM device Healthy {Ok} CPU1_DIMM_C1 102005310 126 GB 0 GB
Vzhledem k tomu, že máme k dispozici nepoužitou oblast PMem, můžeme vytvořit nové trvalé paměťové disky. Nepoužívané oblasti můžeme použít k vytvoření několika trvalých paměťových disků spuštěním následujících rutin:
Get-PmemUnusedRegion | New-PmemDisk
Creating new persistent memory disk. This may take a few moments.
Po dokončení uvidíme výsledky spuštěním tohoto příkazu:
Get-PmemDisk
DiskNumber Size HealthStatus AtomicityType CanBeRemoved PhysicalDeviceIds UnsafeShutdownCount
---------- ---- ------------ ------------- ------------ ----------------- -------------------
2 252 GB Healthy None True {20, 120} 0
3 252 GB Healthy None True {1020, 1120} 0
Stojí za zmínku, že můžeme běžet Get-PhysicalDisk | Where MediaType -eq SCM
místo Get-PmemDisk
toho, abychom získali stejné výsledky. Nově vytvořený trvalý paměťový disk odpovídá jednotce 1:1 s jednotkami, které se zobrazují v PowerShellu a v Centru pro správu Windows.
Nahrazení trvalé paměti
Pokud musíte nahradit modul, který selhal, musíte znovu vytvořit disk PMem (viz kroky, které jsme si popsali dříve).
Při řešení potíží možná budete muset použít Remove-PmemDisk
. Tato rutina odebere konkrétní trvalý paměťový disk. Všechny aktuální trvalé paměťové disky můžeme odebrat spuštěním následujících rutin:
Get-PmemDisk | Remove-PmemDisk
cmdlet Remove-PmemDisk at command pipeline position 1
Supply values for the following parameters:
DiskNumber: 2
This will remove the persistent memory disk(s) from the system and will result in data loss.
Remove the persistent memory disk(s)?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): Y
Removing the persistent memory disk. This may take a few moments.
Důležité
Odebrání trvalého paměťového disku způsobí ztrátu dat na daném disku.
Další rutinou, kterou možná budete potřebovat, je Initialize-PmemPhysicalDevice
. Tato rutina inicializuje oblasti úložiště popisků na fyzických trvalých paměťových zařízeních a může vymazat poškozené informace o úložišti popisků na zařízeních.
Get-PmemPhysicalDevice | Initialize-PmemPhysicalDevice
This will initialize the label storage area on the physical persistent memory device(s) and will result in data loss.
Initializes the physical persistent memory device(s)?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"): A
Initializing the physical persistent memory device. This may take a few moments.
Initializing the physical persistent memory device. This may take a few moments.
Initializing the physical persistent memory device. This may take a few moments.
Initializing the physical persistent memory device. This may take a few moments.
Důležité
Initialize-PmemPhysicalDevice
způsobí ztrátu dat v trvalé paměti. K opravě trvalých problémů souvisejících s pamětí ho používejte jenom jako poslední možnost.
Trvalá paměť v akci na webu Microsoft Ignite 2018
Abychom viděli některé výhody trvalé paměti, podívejme se na toto video z Konference Microsoft Ignite 2018.
Každý systém úložiště, který poskytuje odolnost proti chybám, nutně vytváří distribuované kopie zápisů. Tyto operace musí procházet sítí a amplifikovat provoz zápisu back-endu. Z tohoto důvodu se absolutních čísel srovnávacích testů IOPS obvykle dosahuje měřením jen čtení, zejména v případě, že systém úložiště má optimalizace běžných rozumů ke čtení z místní kopie, kdykoli je to možné. Prostory úložiště s přímým přístupem je optimalizovaný tak, aby to udělal.
Při měření pomocí jen operací čtení cluster doručil 13 798 674 IOPS.
Pokud se na video pozorně díváte, všimnete si, že čím dál větší je latence. I při více než 13,7 M IOPS systém souborů ve Windows hlásí latenci, která je konzistentně menší než 40 μs! (To je symbol pro mikrosekundy, jeden-miliont sekundy.) Tato rychlost je řádově rychlejší než to, co typické all-flash dodavatelé hrdě inzerují dnes.
Společně Prostory úložiště s přímým přístupem ve Windows Serveru 2019 a trvalé paměti Intel® Optane™ DC přinesly převratný výkon. Tento srovnávací test HCI s více než 13,7M IOPS, doprovázený předvídatelnou a extrémně nízkou latencí, je více než dvojnásobek našeho předchozího špičkového srovnávacího testu 6,7M IOPS. A co víc, tentokrát potřebujeme jenom 12 uzlů serveru – méně než dříve 25 procent.
Testovací hardware byl 12serverový cluster, který byl nakonfigurovaný tak, aby používal trojcestné zrcadlení a oddělené svazky ReFS. 12 x Intel® S2600WFT, 384 GiB paměti, 2 x 28jádrový "CascadeLake" , 1,5 TB Trvalá paměť Intel® Optane™ DC jako mezipaměť, 32 TB NVMe (4 x 8 TB Intel® DC P4510) jako kapacita, 2 x Mellanox ConnectX-4 25 Gb/s.
V následující tabulce jsou uvedena úplná čísla výkonu.
Srovnávací test | Výkon |
---|---|
4K 100% náhodné čtení | 13,8 milionu IOPS |
4K 90/10% náhodné čtení/zápis | 9,45 milionu IOPS |
Sekvenční čtení o velikosti 2 MB | Propustnost 549 GB/s |
Další kroky
Související informace najdete také: