PowerEdge:使用 Windows Server 2019 配置 NVDIMM-N
Summary: 本文提供有关永久性内存 (NVDIMM) 的工作原理以及如何在装有 Windows Server 2019 的 PowerEdge 服务器上配置 NVDIMM 的重要信息。
Instructions
本文介绍搭载 Windows Server 2019 的 PowerEdge 服务器上的永久性内存 (NVDIMM) 及其配置。NVDIMM 在断电期间保留数据。Dell EMC 从其 第 14 代 PowerEdge 服务器中引入了对 NVDIMM-N 的支持。Microsoft 提供 NVDIMM-N 支持。Windows Server 2016 和 2019 中的 NVDIMM-N 适合标准 DIMM 插槽,使数据更靠近处理器,减少延迟,并通过新功能
提高性能Windows Server 2016 和 2019 中的 NVDIMM-N 使用标准 DIMM 插槽,使数据更靠近处理器,减少延迟,并通过新功能最大化性能“
图 1 - BIOS 内存 - 永久性内存配置
NVDIMM 驱动程序体系结构概览:
有两种类型的设备对象与 Windows 上的永久性内存相关 — 物理 NVDIMM 和逻辑永久性内存磁盘。在设备管理器中,物理 NVDIMM 显示在“内存设备”下,而逻辑磁盘显示在“永久性内存磁盘”下。下面的屏幕截图显示了具有 2 个 NVDIMM 的系统:
图2 - 设备管理器
nvdimm.sys驱动程序控制所有 NVDIMM-N 设备,而 pmem.sys 驱动程序控制逻辑磁盘。对于所有类型的永久性内存(如 NVDIMM-N 和 AEP),这两个驱动程序都是相同的。
scmbus.sys创建这两种类型的设备对象,即永久性内存的总线驱动程序。您可以在设备管理器的“系统设备”下找到总线驱动程序对象。
电池不合适或在 BIOS 中配置为“只读”时的 NVDIMM-N 行为:
当电池无法正常工作,或者 NVDIMM-N 在 BIOS 中配置为“只读”时,作系统不会将 PMEM 磁盘设为只读,并且不会停止正在进行的写入作。默认情况下,Windows 允许对磁盘进行读/写访问,但在重新启动后所有写入的数据都将丢失。
如果用户必须在电池不合适或在 BIOS 中配置为“只读”时将 NVDIMM 设置为只读,则必须在作系统注册表中完成以下设置:“
HKLM\System\CurrentControlSet\Services\pmem\ReadOnlyOnPersistenceLoss (REG_DWORD): non-zero 以使其在应用程序抗风险能力丢失时为只读”
WS 2019
的新功能 1.标签支持和命名空间管理
在 WS 2019 中,作系统支持标签和命名空间管理。首次向作系统公开 NVDIMM 时或在出厂重置/安全擦除后,默认情况下不会创建命名空间。用户必须先创建命名空间,然后才能将其用作存储设备。用户可以使用以下命令管理 NVDIMM 的命名空间。
图 3 - 可用的 PMEM PowerShell Cmdlet
例子:
图 4 — 列出 PMEM 未使用区域、PMEM 物理设备和 PMEM 磁盘
图 5 — 列出/删除 PMEM 磁盘
---------------------------------PowerShell Cmdlet---------------------------------
#Get-PmemDisk
- 返回一个或多个逻辑永久性内存磁盘
- 返回的对象包含有关大小、原子性类型、运行状况和基础物理设备的信息
#Get-PmemPhysicalDevice
- 退回一个或多个物理永久性内存设备 (NVDIMM)
- 返回的对象包含有关大小、RFIC、设备位置以及运行状况或运行状态的信息
#New-PmemDisk
- 从给定的未使用区域创建新磁盘
- 写出标签以创建命名空间,然后重建 SCM 堆栈以公开新的逻辑设备
- 可选参数:
- FriendlyName 为永久性内存磁盘提供易于识别的名称。 默认值为“PmemDisk <N>”
- AtomicityType 允许您设置 BTT。 默认值为“none”。
#Remove-PmemDisk
- 删除给定的永久性内存磁盘,它接受 Get-PmemDisk 的输出
- 删除命名空间的标签,然后重建 SCM 堆栈以删除逻辑设备
- 需要用户确认(可使用 -Force 覆盖)
#Get-PmemUnusedRegion
- 返回可用于调配逻辑设备的聚合 PMEM 区域
- 返回的对象具有唯一的区域 ID、总大小以及影响未使用区域的物理设备的列表
#Initialize-PmemPhysicalDevice
- 将零写入标签存储区域,写入新的标签索引块,然后重建 SCM(存储级内存)堆栈以反映更改
- 需要用户确认(可使用 -Force 覆盖)
- 此 cmdlet 旨在用作“大锤子”恢复机制。 不建议在正常情况下使用
2.NVDIMM-N 节点交叉存取
WS 2019 提供 NVDIMM-N 节点交错功能,可进一步增强 NVDIMM-N 在各种应用程序中的性能。在 System BIOS 中的 Memory Settings 下启用“NVDIMM Interleave”。确保每个 CPU 都有偶数 (≥ 2) 个可用的 NVDIMM-N 模块。
启用此功能后,作系统会看到不同的物理设备,但在“Persistent memory disks”
下显示单个逻辑磁盘 图 6 — NVDIMM — 设备管理器
中的 PMEM 交叉存取 图 7
3. NVDIMM-N 现在可以向 Hyper-V 虚拟机公开。
借助 WS2019,NVDIMM 可以直接向 Hyper-V 虚拟机公开。点击此处了解更多详情。