第 5 章 NVDIMM 永続メモリーストレージの使用
5.7. NVDIMM でのファイルシステム DAX 名前空間の作成
5.7.2. ndctl のインストール
この手順では、NVDIMM デバイスの設定および監視に使用する ndctl ユーティリティーをインストール します。
手順 手順
ndctl ユーティリティーをインストールするには、次のコマンドを使用します。
# yum install ndctl
5.7.3. ファイルシステム DAX モードへの既存の NVDIMM 名前空間の再設定
以下の手順では、NVDIMM デバイスの名前空間をファイルシステム DAX モードに再構成し、ファイル を名前空間に格納できるようにします。
警告 警告
名前空間を再設定すると、名前空間に保存しておいたすべてのデータが削除されま す。
前提条件 前提条件
ndctl ユーティリティーがインストールされている。「ndctl のインストール」を参照してくだ
さい。
手順 手順
1. システムにある名前空間の一覧を表示します。
# ndctl list --namespaces --idle [
{
"dev":"namespace1.0", "mode":"raw",
"size":34359738368, "state":"disabled", "numa_node":1 },
{
"dev":"namespace0.0", "mode":"raw",
"size":34359738368, "state":"disabled", "numa_node":0 }
]
2. 名前空間を再設定します。
# ndctl create-namespace \ --force \
--mode=fsdax \
--reconfig=namespace-ID
例
例5.5 ファイルシステムファイルシステム DAX としての名前空間の再設定としての名前空間の再設定
DAX に対応するファイルシステムに namespace0.0 を使用するには、次のコマンドを使用 します。
# ndctl create-namespace \ --force \
--mode=fsdax \
--reconfig=namespace0.0 {
"dev":"namespace0.0", "mode":"fsdax",
"size":"32.00 GiB (34.36 GB)",
"uuid":"ab91cc8f-4c3e-482e-a86f-78d177ac655d", "blockdev":"pmem0",
"numa_node":0 }
3. これで、名前空間が、/dev/pmemN パスで利用可能になります。
関連情報 関連情報
man ページの ndctl-create-namespace(1)
5.7.4. ファイルシステム DAX モードで新しい NVDIMM 名前空間の作成
以下の手順では、NVDIMM デバイスに新たなファイルシステム DAX 名前空間を作成し、ファイルを名 前空間に格納できるようにします。
前提条件 前提条件
ndctl ユーティリティーがインストールされている。「ndctl のインストール」を参照してくだ
さい。
NVDIMM デバイスがラベルに対応している。
手順 手順
1. 利用可能な領域があるシステムの pmem リージョンの一覧を表示します。以下の例で は、region5 リージョンと region4 リージョンの領域が利用できます。
# ndctl list --regions [
{
"dev":"region5", "size":270582939648,
"available_size":270582939648, "type":"pmem",
"iset_id":-7337419320239190016 },
{
"dev":"region4", "size":270582939648,
"available_size":270582939648, "type":"pmem",
"iset_id":-137289417188962304 }
]
2. いずれのリージョンでも、複数の名前空間を割り当てます。
# ndctl create-namespace \ --mode=fsdax \ --region=regionN \ --size=namespace-size
例
例5.6 リージョンへの名前空間の作成リージョンへの名前空間の作成
次のコマンドは、region4 で 36 GiB のファイルシステム DAX 名前空間を作成します。
# ndctl create-namespace \ --mode=fsdax \ --region=region4 \ --size=36G {
"dev":"namespace4.0", "mode":"fsdax",
"size":"35.44 GiB (38.05 GB)",
"uuid":"9c5330b5-dc90-4f7a-bccd-5b558fa881fe", "blockdev":"pmem4",
"numa_node":0 }
3. これで、名前空間が、/dev/pmemN パスで利用可能になります。
関連情報 関連情報
man ページの ndctl-create-namespace(1)
5.7.5. ファイルシステム DAX デバイスでのファイルシステムの作成
この手順では、ファイルシステム DAX デバイスにファイルシステムを作成し、そのファイルシステム をマウントします。
手順 手順
1. 必要に応じて、ファイルシステム DAX デバイス上にパーティションを作成します。「パーティ
1. 必要に応じて、ファイルシステム DAX デバイス上にパーティションを作成します。「パーティ ションの作成」を参照してください。
parted ツールは、デフォルトでは 1 MiB の境界にパーティションをそろえます。最初のパー ティションには、パーティションの開始部分として 2 MiB を指定します。パーティションのサ
イズが 2 MiB の倍数である場合は、他のすべてのパーティションもそろえられます。
2. パーティションまたは NVDIMM デバイスに XFS または ext4 ファイルシステムを作成します。
XFS では、共有コピーオンライトのデータエクステントを無効にします。これは、dax マウン トオプションと互換性がないためです。また、大規模ページマッピングの可能性を増やすに は、ストライプユニットとストライプの幅を設定します。
# mkfs.xfs -m reflink=0 -d su=2m,sw=1 fsdax-partition-or-device
3. -o dax マウントオプションでファイルシステムをマウントします。
# mount -o dax fsdax-partition-or-device mount-point
4. アプリケーションは永続メモリーを使用し、ファイルを mount-point ディレクトリーに作成 し、ファイルを開いて、mmap 操作を使用して直接アクセス用にファイルをマッピングできる ようになりました。
関連情報 関連情報
man ページの mkfs.xfs(8)
5.8. NVDIMM 永続メモリーのトラブルシューティング
NVDIMM デバイスで、さまざまな種類のエラーの検出および修正を行うことができます。
前提条件 前提条件
NVDIMM デバイスがシステムに接続され、設定されている。