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

注意

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

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

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

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

dellemc.powerflex 1.1.0 中的新增功能

概要

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

需求

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

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

  • PyPowerFlex 1.12.0。

参数

参数

注释

acceleration_pool_id

字符串

加速池 ID。

添加加速设备时使用。

支持的介质类型为 SSDNVDIMM

acceleration_pool_namestorage_pool_namestorage_pool_id 互斥。

acceleration_pool_name

字符串

加速池名称。

添加加速设备时使用。

支持的介质类型为 SSDNVDIMM

storage_pool_idstorage_pool_nameacceleration_pool_name 互斥。

current_pathname

字符串

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

添加设备时必需。

device_id

字符串

设备 ID。

device_name 互斥。

device_name

字符串

设备名称。

device_id 互斥。

external_acceleration_type

字符串

设备外部加速类型。

添加设备时使用。

选项

  • "无效"

  • "无"

  • "读取"

  • "写入"

  • "读写"

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

字符串 / 必需

设备的状态。

选项

  • "存在"

  • "不存在"

storage_pool_id

字符串

存储池 ID。

添加存储设备时使用。

支持的介质类型为 SSDHDD

storage_pool_nameacceleration_pool_idacceleration_pool_name 互斥。

storage_pool_name

字符串

存储池名称。

添加存储设备时使用。

storage_pool_idacceleration_pool_idacceleration_pool_name 互斥。

timeout

整数

连接将终止后的时间。

以秒为单位。

默认值: 120

username

字符串 / 必需

PowerFlex 主机的用户名。

validate_certs

别名:verifycert

布尔值

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

true - 表示应验证 SSL 证书。

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

选项

  • false

  • true ← (默认)

备注

注意

  • 只有在成功添加设备后才会生成 device_id 的值。

  • 要唯一标识设备,可以传递 device_id,或者必须与 sds_idsds_name 一起传递 current_pathnamedevice_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设置。

返回值:成功

列表 / 元素=字符串

设备链接。

返回值:成功

字符串

设备实例URL。

返回值:成功

字符串

设备与不同实体的关系。

返回值:成功

logicalSectorSizeInBytes

整数

逻辑扇区大小(字节)。

返回值:成功

longSuccessfulIos

列表 / 元素=字符串

指示长时间成功的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

列表 / 元素=字符串

存储属性。

返回值:成功

temperatureState

字符串

指示温度状态。

返回值:成功

vendorName

字符串

指示供应商名称。

返回值:成功

writeCacheActive

布尔值

指示写缓存活动状态。

返回值:成功

作者

  • Rajshree Khare (@khareRajshree)