infinidat.infinibox.infini_vol 模块 – 在 Infinibox 上创建、删除或修改卷

注意

此模块是 infinidat.infinibox 集合(版本 1.4.5)的一部分。

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

要安装它,请使用:ansible-galaxy collection install infinidat.infinibox。您需要进一步的要求才能使用此模块,请参阅 要求 了解详情。

要在 playbook 中使用它,请指定:infinidat.infinibox.infini_vol

infinidat.infinibox 2.3.0 中的新功能

概要

  • 此模块在 Infinibox 上创建、删除或修改卷。

要求

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

参数

参数

注释

名称

字符串

卷名称。

parent_volume_name

字符串

指定卷名称。 这是用于创建快照的卷父级。 如果 volume_type 为 snapshot,则为必需项。

密码

字符串 / 必需

Infinibox 用户密码。

字符串

主卷将驻留的池。 创建主卷时为必需项,但快照不是必需项。

restore_volume_from_snapshot

布尔值

指定 true 以从名称字段指定的现有快照还原卷 (parent_volume_name)。

状态必须设置为 present,并且 volume_type 必须为“snapshot”。

选择

  • false ←(默认)

  • true

序列号

字符串

卷序列号。

大小

字符串

卷大小,单位为 MB、GB 或 TB。创建主卷时为必需项,但快照不是必需项

snapshot_lock_expires_at

字符串

这将导致快照在指定的日期时间被锁定。使用 Python 的 datetime 格式 YYYY-mm-dd HH:MM:SS.ffffff,例如 2020-02-13 16:21:59.699700

snapshot_lock_only

布尔值

这将锁定现有快照,但会阻止刷新快照。

选择

  • false ←(默认)

  • true

状态

字符串

当存在时创建/修改主卷或快照,当不存在时删除。

选择

  • “stat”

  • "present" ←(默认)

  • “absent”

系统

字符串 / 必需

Infinibox 主机名或 IPv4 地址。

thin_provision

布尔值

主卷应该是精简配置还是厚配置。

选择

  • false

  • true ←(默认)

用户

字符串 / 必需

具有足够权限的 Infinibox 用户用户名(请参阅说明)。

volume_type

字符串

指定卷类型,常规卷或快照。

选择

  • "master" ←(默认)

  • “snapshot”

write_protected

字符串

指定卷是否应受写保护。快照的默认值为 True,常规卷的默认值为 False。

选择

  • "Default" ←(默认)

  • “True”

  • “False”

说明

注意

  • 此模块需要 infinisdk python 库

  • 如果未直接将用户和密码参数传递给模块,则必须设置 INFINIBOX_USER 和 INFINIBOX_PASSWORD 环境变量

  • 如果没有提供凭据,Ansible 将使用 infinisdk 配置文件 ~/.infinidat/infinisdk.ini。请参阅 http://infinisdk.readthedocs.io/en/latest/getting_started.html

  • 所有 Infinidat 模块都支持检查模式 (–check)。但是,如果任务不满足资源依赖关系,则创建资源的 dryrun 可能会失败。例如,考虑一个在池中创建卷的任务。如果池不存在,则卷创建任务将失败。即使 playbook 中有先前的任务可以创建池,但由于池创建也是 dry run 的一部分,因此该任务也不会执行,也会失败。

示例

- name: Create new volume named foo under pool named bar
  infini_vol:
    name: foo
    # volume_type: master  # Default
    size: 1TB
    thin_provision: true
    pool: bar
    state: present
    user: admin
    password: secret
    system: ibox001
- name: Create snapshot named foo_snap from volume named foo
  infini_vol:
    name: foo_snap
    volume_type: snapshot
    parent_volume_name: foo
    state: present
    user: admin
    password: secret
    system: ibox001
- name: Stat snapshot, also a volume, named foo_snap
  infini_vol:
    name: foo_snap
    state: present
    user: admin
    password: secret
    system: ibox001
- name: Remove snapshot, also a volume, named foo_snap
  infini_vol:
    name: foo_snap
    state: absent
    user: admin
    password: secret
    system: ibox001

作者

  • David Ohlemacher (@ohlemacher)