dellemc.powerflex.snapshot 模块 – 在 Dell PowerFlex 上管理快照

注意

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

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

要安装它,请使用:ansible-galaxy collection install dellemc.powerflex。您需要其他要求才能使用此模块,请参阅 需求了解详情。

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

dellemc.powerflex 1.0.0 中的新增功能

概要

  • 在 PowerFlex 存储系统上管理快照包括创建、获取详细信息、映射/取消映射到/从 SDC、修改属性和删除快照。

需求

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

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

  • PyPowerFlex 1.12.0。

参数

参数

注释

allow_multiple_mappings

布尔值

指定是否允许多个映射。

选项

  • false

  • true

cap_unit

字符串

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

选项

  • "GB"

  • "TB"

desired_retention

整数

快照的保留值。

如果在创建期间未提及 desired_retention,则将创建具有无限保留期限的快照。

最大支持的 desired_retention 为 31 天。

hostname

别名:gateway_host

字符串 / 必需

PowerFlex 主机的 IP 或 FQDN。

password

字符串 / 必需

PowerFlex 主机的密码。

port

整数

与 PowerFlex 主机通信的端口号。

默认值: 443

read_only

布尔值

指定创建的快照卷的映射是否具有读写访问权限或仅限于只读访问权限。

如果 true,则创建具有只读访问权限的快照。

如果 false,则创建具有读写访问权限的快照。

选项

  • false

  • true

remove_mode

字符串

快照的删除模式。

如果未指定,则默认为 ONLY_ME

选项

  • "ONLY_ME"

  • "INCLUDING_DESCENDANTS"

retention_unit

字符串

保留单位。如果未指定,则默认为 hours

选项

  • "hours"

  • "days"

sdc

列表 / 元素=字典

指定 SDC 参数。

access_mode

字符串

定义快照所有映射的访问模式。

选项

  • "READ_WRITE"

  • "READ_ONLY"

  • "NO_ACCESS"

bandwidth_limit

整数

快照网络带宽限制。

需要以 1024 Kbps 的倍数提及。

要设置无限制,则传递 0。

iops_limit

整数

快照 IOPS 限制。

最小 IOPS 限制为 11,对于无限 iops,请指定 0。

sdc_id

字符串

SDC 的 ID。

指定 *sdc_name*、*sdc_id* 或 *sdc_ip*。

与 *sdc_name* 和 *sdc_ip* 互斥。

sdc_ip

字符串

SDC 的 IP。

指定 *sdc_name*、*sdc_id* 或 *sdc_ip*。

与 *sdc_id* 和 *sdc_name* 互斥。

sdc_name

字符串

SDC 的名称。

指定 *sdc_name*、*sdc_id* 或 *sdc_ip*。

与 *sdc_id* 和 *sdc_name* 互斥。

sdc_state

字符串

SDC 的映射状态。

选项

  • "mapped"

  • "unmapped"

size

整数

快照的大小。

snapshot_id

字符串

快照的 ID。

snapshot_name

字符串

快照的名称。

创建操作时必须。

对于任何操作,都指定 *snapshot_name* 或 *snapshot_id*(但不能同时指定两者)。

snapshot_new_name

字符串

快照的新名称。用于重命名快照。

state

字符串 / 必需

快照的状态。

选项

  • "present"

  • "absent"

timeout

整数

连接终止后的时间。

以秒为单位。

默认值: 120

username

字符串 / 必需

PowerFlex 主机的用户名。

validate_certs

别名:verifycert

布尔值

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

true - 表示应验证 SSL 证书。

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

选项

  • false

  • true ← (默认)

vol_id

字符串

卷的 ID。

vol_name

字符串

将为其创建快照的卷的名称。

创建快照时,指定 *vol_name* 或 *vol_id*。

备注

注意

  • 不支持 *check_mode*。

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

示例

- name: Create snapshot
  dellemc.powerflex.snapshot:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    snapshot_name: "ansible_snapshot"
    vol_name: "ansible_volume"
    read_only: false
    desired_retention: 2
    state: "present"

- name: Get snapshot details using snapshot id
  dellemc.powerflex.snapshot:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    snapshot_id: "fe6cb28200000007"
    state: "present"

- name: Map snapshot to SDC
  dellemc.powerflex.snapshot:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    snapshot_id: "fe6cb28200000007"
    sdc:
      - sdc_ip: "198.10.xxx.xxx"
      - sdc_id: "663ac0d200000001"
    allow_multiple_mappings: true
    sdc_state: "mapped"
    state: "present"

- name: Modify the attributes of SDC mapped to snapshot
  dellemc.powerflex.snapshot:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    snapshot_id: "fe6cb28200000007"
    sdc:
      - sdc_ip: "198.10.xxx.xxx"
        iops_limit: 11
        bandwidth_limit: 4096
      - sdc_id: "663ac0d200000001"
        iops_limit: 20
        bandwidth_limit: 2048
    allow_multiple_mappings: true
    sdc_state: "mapped"
    state: "present"

- name: Extend the size of snapshot
  dellemc.powerflex.snapshot:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    snapshot_id: "fe6cb28200000007"
    size: 16
    state: "present"

- name: Unmap SDCs from snapshot
  dellemc.powerflex.snapshot:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    snapshot_id: "fe6cb28200000007"
    sdc:
      - sdc_ip: "198.10.xxx.xxx"
      - sdc_id: "663ac0d200000001"
    sdc_state: "unmapped"
    state: "present"

- name: Rename snapshot
  dellemc.powerflex.snapshot:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    snapshot_id: "fe6cb28200000007"
    snapshot_new_name: "ansible_renamed_snapshot_10"
    state: "present"

- name: Delete snapshot
  dellemc.powerflex.snapshot:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    snapshot_id: "fe6cb28200000007"
    remove_mode: "ONLY_ME"
    state: "absent"

返回值

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

描述

changed

布尔值

资源是否已更改。

返回: 始终

示例: false

snapshot_details

字典

快照的详细信息。

返回: 快照存在时

示例: {"accessModeLimit": "ReadOnly", "ancestorVolumeId": "cdd883cf00000002", "ancestorVolumeName": "ansible-volume-1", "autoSnapshotGroupId": null, "compressionMethod": "Invalid", "consistencyGroupId": "22f1e80c00000001", "creationTime": 1631619229, "dataLayout": "MediumGranularity", "id": "cdd883d000000004", "links": [{"href": "/api/instances/Volume::cdd883d000000004", "rel": "self"}, {"href": "/api/instances/Volume::cdd883d000000004/relationships /Statistics", "rel": "/api/Volume/relationship/Statistics"}, {"href": "/api/instances/Volume::cdd883cf00000002", "rel": "/api/parent/relationship/ancestorVolumeId"}, {"href": "/api/instances/VTree::6e86255c00000001", "rel": "/api/parent/relationship/vtreeId"}, {"href": "/api/instances/StoragePool::e0d8f6c900000000", "rel": "/api/parent/relationship/storagePoolId"}], "lockedAutoSnapshot": false, "lockedAutoSnapshotMarkedForRemoval": false, "managedBy": "ScaleIO", "mappedSdcInfo": null, "name": "ansible_vol_snap_1", "notGenuineSnapshot": false, "originalExpiryTime": 0, "pairIds": null, "replicationJournalVolume": false, "replicationTimeStamp": 0, "retentionInHours": 0, "retentionLevels": [], "secureSnapshotExpTime": 0, "sizeInGb": 16, "sizeInKb": 16777216, "snplIdOfAutoSnapshot": null, "snplIdOfSourceVolume": null, "storagePoolId": "e0d8f6c900000000", "storagePoolName": "pool1", "timeStampIsAccurate": false, "useRmcache": false, "volumeReplicationState": "UnmarkedForReplication", "volumeType": "Snapshot", "vtreeId": "6e86255c00000001"}

ancestorVolumeId

字符串

指定卷的V-Tree根目录的ID。

返回:成功

ancestorVolumeName

字符串

指定卷的V-Tree根目录的名称。

返回:成功

creationTime

整数

快照的创建时间。

返回:成功

id

字符串

快照的ID。

返回:成功

mappedSdcInfo

字典

已映射SDC的详细信息。

返回:成功

accessMode

字符串

指定快照的映射访问模式。

返回:成功

limitBwInMbps

整数

SDC的带宽限制。

返回:成功

limitIops

整数

SDC的IOPS限制。

返回:成功

sdcId

字符串

SDC 的 ID。

返回:成功

sdcIp

字符串

SDC 的 IP。

返回:成功

sdcName

字符串

SDC 的名称。

返回:成功

name

字符串

快照的名称。

返回:成功

retentionInHours

整数

快照的保留时间(小时)。

返回:成功

secureSnapshotExpTime

整数

快照的过期时间。

返回:成功

sizeInGb

整数

快照的大小。

返回:成功

sizeInKb

整数

快照的大小。

返回:成功

storagePoolId

字符串

快照所在的存储池的ID。

返回:成功

storagePoolName

字符串

快照所在的存储池的名称。

返回:成功

作者

  • Akash Shendge (@shenda1)