dellemc.powerflex.device 模块 – 管理 Dell PowerFlex 上的设备

注意

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

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

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

要在 Playbook 中使用它,请指定:dellemc.powerflex.device

dellemc.powerflex 1.1.0 中的新增功能

概要

  • 在 PowerFlex 存储系统上管理设备包括添加新设备、获取设备详细信息和删除设备。

要求

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

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

  • PyPowerFlex 1.12.0。

参数

参数

注释

acceleration_pool_id

字符串

加速池 ID。

在添加加速设备时使用。

支持的介质类型为 SSDNVDIMM

与 *acceleration_pool_name*、*storage_pool_name* 和 *storage_pool_id* 互斥。

acceleration_pool_name

字符串

加速池名称。

在添加加速设备时使用。

支持的介质类型为 SSDNVDIMM

与 *storage_pool_id*、*storage_pool_name* 和 *acceleration_pool_name* 互斥。

current_pathname

字符串

要添加的设备的完整路径。

添加设备时必需。

device_id

字符串

设备 ID。

与 *device_name* 互斥。

device_name

字符串

设备名称。

与 *device_id* 互斥。

external_acceleration_type

字符串

设备外部加速类型。

在添加设备时使用。

选择

  • "Invalid"

  • "None"

  • "Read"

  • "Write"

  • "ReadAndWrite"

force

布尔值

使用 Force 标志添加设备。

使用此标志可覆盖设备上的现有数据。

请谨慎使用此标志,因为设备上的所有数据都将被销毁。

选择

  • false ← (默认)

  • true

hostname

别名: gateway_host

字符串 / 必需

PowerFlex 主机的 IP 或 FQDN。

media_type

字符串

设备介质类型。

添加设备时必需。

选择

  • "HDD"

  • "SSD"

  • "NVDIMM"

password

字符串 / 必需

PowerFlex 主机的密码。

port

整数

通过它与 PowerFlex 主机通信的端口号。

默认: 443

protection_domain_id

字符串

保护域 ID。

在与 *storage_pool_name* 一起识别存储池时使用。

与 *protection_domain_name* 互斥。

protection_domain_name

字符串

保护域名。

在与 *storage_pool_name* 一起识别存储池时使用。

与 *protection_domain_id* 互斥。

sds_id

字符串

SDS 的 ID。

添加设备时必需。

与 *sds_name* 互斥。

sds_name

字符串

SDS 的名称。

添加设备时必需。

与 *sds_id* 互斥。

state

字符串 / 必需

设备的状态。

选择

  • "present"

  • "absent"

storage_pool_id

字符串

存储池 ID。

在添加存储设备时使用。

支持的介质类型为 SSDHDD

与 *storage_pool_name*、*acceleration_pool_id* 和 *acceleration_pool_name* 互斥。

storage_pool_name

字符串

存储池名称。

在添加存储设备时使用。

与 *storage_pool_id*、*acceleration_pool_id* 和 *acceleration_pool_name* 互斥。

timeout

整数

连接终止的时间。

以秒为单位提及。

默认: 120

username

字符串 / 必需

PowerFlex 主机的用户名。

validate_certs

别名: verifycert

布尔值

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

true - 表示应验证 SSL 证书。

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

选择

  • false

  • true ← (默认)

说明

注意

  • device_id 的值仅在成功添加设备后生成。

  • 要唯一标识设备,可以传递 device_id,或者必须传递 current_pathnamedevice_name 中的一个,同时传递 sds_idsds_name

  • 建议在 SDS 上为 SSD 设备安装 Rfcache 驱动程序,以便将其添加到加速池。

  • 不支持 check_mode

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

示例

- name: Add a device
  dellemc.powerflex.device:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    current_pathname: "/dev/sdb"
    sds_name: "node1"
    media_type: "HDD"
    device_name: "device2"
    storage_pool_name: "pool1"
    protection_domain_name: "domain1"
    external_acceleration_type: "ReadAndWrite"
    state: "present"
- name: Add a device with force flag
  dellemc.powerflex.device:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    current_pathname: "/dev/sdb"
    sds_name: "node1"
    media_type: "HDD"
    device_name: "device2"
    storage_pool_name: "pool1"
    protection_domain_name: "domain1"
    external_acceleration_type: "ReadAndWrite"
    force: true
    state: "present"
- name: Get device details using device_id
  dellemc.powerflex.device:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    device_id: "d7fe088900000000"
    state: "present"
- name: Get device details using (current_pathname, sds_name)
  dellemc.powerflex.device:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    current_pathname: "/dev/sdb"
    sds_name: "node0"
    state: "present"
- name: Get device details using (current_pathname, sds_id)
  dellemc.powerflex.device:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    current_pathname: "/dev/sdb"
    sds_id: "5717d71800000000"
    state: "present"
- name: Remove a device using device_id
  dellemc.powerflex.device:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    device_id: "76eb7e2f00010000"
    state: "absent"
- name: Remove a device using (current_pathname, sds_id)
  dellemc.powerflex.device:
    hostname: "{{hostname}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    port: "{{port}}"
    current_pathname: "/dev/sdb"
    sds_name: "node1"
    state: "absent"

返回值

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

描述

changed

布尔值

资源是否已更改。

返回: 总是

示例: false

device_details

字典

设备的详细信息。

返回: 当设备存在时

示例: {"accelerationPoolId": null, "accelerationProps": null, "aggregatedState": "NeverFailed", "ataSecurityActive": false, "autoDetectMediaType": "SSD", "cacheLookAheadActive": false, "capacity": 0, "capacityLimitInKb": 365772800, "deviceCurrentPathName": "/dev/sdb", "deviceOriginalPathName": "/dev/sdb", "deviceState": "Normal", "deviceType": "Unknown", "errorState": "None", "externalAccelerationType": "None", "fglNvdimmMetadataAmortizationX100": 150, "fglNvdimmWriteCacheSize": 16, "firmwareVersion": null, "id": "b6efa59900000000", "ledSetting": "Off", "links": [{"href": "/api/instances/Device::b6efa59900000000", "rel": "self"}, {"href": "/api/instances/Device::b6efa59900000000/relationships /Statistics", "rel": "/api/Device/relationship/Statistics"}, {"href": "/api/instances/Sds::8f3bb0ce00000000", "rel": "/api/parent/relationship/sdsId"}, {"href": "/api/instances/StoragePool::e0d8f6c900000000", "rel": "/api/parent/relationship/storagePoolId"}, {"href": "/api/instances/SpSds::fedf6f2000000000", "rel": "/api/parent/relationship/spSdsId"}], "logicalSectorSizeInBytes": 0, "longSuccessfulIos": {"longWindow": null, "mediumWindow": null, "shortWindow": null}, "maxCapacityInKb": 365772800, "mediaFailing": false, "mediaType": "HDD", "modelName": null, "name": "device230", "persistentChecksumState": "Protected", "physicalSectorSizeInBytes": 0, "protectionDomainId": "9300c1f900000000", "protectionDomainName": "domain1", "raidControllerSerialNumber": null, "rfcacheErrorDeviceDoesNotExist": false, "rfcacheProps": null, "sdsId": "8f3bb0ce00000000", "sdsName": "node1", "serialNumber": null, "slotNumber": null, "spSdsId": "fedf6f2000000000", "ssdEndOfLifeState": "NeverFailed", "storagePoolId": "e0d8f6c900000000", "storagePoolName": "pool1", "storageProps": {"destFglAccDeviceId": null, "destFglNvdimmSizeMb": 0, "fglAccDeviceId": null, "fglNvdimmSizeMb": 0}, "temperatureState": "NeverFailed", "vendorName": null, "writeCacheActive": false}

accelerationPoolId

字符串

加速池 ID。

返回: 成功

accelerationPoolName

字符串

加速池名称。

返回: 成功

accelerationProps

字符串

指示加速属性。

返回: 成功

aggregatedState

字符串

指示聚合状态。

返回: 成功

ataSecurityActive

布尔值

指示 ATA 安全激活状态。

返回: 成功

autoDetectMediaType

字符串

指示媒体类型的自动检测。

返回: 成功

cacheLookAheadActive

布尔值

指示缓存预读激活状态。

返回: 成功

capacity

整数

设备容量。

返回: 成功

capacityLimitInKb

整数

设备容量限制(以 KB 为单位)。

返回: 成功

deviceCurrentPathName

字符串

设备当前路径名。

返回: 成功

deviceOriginalPathName

字符串

设备原始路径名。

返回: 成功

deviceState

字符串

指示设备状态。

返回: 成功

deviceType

字符串

指示设备类型。

返回: 成功

errorState

字符串

指示错误状态。

返回: 成功

externalAccelerationType

字符串

指示外部加速类型。

返回: 成功

fglNvdimmMetadataAmortizationX100

整数

指示 FGL NVDIMM 元数据摊销值。

返回: 成功

fglNvdimmWriteCacheSize

整数

指示 FGL NVDIMM 写入缓存大小。

返回: 成功

firmwareVersion

字符串

指示固件版本。

返回: 成功

id

字符串

设备 ID。

返回: 成功

ledSetting

字符串

指示 LED 设置。

返回: 成功

list / elements=string

设备链接。

返回: 成功

字符串

设备实例 URL。

返回: 成功

字符串

设备与不同实体之间的关系。

返回: 成功

logicalSectorSizeInBytes

整数

逻辑扇区大小(以字节为单位)。

返回: 成功

longSuccessfulIos

list / elements=string

指示长时间成功的 IO。

返回: 成功

maxCapacityInKb

整数

最大设备容量限制(以 KB 为单位)。

返回: 成功

mediaFailing

布尔值

指示介质故障。

返回: 成功

mediaType

字符串

指示介质类型。

返回: 成功

modelName

字符串

指示型号名称。

返回: 成功

name

字符串

设备名称。

返回: 成功

persistentChecksumState

字符串

指示持久校验和状态。

返回: 成功

physicalSectorSizeInBytes

整数

物理扇区大小(以字节为单位)。

返回: 成功

protectionDomainId

字符串

保护域 ID。

返回: 成功

protectionDomainName

字符串

保护域名。

返回: 成功

raidControllerSerialNumber

字符串

RAID 控制器序列号。

返回: 成功

rfcacheErrorDeviceDoesNotExist

布尔值

指示 RF 缓存错误设备不存在。

返回: 成功

rfcacheProps

字符串

RF 缓存属性。

返回: 成功

sdsId

字符串

SDS ID。

返回: 成功

sdsName

字符串

SDS 名称。

返回: 成功

serialNumber

字符串

指示序列号。

返回: 成功

spSdsId

字符串

指示 SP 的 SDS ID。

返回: 成功

ssdEndOfLifeState

字符串

指示 SSD 的生命周期结束状态。

返回: 成功

storagePoolId

字符串

存储池 ID。

返回: 成功

storagePoolName

字符串

存储池名称。

返回: 成功

storageProps

list / elements=string

存储属性。

返回: 成功

temperatureState

字符串

指示温度状态。

返回: 成功

vendorName

字符串

指示供应商名称。

返回: 成功

writeCacheActive

布尔值

指示写入缓存激活状态。

返回: 成功

作者

  • Rajshree Khare (@khareRajshree)