18.6. NVDIMM でのデバイス DAX 名前空間の作成
システムに接続されている NVDIMM デバイスをデバイス DAX モードで設定して、ダイレクトアクセス機能を備えたキャラクターストレージをサポートします。
次のオプションを検討してください。
- 既存の名前空間をデバイス DAX モードに再設定する。
- 利用可能な領域がある場合は、新しいデバイスの DAX 名前空間を作成する。
18.6.1. デバイスのダイレクトアクセスモードの NVDIMM リンクのコピーリンクがクリップボードにコピーされました!
デバイスダイレクトアクセス (デバイス DAX である devdax
) は、ファイルシステムの関与なしで、アプリケーションがストレージに直接アクセスできる手段を提供します。デバイス DAX の利点は、ndctl
ユーティリティーの --align
オプションを使用して設定できる、保証されたフォールトの粒度を提供することです。
Intel 64 アーキテクチャーおよび AMD64 アーキテクチャーでは、以下のフォールト粒度に対応しています。
- 4 KiB
- 2 MiB
- 1 GiB
デバイス DAX ノードは、以下のシステム呼び出しにのみ対応しています。
-
open()
-
close()
-
mmap()
ndctl list --human --capabilities
コマンドを使用して、NVDIMM デバイスのサポートされているアライメントを表示できます。たとえば、region0 デバイスについて表示するには、ndctl list --human --capabilities -r region0
コマンドを使用します。
デバイスの DAX ユースケースは SNIA 不揮発性メモリープログラミングモデルに関連付けられているため、read ()
および write ()
システムコールはサポートされていません。
18.6.2. 既存の NVDIMM 名前空間をデバイス DAX モードに再設定 リンクのコピーリンクがクリップボードにコピーされました!
既存の不揮発性デュアルインラインメモリーモジュール (NVDIMM) 名前空間をデバイス DAX モードに再設定できます。
名前空間を再設定すると、名前空間に以前に保存されたデータが削除されます。
前提条件
-
ndctl
ユーティリティーがインストールされている。詳細は、ndctl のインストール を参照してください。
手順
システムにある名前空間のリストを表示します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 名前空間を再設定します。
ndctl create-namespace --force --mode=devdax --reconfig=namespace-ID
# ndctl create-namespace --force --mode=devdax --reconfig=namespace-ID
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例18.1 名前空間をデバイス DAX として再設定
次のコマンドは、DAX に対応するデータストレージ用に
namespace0.1
を再設定します。オペレーティングシステムが一度に 2 MiB ページでフォールトされるように、2 MiB フォールトの粒度に合わせて調整されます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 名前空間は、
/dev/dax0.1
パスで利用できます。
検証
システム上の既存の名前空間が再設定されているかどうかを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
18.6.3. デバイス DAX モードでの新しい NVDIMM 名前空間の作成 リンクのコピーリンクがクリップボードにコピーされました!
リージョンに空き容量がある場合は、Non-Volatile Dual In-line Memory Modules (NVDIMM) デバイスに新しいデバイス DAX 名前空間を作成できます。
前提条件
-
ndctl
ユーティリティーがインストールされている。詳細は、ndctl のインストール を参照してください。 NVDIMM デバイスは、リージョン内に複数の名前空間を作成するためのラベルをサポートしています。これは、次のコマンドを使用して確認できます。
ndctl read-labels nmem0 >/dev/null
# ndctl read-labels nmem0 >/dev/null read 1 nmem
Copy to Clipboard Copied! Toggle word wrap Toggle overflow これは、1 つの NVDIMM デバイスのラベルを読み取ったことを示しています。値が
0
の場合、デバイスがラベルをサポートしていないことを意味します。
手順
利用可能な領域があるシステムの
pmem
リージョンのリストを表示します。以下の例では、region1 リージョンと region0 リージョンの領域が利用できます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 利用可能な領域のいずれかに、1 つ以上の名前空間を割り当てます。
ndctl create-namespace --mode=devdax --region=regionN --size=namespace-size
# ndctl create-namespace --mode=devdax --region=regionN --size=namespace-size
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例18.2 リージョンへの名前空間の作成
次のコマンドは、region0 に 36-GiB のデバイス DAX 名前空間を作成します。オペレーティングシステムが一度に 2 MiB ページでフォールトされるように、2 MiB フォールトの粒度に合わせて調整されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 名前空間は
/dev/dax0.2
として利用できるようになりました。
検証
新しい名前空間がデバイス DAX モードで作成されたかどうかを確認します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow