dellemc.unity.volume 模块 – 管理 Unity 存储系统上的卷

注意

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

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

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

要在 playbook 中使用它,请指定:dellemc.unity.volume

dellemc.unity 1.1.0 中的新增功能

概要

  • 管理 Unity 存储系统上的卷包括:创建新卷、修改卷属性、将卷映射到主机、取消将卷映射到主机、显示卷详细信息、删除卷。

需求

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

  • Dell Unity 存储设备版本 5.1 或更高版本。

  • Ansible-core 2.14 或更高版本。

  • Python 3.9、3.10 或 3.11。

  • Storops Python SDK 1.2.11。

参数

参数

注释

advanced_dedup

布尔值

布尔变量,指示是否启用高级重复数据删除。

应启用压缩才能启用高级重复数据删除。

它只能在所有闪存高端平台上启用。

即使在禁用高级重复数据删除后,重复数据删除的数据也将保持不变。

选项

  • false

  • true

cap_unit

字符串

卷大小的单位。如果未指定,则默认为 GB

选项

  • "GB"

  • "TB"

compression

布尔值

布尔变量,指定是否启用压缩。压缩仅适用于精简卷。

选项

  • false

  • true

description

字符串

关于卷的描述。

可以通过传递空字符串 (“”) 来删除描述。

hlu

整数

要与此卷映射/取消映射的主机 LUN 单元。

这是一个可选参数,hlu 可以与 _host_name_ 或 _host_id_ 和 _mapping_state_ 一起指定。

如果未指定 _hlu_,Unity 将自动选择它。支持的最大值为 255

host_id

字符串

要与此卷映射/取消映射的主机的 ID。

在一个任务中可以指定 _host_name_ 或 _host_id_ 以及 _mapping_state_。

host_name

字符串

要与此卷映射/取消映射的主机的名称。

在一个任务中可以指定 _host_name_ 或 _host_id_ 以及 _mapping_state_。

hosts

列表 / 元素=字典

要映射到卷的主机的名称。

hlu

字符串

要与此卷映射/取消映射的主机 LUN 单元。

这是一个可选参数,_hlu_ 可以与 _host_name_ 或 _host_id_ 和 _mapping_state_ 一起指定。

如果未指定 _hlu_,Unity 将自动选择它。支持的最大值为 255

host_id

字符串

主机的 ID。

host_name

字符串

主机的名称。

io_limit_policy

字符串

与此卷关联的 IO 限制策略。设置后,无法通过 ansible 模块删除,但可以更改。

is_thin

布尔值

布尔变量,指定它是否是精简卷。

如果未指定,则默认值为 true

选项

  • false

  • true

mapping_state

字符串

卷的主机访问状态。

选项

  • "mapped"

  • "unmapped"

new_vol_name

字符串

重命名操作的新卷名。

password

字符串 / 必需

Unity 管理服务器的密码。

pool_id

字符串

这是将创建卷的池的 ID。

必须提供 _pool_name_ 或 _pool_id_ 来创建新卷。

pool_name

字符串

这是将创建卷的池的名称。

必须提供 _pool_name_ 或 _pool_id_ 来创建新卷。

port

整数

与 Unity 管理服务器通信的端口号。

默认值: 443

size

整数

卷的大小。

snap_schedule

字符串

分配给卷的快照计划。

添加/删除/修改卷的快照计划。

sp

字符串

此卷的存储处理器。

选项

  • "SPA"

  • "SPB"

state

字符串 / 必需

状态变量,用于确定卷是否存在。

选项

  • "absent"

  • "present"

tiering_policy

字符串

分层策略选择,用于将存储资源数据分布在池中可用的层之间。

选项

  • "AUTOTIER_HIGH"

  • "AUTOTIER"

  • "HIGHEST"

  • "LOWEST"

unispherehost

字符串 / 必需

Unity 管理服务器的 IP 或 FQDN。

username

字符串 / 必需

Unity 管理服务器的用户名。

validate_certs

别名:verifycert

布尔值

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

true - 指示应验证 SSL 证书。

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

选项

  • false

  • true ← (默认)

vol_id

字符串

卷的ID。

仅可在获取、修改、映射/取消映射主机或删除操作中使用。

vol_name

字符串

卷的名称。仅在创建操作中强制要求。

注释

注意

  • 不支持check_mode

  • 此集合中名为“dellemc.unity”的模块旨在支持Dell Unity存储平台。

示例

- name: Create Volume
  dellemc.unity.volume:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    vol_name: "{{vol_name}}"
    description: "{{description}}"
    pool_name: "{{pool}}"
    size: 2
    cap_unit: "{{cap_GB}}"
    is_thin: true
    compression: true
    advanced_dedup: true
    state: "{{state_present}}"

- name: Expand Volume by volume id
  dellemc.unity.volume:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    vol_id: "{{vol_id}}"
    size: 5
    cap_unit: "{{cap_GB}}"
    state: "{{state_present}}"

- name: Modify Volume, map host by host_name
  dellemc.unity.volume:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    vol_name: "{{vol_name}}"
    host_name: "{{host_name}}"
    hlu: 5
    mapping_state: "{{state_mapped}}"
    state: "{{state_present}}"

- name: Modify Volume, unmap host mapping by host_name
  dellemc.unity.volume:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    vol_name: "{{vol_name}}"
    host_name: "{{host_name}}"
    mapping_state: "{{state_unmapped}}"
    state: "{{state_present}}"

- name: Map multiple hosts to a Volume
  dellemc.unity.volume:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    vol_id: "{{vol_id}}"
    hosts:
      - host_name: "10.226.198.248"
        hlu: 1
      - host_id: "Host_929"
        hlu: 2
    mapping_state: "mapped"
    state: "present"

- name: Modify Volume attributes
  dellemc.unity.volume:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    vol_name: "{{vol_name}}"
    new_vol_name: "{{new_vol_name}}"
    tiering_policy: "AUTOTIER"
    compression: true
    is_thin: true
    advanced_dedup: true
    state: "{{state_present}}"

- name: Delete Volume by vol name
  dellemc.unity.volume:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    vol_name: "{{vol_name}}"
    state: "{{state_absent}}"

- name: Delete Volume by vol id
  dellemc.unity.volume:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    vol_id: "{{vol_id}}"
    state: "{{state_absent}}"

返回值

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

描述

changed

布尔值

资源是否已更改。

返回值:始终

示例: true

volume_details

字典

卷的详细信息。

返回值:卷存在时

示例: {"current_node": "NodeEnum.SPB", "data_reduction_percent": 0, "data_reduction_ratio": 1.0, "data_reduction_size_saved": 0, "default_node": "NodeEnum.SPB", "description": null, "effective_io_limit_max_iops": null, "effective_io_limit_max_kbps": null, "existed": true, "family_base_lun": {"UnityLun": {"hash": 8774954523796, "id": "sv_27"}}, "family_clone_count": 0, "hash": 8774954522426, "health": {"UnityHealth": {"hash": 8774954528278}}, "host_access": [{"accessMask": "PRODUCTION", "hlu": 0, "id": "Host_75", "name": "10.226.198.250"}], "id": "sv_27", "io_limit_policy": null, "is_advanced_dedup_enabled": false, "is_compression_enabled": null, "is_data_reduction_enabled": false, "is_replication_destination": false, "is_snap_schedule_paused": false, "is_thin_clone": false, "is_thin_enabled": false, "metadata_size": 4294967296, "metadata_size_allocated": 4026531840, "name": "VSI-UNITY-test-task", "per_tier_size_used": [111400714240, 0, 0], "pool": {"id": "pool_3", "name": "Extreme_Perf_tier"}, "size_allocated": 107374182400, "size_total": 107374182400, "size_total_with_unit": "100.0 GB", "size_used": null, "snap_count": 0, "snap_schedule": null, "snap_wwn": "60:06:01:60:5C:F0:50:00:94:3E:91:4D:51:5A:4F:97", "snaps_size": 0, "snaps_size_allocated": 0, "storage_resource": {"UnityStorageResource": {"hash": 8774954518887}}, "tiering_policy": "TieringPolicyEnum.AUTOTIER_HIGH", "type": "LUNTypeEnum.VMWARE_ISCSI", "wwn": "60:06:01:60:5C:F0:50:00:00:B5:95:61:2E:34:DB:B2"}

current_sp

字符串

此卷的当前存储处理器。

返回值:成功

description

字符串

关于卷的描述。

返回值:成功

host_access

列表 / 元素=字符串

映射到此卷的主机。

返回值:成功

id

字符串

系统为卷生成的ID。

返回值:成功

io_limit_policy

字典

与该卷关联的IO限制策略。

返回值:成功

is_data_reduction_enabled

布尔值

此卷上是否启用了压缩。

返回值:成功

is_thin_enabled

布尔值

指示此卷是否启用了精简置备。

返回值:成功

name

字符串

卷的名称。

返回值:成功

pool

字典

分配此卷的池。

返回值:成功

size_total_with_unit

字符串

带有实际单位的卷的大小。

返回值:成功

snap_schedule

字典

应用于此卷的快照计划。

返回值:成功

tiering_policy

字符串

应用于此卷的分层策略。

返回值:成功

wwn

字符串

此卷的全球唯一名称。

返回值:成功

作者

  • Arindam Datta (@arindam-emc)

  • Pavan Mudunuri(@Pavan-Mudunuri)