Megosztás a következőn keresztül:


Az állandó memória megismerése és üzembe helyezése

A következőkre vonatkozik: Azure Stack HCI, 22H2 és 21H2 verzió; Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows 10

Az állandó memória (vagy PMem) egy új típusú memóriatechnológia, amely energiaciklusokon keresztül megőrzi a tartalmát, és felső szintű tárolóként is használható, ezért hallhatja, hogy a felhasználók a PMem-et tárolóosztályú memóriaként vagy SCM-ként hivatkoznak rá. Ez a cikk hátteret biztosít az állandó memóriáról, és ismerteti, hogyan helyezheti üzembe az Azure Stack HCI és a Windows Server legfelső szintű tárolási rétegeként.

Mi az állandó memória?

Az állandó memória olyan nem felejtő adathordozók típusa, amelyek illeszkednek egy szabványos DIMM(memória)-tárolóhelyhez. Lassabb, mint a DRAM, de nagyobb átviteli sebességet biztosít, mint az SSD és az NVMe. A DRAM-hez képest az állandó memóriamodulok sokkal nagyobb kapacitásban érhetők el, és GB-onként olcsóbbak, de még mindig drágábbak, mint az NVMe. A memóriatartalmak akkor is megmaradnak, ha a rendszer áramellátása váratlan áramkimaradás, felhasználó által kezdeményezett leállítás vagy rendszerösszeomlás esetén leáll. Ez azt jelenti, hogy az állandó memóriamodulokat ultragyors, állandó tárolóként használhatja.

Az Azure Stack HCI és a Windows Server 2019 támogatja az állandó memória gyorsítótárként vagy kapacitásmeghajtóként való használatát. A díjszabási modell alapján azonban az állandó memória a legtöbb értéket gyorsítótárként vagy kis mennyiségű dedikált tárként biztosítja a memórialeképezési adatokhoz. A legtöbb esetben a rendszer automatikusan gyorsítótár-meghajtóként használja az állandó memóriameghajtókat, és bármi lassabbat használ kapacitásmeghajtóként. További információk a gyorsítótár- és kapacitásmeghajtók beállításának módjáról: lásd A tárolókészlet gyorsítótárának megértése és Kötetek megtervezése.

Állandó memóriafogalmak

Ez a szakasz ismerteti azokat az alapfogalmakat, amelyekkel az állandó memóriát Windows Server- és Azure Stack HCI-környezetekben kell üzembe helyeznie az I/O-szűk keresztmetszetek csökkentése és a teljesítmény javítása érdekében.

Hozzáférési módszerek

Az állandó memória elérésének két módja van. Ők vannak:

  • Tiltsa le ahozzáférést, amely tárolóként működik az alkalmazáskompatibilitás érdekében. Ebben a konfigurációban az adatok a szokásos módon haladnak át a fájlrendszeren és a tárolóveremeken. Ezt a konfigurációt az NTFS és a ReFS együttes használatával is használhatja, és a legtöbb használati esetben ajánlott.
  • közvetlen hozzáférés (DAX), amely memóriaként működik a legalacsonyabb késés érdekében. A DAX-ot csak NTFS-lel kombinálva használhatja. Ha nem megfelelően használja a DAX-ot, adatvesztést okozhat. Határozottan javasoljuk, hogy Blokkfordítási táblázat (BTT) használatával használja a DAX-ot, be van kapcsolva a szakadt írások kockázatának csökkentése érdekében. További információ: DAX-ismertetése és konfigurálása.

Figyelmeztetés

A DAX nem támogatott az Azure Stack HCI-környezetekben. Az Azure Stack HCI csak a blokkhozzáférést támogatja, a BTT be van kapcsolva.

Régiók

A régió egy vagy több állandó memóriamodul készlete. A régiók gyakran egymást keresztező csoportokként jönnek létre, amelyekben több állandó memóriamodul jelenik meg egyetlen logikai virtuális címtérként az átviteli sebesség növelése érdekében. A rendelkezésre álló sávszélesség növelése érdekében a szomszédos virtuális címek több állandó memóriamodulra is kiterjednek. A régiók általában a kiszolgálóplatform BIOS-jában hozhatók létre.

PmemDisks

Az állandó memória tárolóként való használatához meg kell határoznia legalább egy PmemDisk-et, amely egy virtuális merevlemez (VHD) a gazdagépen, és amely a virtuális gépen belül PmemDiskként jelenik meg. A PmemDisk a nem felejtő memória egy összefüggően megcímzett tartománya, amelyre úgy gondolhat, mint egy merevlemez-partíció vagy a LUN. A rendelkezésre álló nyers kapacitás felosztásához több PmemDisks-et is létrehozhat Windows PowerShell-parancsmagok használatával. Minden állandó memóriamodul tartalmaz egy címketároló területet (LSA), amely tárolja a konfigurációs metaadatokat.

Fordítási tábla blokkolása

A szilárd állapotú meghajtóktól eltérően az állandó memóriamodulok nem védenek az áramkimaradás vagy rendszerkimaradás esetén fellépő "szakadt írások" ellen, így az adatok veszélybe kerülnek. A BTT azáltal csökkenti ezt a kockázatot, hogy atomi szektorfrissítési szemantikát biztosít az állandó memóriaeszközökhöz, lényegében lehetővé téve a blokkszerű szektorok írását, így az alkalmazások elkerülhetik a régi és az új adatok keveredését egy meghibásodási forgatókönyvben. Határozottan javasoljuk, hogy szinte minden esetben kapcsolja be a BTT-t. Mivel a BTT a PmemDisk tulajdonsága, a PmemDisk létrehozásakor be kell kapcsolni.

Blokkelérési módban a BTT használatát javasoljuk, mert minden adat blokkszemantikát használ. A BTT DAX módban is hasznos, mert a metaadat-műveletek továbbra is blokkszemantikát használnak, még akkor is, ha az alkalmazás adatműveletei nem. Még ha minden alkalmazásművelet dax szemantikával rendelkező memórialeképezett fájlokat használ, a metaadat-műveletek esetében is előfordulhatnak szakadt írások; ezért a BTT bekapcsolása még mindig értékes.

Támogatott hardver

Az alábbi táblázat az Azure Stack HCI és a Windows Server támogatott állandó memóriahardverét mutatja be. Az állandó memória teljes mértékben támogatott a Windows Server 2019-ben, beleértve a Közvetlen tárolóhelyeket is.

Állandó memóriatechnológia Windows Server 2016 Azure Stack HCI v20H2/Windows Server 2019
NVDIMM-N állandó módban Támogatott Támogatott
Intel Optane™ DC állandó memória App Direct módban Nem támogatott Támogatott
Intel Optane™ DC állandó memória memória módban Támogatott Támogatott

Az Intel Optane DC állandó memória támogatja memória (változékony) és App Direct (állandó) működési módokat. Ha az állandó memóriamodulokat tárolóként szeretné használni, ami a kiszolgálói számítási feladatok elsődleges használati esete, az App Direct módot kell használnia. A memória mód lényegében lassabb RAM-ként használja az állandó memóriát, amely általában nem felel meg a kiszolgálói számítási feladatok teljesítménykövetelményeinek. A memória mód eltér a DAX-tól, amely egy állandó tárolókötet, amely memóriaszerű szemantikával érhető el.

A működési módot gyakran előre konfigurálja az eredeti eszköz gyártója.

Jegyzet

Ha olyan rendszert indít újra, amely több, Több PmemDisksre osztott Intel® Optane™ állandó memóriamodullal rendelkezik app Direct módban, előfordulhat, hogy elveszíti a hozzáférést a kapcsolódó logikai tárolólemezek egy részéhez vagy mindegyikéhez. Ez a probléma a Windows Server 2019 1903-nál régebbi verzióiban jelentkezik.

Ez a hozzáférés-vesztés azért fordul elő, mert egy állandó memóriamodul nincs betanítva, vagy más módon meghiúsul a rendszer indításakor. Ilyen esetben a rendszer bármely állandó memóriamoduljának PmemDisk-fájlja meghiúsul, beleértve azokat is, amelyek fizikailag nem képezhetők le a sikertelen modulra.

Az összes PmemDisks-hozzáférés visszaállításához cserélje le a sikertelen modult.

Ha egy modul meghibásodik a Windows Server 2019 1903-as vagy újabb verzióiban, akkor csak az érintett modulhoz fizikailag kapcsolódó PmemDiskekhez veszíti el a hozzáférést; másokat nem érint.

Állandó memória konfigurálása

Ha Intel Optane állandó memóriát használ, kövesse az itt utasításokat. Ha egy másik gyártó állandó memóriamoduljait használja, tekintse meg a dokumentációjukat.

A BTT-t támogató PmemDisk létrehozásához használja a New-VHD parancsmagot:

New-VHD E:\pmemtest.vhdpmem -Fixed -SizeBytes 1GB -AddressAbstractionType BTT

A VHD-bővítménynek "vhdpmem"-nek kell lennie.

A Convert-VHD parancsmag használatával olyan VHD-t is konvertálhat, amely nem rendelkezik BTT-engedéllyel, olyanná, amely igen, vagy fordítva.

Convert-VHD .\pmemtest_nobtt.vhdpmem -AddressAbstractionType BTT -DestinationPath pmemtest_btt.vhdpmem

A konvertálás után az új VHD névtér GUID azonosítója megegyezik az eredetivel. Ez problémákhoz vezethet, különösen akkor, ha mindkettő ugyanahhoz a virtuális géphez van csatlakoztatva. Ha új névtér UUID-azonosítót szeretne létrehozni a konvertált VHD-hez, használja a Set-VHD parancsmagot:

Set-VHD -ResetDiskIdentifier .\pmemtest_btt.vhdpmem

Az interleaved-készletek ismertetése

Az interleaved készletek általában létrehozhatók a kiszolgálóplatform BIOS-jában, hogy több állandó memóriaeszköz egyetlen lemezként jelenjen meg a gazda operációs rendszer számára, növelve a lemez átviteli sebességét.

Jegyzet

A Windows Server 2016 nem támogatja az állandó memóriamodulok egymással összekapcsolt készletét.

Ne feledje, hogy egy állandó memóriamodul egy szabványos DIMM-(memória-) pontban található, amely közelebb helyezi az adatokat a processzorhoz. Ez a konfiguráció csökkenti a késést, és javítja a beolvasási teljesítményt. Az átviteli sebesség további növelése érdekében két vagy több állandó memóriamodul létrehoz egy n-way interleaved készletet az olvasási/írási műveletek csíkozásához. A leggyakoribb konfigurációk a kétirányú vagy a négyirányú összekapcsolás.

A Get-PmemDisk PowerShell-parancsmaggal áttekintheti az ilyen logikai lemezek konfigurációját az alábbiak szerint:

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

Láthatjuk, hogy a 2. logikai PMem-lemez az Id20 és id120 fizikai eszközöket, a 3. logikai PMem lemez pedig az Id1020 és az Id1120 fizikai eszközöket használja.

Ha további információt szeretne lekérni a logikai meghajtók által használt, egymással összekapcsolt készletről, futtassa a Get-PmemPhysicalDevice parancsmagot:

(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

Az interleaved-készletek konfigurálása

Az interleaved készlet konfigurálásához futtassa a Get-PmemUnusedRegion parancsmagot az összes olyan állandó memóriarégió áttekintéséhez, amelyek nincsenek hozzárendelve a rendszer logikai állandó memórialemezéhez:

Get-PmemUnusedRegion

RegionId TotalSizeInBytes DeviceId
-------- ---------------- --------
       1     270582939648 {20, 120}
       3     270582939648 {1020, 1120}

A rendszer összes PMem-eszközinformációjának megtekintéséhez, beleértve az eszköz típusát, helyét, állapotát és működési állapotát stb., futtassa a Get-PmemPhysicalDevice parancsmagot:

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

Mivel van egy nem használt PMem-régiónk, új állandó memórialemezeket hozhatunk létre. A nem használt régióval több állandó memórialemezt is létrehozhatunk az alábbi parancsmagok futtatásával:

Get-PmemUnusedRegion | New-PmemDisk
Creating new persistent memory disk. This may take a few moments.

A művelet befejezése után a következő parancs futtatásával láthatjuk az eredményeket:

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

Érdemes megjegyezni, hogy Get-PmemDisk helyett futtathatjuk Get-PhysicalDisk | Where MediaType -eq SCM, hogy ugyanazokat az eredményeket kapjuk. Az újonnan létrehozott állandó memórialemez egy az egyhez megfelel a PowerShellben és a Windows Felügyeleti Központban megjelenő meghajtókkal.

Állandó memória cseréje

Ha egy sikertelen modult kell lecserélnie, újra kell létrehoznia a PMem-lemezt (tekintse meg a korábban ismertetett lépéseket).

A hibaelhárítás során előfordulhat, hogy használni kell Remove-PmemDisk. Ez a parancsmag eltávolít egy adott állandó memórialemezt. Az összes jelenlegi állandó memórialemezt eltávolíthatjuk a következő parancsmagok futtatásával:

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.

Fontos

Az állandó memórialemez eltávolítása adatvesztést okoz a lemezen.

Lehet, hogy szüksége lesz egy másik parancsmagra, például a Initialize-PmemPhysicalDevice. Ez a parancsmag inicializálja a fizikai állandó memóriaeszközök címketároló területeit, és törölheti a sérült címketárolási információkat az eszközökön.

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.

Fontos

Initialize-PmemPhysicalDevice adatvesztést okoz az állandó memóriában. Csak végső megoldásként használja az állandó memóriával kapcsolatos problémák megoldásához.

Állandó memória működés közben a Microsoft Ignite 2018-ban

Az állandó memória néhány előnyének megtekintéséhez nézzük meg ezt a videót a Microsoft Ignite 2018 konferenciáról.

Minden olyan tárolórendszer, amely hibatűrést biztosít, szükségszerűen elosztott írási másolatokat készít. Az ilyen műveleteknek át kell haladnia a hálózaton, és fel kell erősítenie a háttérbeli írási forgalmat. Emiatt az abszolút legnagyobb IOPS-teljesítménytesztszámokat általában csak olvasások mérésével érik el, különösen akkor, ha a tárolórendszer józan optimalizálásokkal rendelkezik a helyi másolatból való olvasáshoz, amikor csak lehetséges. A Közvetlen tárolóhelyek erre van optimalizálva.

Amikor kizárólag olvasási műveletek segítségével mérték, a fürt 13 798 674 IOPS-t szállított.

Ha alaposan megnézi a videót, észre fogja venni, hogy ami még inkább megdöbbentő, az a késés. Még több mint 13,7 M IOPS esetén is a Windows fájlrendszere folyamatosan kevesebb mint 40 μs késést jelent! (Ez a mikroszekundumok szimbóluma, a másodperc egymilliomod része.) Ez a sebesség nagyságrenddel gyorsabb, mint amit a tipikus minden flash szállítók büszkén hirdetnek ma.

A Windows Server 2019-ben a Storage Spaces Direct és az Intel® Optane™ DC állandó memória együtt áttörő teljesítményt nyújtottak. Ez a több mint 13,7 millió IOPS-os HCI-teljesítményteszt kiszámítható és rendkívül alacsony késéssel párosul, több mint duplája a korábbi, 6,7 millió IOPS-ra vonatkozó iparági vezető teljesítménytesztnek. Mi több, ezúttal csak 12 kiszolgálócsomópontra volt szükségünk – 25 százalékkal kevesebbre, mint korábban.

A teszthardver egy 12 kiszolgálós fürt volt, amely háromirányú tükrözést és határolt ReFS-köteteket használt. 12 x Intel® S2600WFT, 384 GiB memória, 2 x 28 magos "CascadeLake", 1,5 TB Intel® Optane™ DC állandó memória cache-ként, 32 TB NVMe (4 x 8 TB Intel® DC P4510) kapacitásként, 2 x Mellanox ConnectX-4 25 Gbps.

Az alábbi táblázat a teljes teljesítményszámokat mutatja.

Referenciaérték Teljesítmény
4K 100% véletlenszerű olvasás 13,8 millió IOPS
4K 90/10% véletlenszerű olvasás/írás 9,45 millió IOPS
2 MB szekvenciális olvasás 549 GB/s átviteli sebesség

Következő lépések

A kapcsolódó információkért lásd még: