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と論理パーシステント メモリー ディスクの2種類があります。デバイス マネージャーでは、物理NVDIMMは[メモリー デバイス]の下に表示され、論理ディスクは[パーシステント メモリー ディスク]の下に表示されます。次のスクリーンショットは、2つのNVDIMMを搭載したシステムを示しています。

図2 - デバイス マネージャー
nvdimm.sysドライバーはすべてのNVDIMM-Nデバイスを制御し、pmem.sysドライバーは論理ディスクを制御します。どちらのドライバーも、NVDIMM-NやAEPなど、すべてのタイプのパーシステント メモリーで同じです。
scmbus.sysは、両方の種類のデバイス オブジェクト (永続メモリのバス ドライバー) を作成します。バス ドライバー オブジェクトは、デバイス マネージャーの[システム デバイス]にあります
バッテリーが適切でない場合、またはBIOSで「読み取り専用」に設定されている場合のNVDIMM-Nの動作:
バッテリーが機能していない場合、またはNVDIMM-NがBIOSで「読み取り専用」に設定されている場合、OSはPMEMディスクを読み取り専用にせず、進行中の書き込み操作を停止しません。デフォルトでは、Windowsはディスクへの読み取り/書き込みアクセスを許可しますが、書き込まれたデータはすべて再起動後に失われます。
バッテリーが適切でない場合、またはBIOSでNVDIMMが読み取り専用として設定されている場合にNVDIMMを読み取り専用にする場合は、OSのレジストリーで以下の設定を実行する必要があります:
"HKLM\System\CurrentControlSet\Services\pmem\ReadOnlyOnPersistenceLoss (REG_DWORD): non-zero to make it read-only on application resilience loss"
WS 2019
1の新機能。ラベルのサポートとネームスペースの管理
WS 2019では、OSはラベルとネームスペースの管理をサポートします。NVDIMMが初めてOSに公開される場合、または工場出荷時のリセット/セキュア消去後に、ネームスペースはデフォルトで作成されません。ネームスペースは、ストレージ デバイスとして使用する前に作成しておく必要があります。ユーザーは、次のコマンドを使用してNVDIMMのネームスペースを管理できます。

図3 - 使用可能なPMEM PowerShellコマンドレット
例:

図4 - PMEM未使用領域、PMEM物理デバイス、およびPMEMディスクの一覧表示
図5:PMEMディスクのリスト/削除
---------------------------------
PowerShellコマンドレット
---------------------------------
#Get-PmemDisk
- 1つ以上の論理パーシステント メモリー ディスクを返す
- 返されるオブジェクトには、サイズ、原子性タイプ、正常性ステータス、基盤となる物理デバイスに関する情報が含まれています
#Get-PmemPhysicalDevice
- 1つまたは複数の物理パーシステント メモリー デバイス(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でオーバーライドできます
- このコマンドレットは、"ビッグ ハンマー" リカバリ メカニズムとして意図されています。 通常の使用には推奨されません
2.NVDIMM-Nノード インターリーブ中
WS 2019は、さまざまなアプリケーションでNVDIMM-Nのパフォーマンスをさらに向上させるNVDIMM-Nノード インターリーブ機能を提供します。システムBIOSのメモリー設定で「NVDIMMインターリーブ」を有効にします。各CPUで偶数(≥2)個のNVDIMM-Nモジュールが使用可能であることを確認します
このOSを有効にすると、別の物理デバイスが表示されますが、[パーシステント メモリー ディスク]の下に単一の論理ディスクが表示されます
図6 - NVDIMM - デバイス マネージャーでのPMEMインターリーブ
図7
3)。NVDIMM-NをHyper-V VMに公開できるようになりました。
WS2019では、NVDIMMをHyper-V VMに直接公開できます。詳細については 、こちらをご覧ください。