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: