dellemc.powerflex.mdm_cluster 模块 – 管理 Dell PowerFlex 上的 MDM 集群

注意

此模块是 dellemc.powerflex 集合(版本 2.5.0)的一部分。

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

要安装它,请使用:ansible-galaxy collection install dellemc.powerflex。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在剧本中使用它,请指定:dellemc.powerflex.mdm_cluster

dellemc.powerflex 1.3.0 中的新功能

概要

  • 在 PowerFlex 存储系统上管理 MDM 集群和 MDM,包括添加/删除备用 MDM、修改 MDM 名称和虚拟接口。

  • 它还包括获取 MDM 集群的详细信息、修改 MDM 集群所有权、集群模式和性能配置文件。

要求

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

  • Dell PowerFlex 存储系统版本 3.6 或更高版本。

  • PyPowerFlex 1.12.0。

参数

参数

注释

clear_interfaces

布尔值

清除所有虚拟 IP 接口。

clear_interfacesvirtual_ip_interfaces 互斥。

选项

  • false

  • true

cluster_mode

字符串

集群的模式。

选项

  • "OneNode"

  • "ThreeNodes"

  • "FiveNodes"

主机名

别名:gateway_host

字符串 / 必需

PowerFlex 主机的 IP 或 FQDN。

is_primary

布尔值

is_primary 设置为 true 以将 MDM 集群所有权从当前主 MDM 更改为不同的 MDM。

is_primary 设置为 false,将返回 MDM 集群详细信息。

新的所有者 MDM 必须是具有管理器角色的 MDM。

选项

  • false

  • true

mdm

列表 / 元素=字典

指定将 MDM 添加/删除到 MDM 集群的参数。

mdm_id

字符串

将要添加/删除到集群的 MDM 的 ID。

mdm_name

字符串

将要添加/删除到集群的 MDM 的名称。

mdm_type

字符串 / 必需

MDM 的类型。

必须将 mdm_idmdm_name 与 mdm_type 一起传递。

选项

  • "Secondary"

  • "TieBreaker"

mdm_id

字符串

MDM 的 ID。

mdm_name 互斥。

mdm_name

字符串

MDM 的名称。它在整个 PowerFlex 阵列中是唯一的。

mdm_id 互斥。

如果在添加备用操作中传递 mdm_name,则相同的名称将分配给新的备用 mdm。

mdm_new_name

字符串

重命名 MDM。

mdm_state

字符串

MDM 的映射状态。

选项

  • "present-in-cluster"

  • "absent-in-cluster"

password

字符串 / 必需

PowerFlex 主机的密码。

performance_profile

字符串

将性能配置文件应用于集群 MDM。

选项

  • "Compact"

  • "HighPerformance"

port

整数

与 PowerFlex 主机进行通信的端口号。

默认值: 443

standby_mdm

字典

指定添加备用 MDM 参数。

allow_multiple_ips

布尔值

允许添加的节点具有与主节点不同数量的 IP。

选项

  • false

  • true

management_ips

列表 / 元素=字符串

用于管理 MDM 的管理 IP 列表。它可以包含 IPv4 地址。

mdm_ips

列表 / 元素=字符串 / 必需

将分配给新 MDM 的 MDM IP 列表。它可以包含 IPv4 地址。

port

整数

指定新 MDM 的端口。

role

字符串 / 必需

新 MDM 的角色。

选项

  • "Manager"

  • "TieBreaker"

virtual_interfaces

列表 / 元素=字符串

将用于虚拟 IP 地址的 NIC 接口列表。

state

字符串 / 必需

MDM 集群的状态。

选项

  • "present"

  • "absent"

timeout

整数

连接将终止的时间。

以秒为单位提及。

默认值: 120

username

字符串 / 必需

PowerFlex 主机的用户名。

validate_certs

别名:verifycert

布尔值

布尔变量,用于指定是否验证 SSL 证书。

true - 表示应验证 SSL 证书。

false - 表示不应验证 SSL 证书。

选项

  • false

  • true ← (默认)

virtual_ip_interfaces

列表 / 元素=字符串

用于虚拟 IP 的接口列表。

接口的顺序必须与分配给集群的虚拟 IP 相匹配。

允许修改主类型和辅助类型 MDM 的接口。

virtual_ip_interfacesclear_interfaces 互斥。

注释

注意

  • 参数 mdm_namemdm_id 对于重命名和修改虚拟 IP 接口是必需的。

  • 修改性能配置文件时,不需要参数 mdm_namemdm_id

  • 对于更改 MDM 集群所有权操作,仅当更改为 true 时才会返回,并且对于幂等性情况,将返回 MDM 集群详细信息。

  • 在将所有权更改为新添加的 MDM 后,重新安装所有 SDC。

  • 要添加管理器备用 MDM,必须安装具有管理器角色的 MDM 包。

  • 支持 check_mode

  • 名为 ‘dellemc.powerflex’ 的集合中存在的模块旨在支持 Dell PowerFlex 存储平台。

示例

- name: Add a standby MDM
  dellemc.powerflex.mdm_cluster:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    mdm_name: "mdm_1"
    standby_mdm:
      mdm_ips:
        - "10.x.x.x"
      role: "TieBreaker"
      management_ips:
        - "10.x.y.z"
    state: "present"

- name: Remove a standby MDM
  dellemc.powerflex.mdm_cluster:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    mdm_name: "mdm_1"
    state: "absent"

- name: Switch cluster mode from 3 node to 5 node MDM cluster
  dellemc.powerflex.mdm_cluster:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    cluster_mode: "FiveNodes"
    mdm:
      - mdm_id: "5f091a8a013f1100"
        mdm_type: "Secondary"
      - mdm_name: "mdm_1"
        mdm_type: "TieBreaker"
    sdc_state: "present-in-cluster"
    state: "present"

- name: Switch cluster mode from 5 node to 3 node MDM cluster
  dellemc.powerflex.mdm_cluster:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    cluster_mode: "ThreeNodes"
    mdm:
      - mdm_id: "5f091a8a013f1100"
        mdm_type: "Secondary"
      - mdm_name: "mdm_1"
        mdm_type: "TieBreaker"
    sdc_state: "absent-in-cluster"
    state: "present"

- name: Get the details of the MDM cluster
  dellemc.powerflex.mdm_cluster:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    state: "present"

- name: Change ownership of MDM cluster
  dellemc.powerflex.mdm_cluster:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    mdm_name: "mdm_2"
    is_primary: true
    state: "present"

- name: Modify performance profile
  dellemc.powerflex.mdm_cluster:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    performance_profile: "HighPerformance"
    state: "present"

- name: Rename the MDM
  dellemc.powerflex.mdm_cluster:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    mdm_name: "mdm_1"
    mdm_new_name: "new_mdm_1"
    state: "present"

- name: Modify virtual IP interface of the MDM
  dellemc.powerflex.mdm_cluster:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    mdm_name: "mdm_1"
    virtual_ip_interface:
      - "ens224"
    state: "present"

- name: Clear virtual IP interface of the MDM
  dellemc.powerflex.mdm_cluster:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    mdm_name: "mdm_1"
    clear_interfaces: true
    state: "present"

返回值

通用返回值已在此处记录 此处,以下是此模块独有的字段

描述

changed

布尔值

资源是否已更改。

返回: 始终

示例: false

mdm_cluster_details

字典

MDM 集群的详细信息。

返回: 当 MDM 集群存在时

示例: {"clusterMode": "ThreeNodes", "clusterState": "ClusteredNormal", "goodNodesNum": 3, "goodReplicasNum": 2, "id": "cdd883cf00000002", "master": {"id": "5908d328581d1400", "ips": ["10.x.y.z"], "managementIPs": ["10.x.y.z"], "name": "sample_mdm", "opensslVersion": "OpenSSL 1.0.2k-fips  26 Jan 2017", "port": 9011, "role": "Manager", "status": "Normal", "versionInfo": "R3_6.0.0", "virtualInterfaces": ["ens1"]}, "perfProfile": "HighPerformance", "slaves": [{"id": "5908d328581d1401", "ips": ["10.x.x.z"], "managementIPs": ["10.x.x.z"], "name": "sample_mdm1", "opensslVersion": "OpenSSL 1.0.2k-fips  26 Jan 2017", "port": 9011, "role": "Manager", "status": "Normal", "versionInfo": "R3_6.0.0", "virtualInterfaces": ["ens1"]}], "standbyMDMs": [{"id": "5908d328581d1403", "ips": ["10.x.z.z"], "managementIPs": ["10.x.z.z"], "opensslVersion": "N/A", "port": 9011, "role": "TieBreaker", "status": "Normal", "versionInfo": "R3_6.0.0", "virtualInterfaces": []}], "tieBreakers": [{"id": "5908d328581d1402", "ips": ["10.x.y.y"], "managementIPs": [], "opensslVersion": "N/A", "port": 9011, "role": "TieBreaker", "status": "Normal", "versionInfo": "R3_6.0.0", "virtualInterfaces": []}]}

clusterMode

字符串

MDM 集群的模式。

返回: 成功

clusterState

字符串

MDM 集群的状态。

返回: 成功

goodNodesNum

整数

MDM 集群中的节点数。

返回: 成功

goodReplicasNum

整数

用于复制的节点数。

返回: 成功

id

字符串

MDM 集群的 ID。

返回: 成功

master

字典

主 MDM 的详细信息。

返回: 成功

id

字符串

MDM 的 ID。

返回: 成功

ips

列表 / 元素=字符串

主 MDM 的 IP 列表。

返回: 成功

managementIPs

列表 / 元素=字符串

主 MDM 的管理 IP 列表。

返回: 成功

name

字符串

MDM 的名称。

返回: 成功

opensslVersion

字符串

OpenSSL 版本。

返回: 成功

port

字符串

MDM 的端口。

返回: 成功

role

字符串

MDM 的角色。

返回: 成功

status

字符串

MDM 的状态。

返回: 成功

versionInfo

字符串

MDM 的版本。

返回: 成功

virtualInterfaces

列表 / 元素=字符串

虚拟接口列表

返回: 成功

name

字符串

MDM 集群的名称。

返回: 成功

slaves

列表 / 元素=字典

辅助 MDM 的列表。

返回: 成功

id

字符串

MDM 的 ID。

返回: 成功

ips

列表 / 元素=字符串

辅助 MDM 的 IP 列表。

返回: 成功

managementIPs

列表 / 元素=字符串

辅助 MDM 的管理 IP 列表。

返回: 成功

name

字符串

MDM 的名称。

返回: 成功

opensslVersion

字符串

OpenSSL 版本。

返回: 成功

port

字符串

MDM 的端口。

返回: 成功

role

字符串

MDM 的角色。

返回: 成功

status

字符串

MDM 的状态。

返回: 成功

versionInfo

字符串

MDM 的版本。

返回: 成功

virtualInterfaces

列表 / 元素=字符串

虚拟接口列表

返回: 成功

standbyMDMs

列表 / 元素=字典

备用 MDM 的列表。

返回: 成功

id

字符串

MDM 的 ID。

返回: 成功

ips

列表 / 元素=字符串

MDM 的 IP 列表。

返回: 成功

managementIPs

列表 / 元素=字符串

MDM 的管理 IP 列表。

返回: 成功

name

字符串

MDM 的名称。

返回: 成功

opensslVersion

字符串

OpenSSL 版本。

返回: 成功

port

字符串

MDM 的端口。

返回: 成功

role

字符串

MDM 的角色。

返回: 成功

status

字符串

MDM 的状态。

返回: 成功

versionInfo

字符串

MDM 的版本。

返回: 成功

virtualInterfaces

列表 / 元素=字符串

虚拟接口列表。

返回: 成功

tieBreakers

列表 / 元素=字典

仲裁器 MDM 的列表。

返回: 成功

id

字符串

MDM 的 ID。

返回: 成功

ips

列表 / 元素=字符串

仲裁器 MDM 的 IP 列表。

返回: 成功

managementIPs

列表 / 元素=字符串

仲裁器 MDM 的管理 IP 列表。

返回: 成功

name

字符串

MDM 的名称。

返回: 成功

opensslVersion

字符串

OpenSSL 版本。

返回: 成功

port

字符串

MDM 的端口。

返回: 成功

role

字符串

MDM 的角色。

返回: 成功

status

字符串

MDM 的状态。

返回: 成功

versionInfo

字符串

MDM 的版本。

返回: 成功

virtualIps

列表 / 元素=字符串

虚拟 IP 列表。

返回: 成功

作者

  • Bhavneet Sharma (@sharmb5)