11.2. PMEM 用コンピュートノードの設定

クラウドユーザーが仮想 PMEM を使用するインスタンスを作成できるようにするには、NVDIMM ハードウェアを持つコンピュートノードを設定する必要があります。

手順

  1. NVDIMM コンピュートノードを設定するための新規 Compute 環境ファイルを作成します (例: env_pmem.yaml)。
  2. NVDIMM リージョンをインスタンスが使用できる PMEM 名前空間に分割するには、Compute 環境ファイルの PMEM ロールに NovaPMEMNamespaces ロール固有パラメーターを追加し、以下の形式で値を設定します。

    <size>:<namespace_name>[,<size>:<namespace_name>]

    サイズを表すには、以下の接尾辞を使用します。

    • KiB:k または K
    • MiB:m または M
    • GiB:g または G
    • TiB:t または T

      たとえば、以下の設定では、4 つの名前空間 (サイズが 6 GiB の 3 つの名前空間およびサイズが 100 GiB の 1 つの名前空間) が作成されます。

      parameter_defaults:
        ComputePMEMParameters:
          NovaPMEMNamespaces: "6G:ns0,6G:ns1,6G:ns2,100G:ns3"
  3. PMEM 名前空間をフレーバーで使用できるラベルにマッピングするには、Compute 環境ファイルの PMEM ロールに NovaPMEMMappings ロール固有パラメーターを追加し、以下の形式で値を設定します。

    <label>:<namespace_name>[|<namespace_name>][,<label>:<namespace_name>[|<namespace_name>]].

    たとえば、以下の設定では、3 つの 6 GiB 名前空間がラベル 6GB にマッピングされ、100 GiB 名前空間がラベル LARGE にマッピングされます。

    parameter_defaults:
      ComputePMEMParameters:
        NovaPMEMNamespaces: "6G:ns0,6G:ns1,6G:ns2,100G:ns3"
        NovaPMEMMappings: "6GB:ns0|ns1|ns2,LARGE:ns3"
  4. 更新内容を Compute 環境ファイルに保存します。
  5. その他の環境ファイルと共に Compute 環境ファイルをスタックに追加して、オーバークラウドをデプロイします。

    (undercloud)$ openstack overcloud deploy --templates \
     -r /home/stack/templates/roles_data_pmem.yaml \
     -e /home/stack/templates/node-info.yaml \
     -e [your environment files] \
     -e /home/stack/templates/env_pmem.yaml
  6. クラウドユーザーが仮想 PMEM の設定されたインスタンスを起動するのに使用できるフレーバーを作成および設定します。以下の例では、ステップ 3 でマッピングした小さい PMEM デバイス (6 GB) を要求するフレーバーが作成されます。

    (overcloud)$ openstack flavor create --vcpus 1 --ram 512 --disk 2  \
     --property hw:pmem='6GB' small_pmem_flavor

検証

  1. PMEM フレーバーのいずれかを使用して、インスタンスを作成します。

    (overcloud)$ openstack flavor list
    (overcloud)$ openstack server create --flavor small_pmem_flavor \
     --image rhel8 pmem_instance
  2. クラウドユーザーとしてインスタンスにログインします。詳細は、Connecting to an instance を参照してください。
  3. インスタンスに接続されたすべてのディスクデバイスをリスト表示します。

    $ sudo fdisk -l /dev/pmem0

    リスト表示されるデバイスのいずれかが NVDIMM であれば、インスタンスに仮想 PMEM が設定されています。