13.2. 配置 PMEM Compute 节点
要让您的云用户创建使用 vPMEM 的实例,您必须配置具有 NVDIMM 硬件的 Compute 节点。
流程
-
创建一个新的计算环境文件,用于配置 NVDIMM Compute 节点,如
env_pmem.yaml
。 要将 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"
要将 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"
- 保存对 Compute 环境文件的更新。
使用其他环境文件将计算环境文件添加到堆栈中,并部署 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
创建并配置您的云用户可以使用 vPMEM 启动具有 vPMEM 的实例的类别。以下示例创建了一个请求小 PMEM 设备 6GB 的类别,如第 3 步映射:
(overcloud)$ openstack flavor create --vcpus 1 --ram 512 --disk 2 \ --property hw:pmem='6GB' small_pmem_flavor
验证
使用其中一个 PMEM 类别创建一个实例:
(overcloud)$ openstack flavor list (overcloud)$ openstack server create --flavor small_pmem_flavor \ --image rhel8 pmem_instance
- 以云用户身份登录实例。如需更多信息,请参阅 连接到实例。
列出附加到实例的所有磁盘设备:
$ sudo fdisk -l /dev/pmem0
如果列出的其中一个设备是 NVDIMM,则实例有 vPMEM。