21.6. ブロックデバイスとして動作する NVDIMM 上のセクター名前空間の作成
非揮発性デュアルインラインメモリーモジュール (NVDIMM) デバイスをセクターモード (レガシーモードとも呼ばれます) で設定して、従来のブロックベースのストレージをサポートできます。
次のいずれかになります。
- 既存の名前空間をセクターモードに再設定
- 新規セクター名前空間を作成 (利用可能な領域がある場合)
前提条件
- NVDIMM デバイスがシステムに接続されている。
21.6.1. 既存の NVDIMM 名前空間のセクターモードへの再設定
Non-Volatile Dual In-line Memory Modules (NVDIMM) 名前空間をセクターモードに再設定して、高速ブロックデバイスとして使用できます。
名前空間を再構成すると、名前空間に以前に保存されたデータが削除されます。
前提条件
-
ndctl
ユーティリティーがインストールされている。詳細は、ndctl のインストール を参照してください。
手順
既存の名前空間を表示します。
# 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 } ]
選択した名前空間をセクターモードに再設定します。
# ndctl create-namespace --force --reconfig=namespace-ID --mode=sector
例21.1 セクターモードでの namespace1.0 の再設定
# ndctl create-namespace --force --reconfig=namespace1.0 --mode=sector { "dev":"namespace1.0", "mode":"sector", "size":"755.26 GiB (810.95 GB)", "uuid":"2509949d-1dc4-4ee0-925a-4542b28aa616", "sector_size":4096, "blockdev":"pmem1s" }
再設定された名前空間は、
/dev
ディレクトリーの下で/dev/pmem1s
ファイルとして利用できるようになりました。
検証
システム上の既存の名前空間が再設定されているかどうかを確認します。
# ndctl list --namespace namespace1.0 [ { "dev":"namespace1.0", "mode":"sector", "size":810954706944, "uuid":"2509949d-1dc4-4ee0-925a-4542b28aa616", "sector_size":4096, "blockdev":"pmem1s" } ]
関連情報
-
man ページの
ndctl-create-namespace(1)
21.6.2. セクターモードでの新たな NVDIMM 名前空間の作成
領域に利用可能なスペースがある場合、高速ブロックデバイスとして使用するために、不揮発性デュアルインラインメモリーモジュール (NVDIMM) 名前空間をセクターモードで作成できます。
前提条件
-
ndctl
ユーティリティーがインストールされている。詳細は、ndctl のインストール を参照してください。 NVDIMM デバイスは、リージョン内に複数の名前空間を作成するためのラベルをサポートしています。これは、次のコマンドを使用して確認できます。
# ndctl read-labels nmem0 >/dev/null read 1 nmem
これは、1 つの NVDIMM デバイスのラベルを読み取ったことを示しています。値が
0
の場合、デバイスがラベルをサポートしていないことを意味します。
手順
利用可能な領域があるシステムの
pmem
リージョンのリストを表示します。以下の例では、region1 リージョンと region0 リージョンの領域が利用できます。# ndctl list --regions [ { "dev":"region1", "size":2156073582592, "align":16777216, "available_size":2117418876928, "max_available_extent":2117418876928, "type":"pmem", "iset_id":-9102197055295954944, "badblock_count":1, "persistence_domain":"memory_controller" }, { "dev":"region0", "size":2156073582592, "align":16777216, "available_size":2143188680704, "max_available_extent":2143188680704, "type":"pmem", "iset_id":736272362787276936, "badblock_count":3, "persistence_domain":"memory_controller" } ]
利用可能な領域のいずれかに、1 つ以上の名前空間を割り当てます。
# ndctl create-namespace --mode=sector --region=regionN --size=namespace-size
例21.2 region0 に 36 GiB セクターの名前空間を作成する
# ndctl create-namespace --mode=sector --region=region0 --size=36G { "dev":"namespace0.1", "mode":"sector", "size":"35.96 GiB (38.62 GB)", "uuid":"ff5a0a16-3495-4ce8-b86b-f0e3bd9d1817", "sector_size":4096, "blockdev":"pmem0.1s" }
新しい名前空間が
/dev/pmem0.1s
として利用できるようになりました。
検証
新しい名前空間がセクターモードで作成されているかどうかを確認します。
# ndctl list -RN -n namespace0.1 { "regions":[ { "dev":"region0", "size":2156073582592, "align":16777216, "available_size":2104533975040, "max_available_extent":2104533975040, "type":"pmem", "iset_id":736272362787276936, "badblock_count":3, "persistence_domain":"memory_controller", "namespaces":[ { "dev":"namespace0.1", "mode":"sector", "size":38615912448, "uuid":"ff5a0a16-3495-4ce8-b86b-f0e3bd9d1817", "sector_size":4096, "blockdev":"pmem0.1s" } ] } ] }
関連情報
-
man ページの
ndctl-create-namespace(1)