Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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ě v Azure Local 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 místního Azure 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žívají jako jednotky mezipaměti a pomalejší jednotky se používají jako jednotky kapacity. 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ým musíte porozumět, abyste mohli nasadit trvalou paměť v prostředích Windows Server a Azure Local, 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 DAX s tabulkou pro blokový překlad (BTT) zapnutou, abyste zmírnili riziko přetržených zápisů. Další informace najdete v tématu Principy a konfigurace jazyka DAX.
Warning
Jazyk DAX se nepodporuje v místních prostředích Azure. Azure Local podporuje pouze blokování přístupu se zapnutým BTT.
Regions
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í příkazů prostředí Windows PowerShell můžete vytvořit několik disků Pmem, kterými rozdělíte 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 "roztrženěmi zápisy", 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 PmemDisku, musí být při vytvoření PmemDisku zapnuto.
V režimu blokování přístupu doporučujeme použít BTT, protože všechna data používají 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 se sémantikou DAX, neúplné zápisy se mohou stále objevit při operacích s metadaty; proto je zapnutí BTT stále cenné.
Podporovaný hardware
Následující tabulka uvádí podporovaný hardware trvalé paměti pro místní Azure a Windows Server. Trvalá paměť je ve Windows Serveru 2019 plně podporována, včetně Storage Spaces Direct.
| Technologie trvalé paměti | Windows Server 2016 | Azure Local 2311.2 a novější / Windows Server 2019 a novější |
|---|---|---|
| NVDIMM-N v trvalém režimu | Supported | Supported |
| Stálá paměť Intel Optane™ v režimu App Direct | Nepodporováno | Supported |
| Trvalá paměť Intel Optane™ DC v režimu paměti | Supported | Supported |
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 DAX, což je perzistentní úložný svazek, ke kterému lze přistupovat sémantikou podobnou paměti.
Provozní režim je často předkonfigurován původním výrobcem zařízení.
Note
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 PmemDisks na jakémkoli trvalém paměťovém modulu v systému selžou, včetně těch, které fyzicky nemapují 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í Convert-VHD rutiny můžete také převést virtuální pevný disk, který nemá povolený BTT, na takový, který jej má povolený (a naopak).
Convert-VHD .\pmemtest_nobtt.vhdpmem -AddressAbstractionType BTT -DestinationPath pmemtest_btt.vhdpmem
Po převodu má 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
Porozumění prokládaným sadám
Prokládané sady lze obvykle vytvořit v systému BIOS serverové platformy, aby se více persistentních paměťových zařízení zobrazovalo jako jeden disk pro hostitelský operační systém, čímž se zvyšuje propustnost tohoto disku.
Note
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ů sadu s n-cestným prokládáním pro rozložení operací čtení a zápisu. Nejběžnější konfigurace jsou dvoukanálové nebo čtyřkanálové 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 získat další informace o prokládané sadě, kterou využí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
Je dobré poznamenat, ž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á 1:1 s jednotkami, které se zobrazují v prostředí PowerShell 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. Tento cmdlet odebere konkrétní 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.
Important
Odebrání trvalého paměťového disku způsobí ztrátu dat na daném disku.
Další cmdlet, který 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.
Important
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 praxi na 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 největších srovnávacích čísel IOPS obvykle dosahuje měřením pouze čtení, zvláště pokud má systém úložiště optimalizace zdravého rozumu ke čtení z lokální kopie, kdykoli je to možné. Storage Spaces Direct je optimalizováno pro tento účel.
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.
Storage Spaces Direct ve Windows Server 2019 a Intel® Optane™ DC perzistentní paměť společně dosáhly převratného výkonu. Tento srovnávací test 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.
| Benchmark | Performance |
|---|---|
| 4K 100% náhodné čtení | 13,8 milionu IOPS |
| 4K 90/10% náhodné čtení/zápis | 9,45 milionu IOPS |
| Sekvenční čtení dat 2 MB | Propustnost 549 GB/s |
Další kroky
Související informace najdete také: