dellemc.openmanage.redfish_storage_volume 模块 – 管理存储卷配置

注意

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

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

要安装它,请使用:ansible-galaxy collection install dellemc.openmanage。您需要进一步的要求才能使用此模块,请参阅 要求 以了解详细信息。

要在 playbook 中使用它,请指定:dellemc.openmanage.redfish_storage_volume

dellemc.openmanage 2.1.0 中的新增功能

概要

  • 此模块允许创建、修改、初始化或删除单个存储卷。

要求

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

  • python >= 3.9.6

参数

参数

注释

apply_time

字符串

在 dellemc.openmanage 8.5.0 中添加

卷配置的应用时间。

Immediate 允许您立即在主机服务器上应用卷配置并应用更改。这适用于 job_wait

OnReset 允许您在下次主机服务器重启时应用更改。

apply_time 具有基于不同类型的控制器的默认值。例如,BOSS-S1 和 BOSS-N1 控制器的 apply_time 默认值为 OnReset,而 PERC 控制器的 apply_time 默认值为 Immediate

选择

  • "Immediate"

  • "OnReset"

baseuri

字符串 / 必需

目标带外控制器的 IP 地址。例如 - <ipaddress>:<port>。

block_size_bytes

整数

块大小,以字节为单位。仅当 statepresent 时适用。

ca_path

路径

在 dellemc.openmanage 5.0.0 中添加

包含用于验证的 CA 证书的隐私增强邮件 (PEM) 文件。

capacity_bytes

字符串

卷大小,以字节为单位。

仅当 statepresent 时适用。

command

字符串

initialize 初始化指定 volume_id 的现有存储卷。

选择

  • "initialize"

controller_id

字符串

存储控制器的完全限定设备描述符 (FQDD)。

例如 - RAID.Slot.1-1。

statepresent 且创建卷时,此选项是必需的。

drives

列表 / elements=string

物理磁盘的 FQDD。

例如 - Disk.Bay.0:Enclosure.Internal.0-1:RAID.Slot.1-1。

仅当 statepresent 且创建新卷时适用。

encrypted

布尔值

指示卷当前是否正在使用加密。

仅当 statepresent 时适用。

选择

  • false

  • true

encryption_types

字符串

可以选择以下加密类型。

ControllerAssisted 卷由存储控制器实体加密。

NativeDriveEncryption 卷利用驱动器硬件的本机驱动器加密功能。

SoftwareAssisted 卷由系统上运行的软件或操作系统加密。

仅当 statepresent 时适用。

选择

  • "NativeDriveEncryption"

  • "ControllerAssisted"

  • "SoftwareAssisted"

force_reboot

布尔值

在 dellemc.openmanage 8.5.0 中添加

强制重启服务器以在正常重启失败时应用更改。

force_reboot 仅当 reboot_servertrue 时适用。

选择

  • false ← (默认)

  • true

initialize_type

字符串

现有卷的初始化类型。

仅当 commandinitialize 时适用。

选择

  • "Fast" ← (默认)

  • "Slow"

job_wait

布尔值

在 dellemc.openmanage 8.5.0 中添加

此参数提供等待作业完成的选项。

apply_timeImmediate 时适用。

apply_timeOnResetreboot_servertrue 时适用。

选择

  • false ← (默认)

  • true

job_wait_timeout

整数

在 dellemc.openmanage 8.5.0 中添加

此参数为 job_wait 的最大等待时间,以秒为单位。

job_waittrue 时,此选项适用。

默认值: 1200

name

别名:volume_name

字符串

要创建的卷的名称。

仅当 statepresent 时适用。

oem

字典

包含 OEM 扩展负载。

仅当 statepresent 时适用。

optimum_io_size_bytes

整数

条带大小值必须是 64 * 1024 的倍数。

仅当 statepresent 时适用。

password

字符串

目标带外控制器的密码。

如果未提供密码,则使用环境变量 IDRAC_PASSWORD

示例:export IDRAC_PASSWORD=password

raid_type

字符串

在 dellemc.openmanage 8.3.0 中添加

RAID0 用于创建 RAID0 类型卷。

RAID1 用于创建 RAID1 类型卷。

RAID5 用于创建 RAID5 类型卷。

RAID6 用于创建 RAID6 类型卷。

RAID10 用于创建 RAID10 类型卷。

RAID50 用于创建 RAID50 类型卷。

RAID60 用于创建 RAID60 类型卷。

raid_typevolume_type 互斥。

选择

  • "RAID0"

  • "RAID1"

  • "RAID5"

  • "RAID6"

  • "RAID10"

  • "RAID50"

  • "RAID60"

reboot_server

布尔值

在 dellemc.openmanage 8.5.0 中添加

重启服务器以应用更改。

reboot_server 仅当 apply_timeoutOnReset 或控制器应用时间的默认值为 OnReset 时适用。

选择

  • false ← (默认)

  • true

state

字符串

present 为指定的 I (controller_id) 创建存储卷,或修改指定的 I (volume_id) 的存储卷。“注意:现有卷属性的修改取决于驱动器和控制器的功能”。

absent 删除指定的 volume_id 的卷。

选择

  • "present"

  • "absent"

timeout

整数

在 dellemc.openmanage 5.0.0 中添加

套接字级别的超时时间,以秒为单位。

默认值: 30

username

字符串

目标带外控制器的用户名。

如果未提供用户名,则使用环境变量 IDRAC_USERNAME

示例:export IDRAC_USERNAME=username

validate_certs

布尔值

在 dellemc.openmanage 5.0.0 中添加

如果 false,则不会验证 SSL 证书。

仅在个人控制的使用自签名证书的站点上配置 false

在集合版本 5.0.0 之前,validate_certs 默认值为 false

选择

  • false

  • true ← (默认)

volume_id

字符串

现有卷的 FQDD。

例如 - Disk.Virtual.4:RAID.Slot.1-1。

在以下情况下,此选项是必需的:

当更新卷时,statepresent

当删除卷时,stateabsent

当初始化卷时,commandinitialize

volume_type

字符串

必须选择以下卷类型之一才能创建卷。

NonRedundant 卷是非冗余存储设备。

Mirrored 卷是镜像设备。

StripedWithParity 卷是使用奇偶校验保留冗余信息的设备。

SpannedMirrors 卷是镜像设备的跨度集。

SpannedStripesWithParity 卷是使用奇偶校验保留冗余信息的设备的跨度集。

volume_typeraid_type 互斥。

选择

  • "NonRedundant"

  • "Mirrored"

  • "StripedWithParity"

  • "SpannedMirrors"

  • "SpannedStripesWithParity"

x_auth_token

字符串

在 dellemc.openmanage 9.3.0 中添加

身份验证令牌。

如果未提供 x_auth_token,则使用环境变量 IDRAC_X_AUTH_TOKEN

示例:export IDRAC_X_AUTH_TOKEN=x_auth_token

备注

注意

  • 从可以直接访问 Redfish API 的系统运行此模块。

  • 此模块支持 check_mode

  • 当未指定 namevolume_id 时,此模块始终报告更改。需要 namevolume_id 才能支持 check_mode

  • 此模块不支持在 iDRAC8 上创建 RAID6 和 RAID60 存储卷

  • 此模块支持 IPv4 和 IPv6 地址。

示例

---
- name: Create a volume with supported options
  dellemc.openmanage.redfish_storage_volume:
    baseuri: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    state: "present"
    volume_type: "Mirrored"
    name: "VD0"
    controller_id: "RAID.Slot.1-1"
    drives:
      - Disk.Bay.5:Enclosure.Internal.0-1:RAID.Slot.1-1
      - Disk.Bay.6:Enclosure.Internal.0-1:RAID.Slot.1-1
    block_size_bytes: 512
    capacity_bytes: 299439751168
    optimum_io_size_bytes: 65536
    encryption_types: NativeDriveEncryption
    encrypted: true

- name: Create a volume with minimum options
  dellemc.openmanage.redfish_storage_volume:
    baseuri: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    state: "present"
    controller_id: "RAID.Slot.1-1"
    volume_type: "NonRedundant"
    drives:
      - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1

- name: Create a RAID0 on PERC controller on reset
  dellemc.openmanage.redfish_storage_volume:
    baseuri: "192.168.0.1"
    username: "username"
    password: "password"
    state: "present"
    controller_id: "RAID.Slot.1-1"
    raid_type: "RAID0"
    drives:
      - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1
      - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-2
    apply_time: OnReset

- name: Create a RAID0 on BOSS controller with restart
  dellemc.openmanage.redfish_storage_volume:
    baseuri: "192.168.0.1"
    username: "username"
    password: "password"
    state: "present"
    controller_id: "RAID.Slot.1-1"
    raid_type: "RAID0"
    drives:
      - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1
      - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-2
    apply_time: OnReset
    reboot_server: true

- name: Create a RAID0 on BOSS controller with force restart
  dellemc.openmanage.redfish_storage_volume:
    baseuri: "192.168.0.1"
    username: "username"
    password: "password"
    state: "present"
    controller_id: "RAID.Slot.1-1"
    raid_type: "RAID0"
    drives:
      - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1
      - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-2
    reboot_server: true
    force_reboot: true

- name: Modify a volume's encryption type settings
  dellemc.openmanage.redfish_storage_volume:
    baseuri: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    state: "present"
    volume_id: "Disk.Virtual.5:RAID.Slot.1-1"
    encryption_types: "ControllerAssisted"
    encrypted: true

- name: Delete an existing volume
  dellemc.openmanage.redfish_storage_volume:
    baseuri: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    state: "absent"
    volume_id: "Disk.Virtual.5:RAID.Slot.1-1"

- name: Initialize an existing volume
  dellemc.openmanage.redfish_storage_volume:
    baseuri: "192.168.0.1"
    username: "username"
    password: "password"
    ca_path: "/path/to/ca_cert.pem"
    command: "initialize"
    volume_id: "Disk.Virtual.6:RAID.Slot.1-1"
    initialize_type: "Slow"

- name: Create a RAID6 volume
  dellemc.openmanage.redfish_storage_volume:
    baseuri: "192.168.0.1"
    username: "username"
    password: "password"
    state: "present"
    controller_id: "RAID.Slot.1-1"
    raid_type: "RAID6"
    drives:
      - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1
      - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-2
      - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-3
      - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-4

- name: Create a RAID60 volume
  dellemc.openmanage.redfish_storage_volume:
    baseuri: "192.168.0.1"
    username: "username"
    password: "password"
    state: "present"
    controller_id: "RAID.Slot.1-1"
    raid_type: "RAID60"
    drives:
      - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-1
      - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-2
      - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-3
      - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-4
      - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-5
      - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-6
      - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-7
      - Disk.Bay.1:Enclosure.Internal.0-1:RAID.Slot.1-8

返回值

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

描述

error_info

字典

http 错误的详细信息。

返回: 在 http 错误时

示例: {"error": {"@Message.ExtendedInfo": [{"Message": "由于设备已经存在配置作业,因此无法执行配置操作。", "MessageArgs": [], "[email protected]": 0, "MessageId": "IDRAC.1.6.STOR023", "RelatedProperties": [], "[email protected]": 0, "Resolution": "等待当前设备的作业完成,或者在尝试对设备进行更多配置操作之前取消当前作业。", "Severity": "Informational"}], "code": "Base.1.2.GeneralError", "message": "发生了一般错误。有关详细信息,请参阅 ExtendedInfo"}}

msg

字符串

存储配置操作的总体状态。

返回: 总是

示例: "已成功提交创建卷任务。"

task

字典

返回已创建任务的 ID 和 URI。

返回: 成功

示例: {"id": "JID_XXXXXXXXXXXXX", "uri": "/redfish/v1/Managers/iDRAC.Embedded.1/Jobs/JID_XXXXXXXXXXXXX"}

作者

  • Sajna Shetty(@Sajna-Shetty)

  • Kritika Bhateja(@Kritika-Bhateja-03)

  • Shivam Sharma(@ShivamSh3)