11.2. 配置 PMEM Compute 节点

要让您的云用户创建使用 vPMEM 的实例,您必须配置具有 NVDIMM 硬件的 Compute 节点。

流程

  1. 创建一个新的计算环境文件,用于配置 NVDIMM Compute 节点,如 env_pmem.yaml
  2. 要将 NVDIMM 区域分区为 PMEM 命名空间,请将 NovaPMEMNamespaces 角色特定参数添加到计算环境文件中的 PMEM 角色,并使用以下格式设置值:

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

    使用以下后缀来表示大小:

    • "k" or "K" for KiB
    • "m" or "M" for MiB
    • "g" 或 "G" 用于 GiB
    • "t" 或 "T" 代表 TiB

      例如,以下配置创建了四个命名空间,三个大小为 6 GiB,大小为 100 GiB :

      parameter_defaults:
        ComputePMEMParameters:
          NovaPMEMNamespaces: "6G:ns0,6G:ns1,6G:ns2,100G:ns3"
  3. 要将 PMEM 命名空间映射到可在类别中使用的标签,请将 NovaPMEMMappings 角色特定参数添加到 Compute 环境文件中的 PMEM 角色,并使用以下格式设置值:

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

    例如,以下配置将三个 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. 使用其他环境文件将计算环境文件添加到堆栈中,并部署 overcloud:

    (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. 创建并配置您的云用户可以使用 vPMEM 启动具有 vPMEM 的实例的类别。以下示例创建了一个请求小 PMEM 设备 6GB 的类别,如第 3 步映射:

    (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. 以云用户身份登录实例。如需更多信息,请参阅 连接到实例
  3. 列出附加到实例的所有磁盘设备:

    $ sudo fdisk -l /dev/pmem0

    如果列出的其中一个设备是 NVDIMM,则实例有 vPMEM。