community.general.pmem 模块 – 配置英特尔傲腾持久内存模块

注意

此模块是 community.general 集合(版本 10.1.0)的一部分。

如果您使用的是 ansible 包,您可能已经安装了这个集合。 它不包含在 ansible-core 中。 要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install community.general。 您需要进一步的要求才能使用此模块,有关详细信息,请参阅要求

要在剧本中使用它,请指定:community.general.pmem

community.general 4.5.0 中的新增功能

概要

  • 此模块允许使用 ipmctl 和 ndctl 命令行工具配置英特尔傲腾持久内存模块 (PMem)。

要求

在执行此模块的主机上需要满足以下要求。

  • ipmctl 和 ndctl 命令行工具

  • xmltodict

参数

参数

注释

appdirect

整数

在 AppDirect 模式下使用的总容量的百分比 (0-100)。

如果给定指定目标适用,则创建利用跨请求的 PMem 模块的硬件交错的 AppDirect 容量。

appdirectmemorymodereserved 的总和必须为 100

appdirect_interleaved

布尔值

创建与任何其他 PMem 模块交错的 AppDirect 容量。

选择

  • false

  • true ←(默认)

memorymode

整数

在内存模式下使用的总容量的百分比 (0-100)。

namespace

列表 / elements=字典

这使您可以设置 PMem 的命名空间的配置。

mode

字符串 / 必需

命名空间的模式。 模式的详细信息在 ndctl-create-namespace 的手册页中。

选择

  • "raw"

  • "sector"

  • "fsdax"

  • "devdax"

size

字符串

命名空间的大小。 此选项支持后缀 kKKB 表示 KiB,mMMB 表示 MiB,gGGB 表示 GiB,以及 tTTB 表示 TiB。

如果配置了多个命名空间,则此选项是必需的。

如果未设置此选项,则会配置区域的所有可用空间。

type

字符串

命名空间的类型。 类型的详细信息在 ndctl-create-namespace 的手册页中。

选择

  • "pmem"

  • "blk"

namespace_append

布尔值

启用将新命名空间追加到系统。

默认值为 false,因此会删除未在 namespace 中列出的所有现有命名空间。

选择

  • false ←(默认)

  • true

reserved

整数

保留容量的百分比 (0-100)。reserved 将不会映射到系统物理地址空间,并且将以“显示设备”和“显示内存资源”命令的保留容量形式呈现。

如果未配置,则会自动设置reserved

插槽

列表 / elements=字典

这允许通过使用插槽 ID 为每个插槽设置配置。

在一个插槽内,appdirectmemorymodereserved 的总和必须为 100

appdirect

整数 / 必需

在插槽 ID 中,以 AppDirect 模式使用的总容量百分比 (0-100)。

appdirect_interleaved

布尔值

创建与插槽 ID 内的任何其他 PMem 模块交错的 AppDirect 容量。

选择

  • false

  • true ←(默认)

ID

整数 / 必需

PMem 模块的插槽 ID。

memorymode

整数 / 必需

在插槽 ID 中,以内存模式使用的总容量百分比 (0-100)。

reserved

整数

在插槽 ID 中,要保留的容量的百分比 (0-100)。

属性

属性

支持

描述

check_mode

支持:

可以在 check_mode 中运行,并返回更改的状态预测,而无需修改目标。

diff_mode

支持:

在 diff 模式下,将返回已更改(或可能需要在 check_mode 中更改)的详细信息。

示例

- name: Configure the Pmem as AppDirect 10, Memory Mode 70, and the Reserved 20 percent.
  community.general.pmem:
    appdirect: 10
    memorymode: 70

- name: Configure the Pmem as AppDirect 10, Memory Mode 80, and the Reserved 10 percent.
  community.general.pmem:
    appdirect: 10
    memorymode: 80
    reserved: 10

- name: Configure the Pmem as AppDirect with not interleaved 10, Memory Mode 70, and the Reserved 20 percent.
  community.general.pmem:
    appdirect: 10
    appdirect_interleaved: false
    memorymode: 70

- name: Configure the Pmem each socket.
  community.general.pmem:
    socket:
      - id: 0
        appdirect: 10
        appdirect_interleaved: false
        memorymode: 70
        reserved: 20
      - id: 1
        appdirect: 10
        memorymode: 80
        reserved: 10

- name: Configure the two namespaces.
  community.general.pmem:
    namespace:
      - size: 1GB
        type: pmem
        mode: raw
      - size: 320MB
        type: pmem
        mode: sector

返回值

常见的返回值在此处有文档记录:此处,以下是此模块特有的字段

描述

reboot_required

布尔值

表示需要重新启动系统才能完成 PMem 配置。

返回: 成功

示例: true

result

列表 / elements=字典

显示 AppDirect、内存模式和保留大小(以字节为单位)的值。

如果提供了 socket 参数,则显示每个插槽中的值,其中 socket 包含插槽 ID。

如果提供了 namespace 参数,则显示每个命名空间的详细信息。

返回: 成功

示例: [{"appdirect": 111669149696, "memorymode": 970662608896, "reserved": 3626500096, "socket": 0}, {"appdirect": 111669149696, "memorymode": 970662608896, "reserved": 3626500096, "socket": 1}]

appdirect

整数

AppDirect 大小(以字节为单位)。

返回: 成功

memorymode

整数

内存模式大小(以字节为单位)。

返回: 成功

namespace

列表 / 元素=字符串

命名空间详细信息的列表。

返回: 成功

reserved

整数

保留大小(以字节为单位)。

返回: 成功

插槽

整数

要配置的插槽 ID。

返回: 成功

作者

  • Masayoshi Mizuma (@mizumm)