netapp.ontap.na_ontap_volume 模块 – NetApp ONTAP 管理卷。

注意

此模块是 netapp.ontap 集合 (版本 22.13.0) 的一部分。

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

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

要在 playbook 中使用它,请指定:netapp.ontap.na_ontap_volume

netapp.ontap 2.6.0 中的新增功能

概要

  • 在 NetApp ONTAP 上创建、销毁或修改卷。

要求

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

  • Ansible 2.9 或更高版本 - 建议使用 2.12 或更高版本。

  • Python3 - 建议使用 3.9 或更高版本。

  • 使用 ZAPI 时,建议使用 netapp-lib 2018.11.13 或更高版本(使用 ‘pip install netapp-lib’ 安装),强烈建议使用 netapp-lib 2020.3.12,因为它为连接问题提供了更好的错误报告。

  • 物理或虚拟集群 Data ONTAP 系统,这些模块支持 Data ONTAP 9.1 及更高版本,REST 支持需要 ONTAP 9.6 或更高版本。

参数

参数

注释

activity_tracking

字符串

在 netapp.ontap 22.12.0 中添加

设置卷的活动跟踪状态。

仅在 REST 中支持,并且需要 ONTAP 9.10 或更高版本。

选项

  • "on"

  • "off"

aggr_list

列表 / 元素=字符串

在 netapp.ontap 2.8.0 中添加

用于 FlexGroup 组件的聚合名称数组。

aggr_list_multiplier

整数

在 netapp.ontap 2.8.0 中添加

创建 FlexGroup 时,使用 aggr_list 参数列出的聚合的迭代次数。

aggregate_name

字符串

flexvol 应存在的聚合名称。

使用 nas_application_template 选项时无法设置。

analytics

字符串

在 netapp.ontap 22.0.0 中添加

设置卷的文件系统分析状态。

仅在 REST 中支持,并且需要 ONTAP 9.8 或更高版本。

不能为包含 LUN 的卷启用分析。

选项

  • "on"

  • "off"

atime_update

布尔值

在 netapp.ontap 2.8.0 中添加

这是一个高级选项,默认值为 True。

如果为 false,则在读取文件时阻止更新 inode 访问时间。

此值对于读取流量极高的卷非常有用,因为它阻止了对卷的 inode 文件的写入与来自其他文件的读取发生冲突。

应谨慎使用此字段。

也就是说,当您事先知道不需要该卷上文件的 inode 的正确访问时间时,请使用此字段。

此选项在 ONTAP 9.8 或更高版本的 REST 中受支持,并且需要 ONTAP 集合版本 22.8.0 或更高版本。

选项

  • false

  • true

auto_provision_as

字符串

在 netapp.ontap 2.8.0 中添加

自动配置 FlexGroup 卷。

选项

  • "flexgroup"

auto_remap_luns

布尔值

在 netapp.ontap 20.6.0 中添加

用于控制 LUN 自动映射的标志。

选项

  • false

  • true

cert_filepath

字符串

在 netapp.ontap 20.6.0 中添加

SSL 客户端证书文件 (.pem) 的路径。

不支持 python 2.6。

check_interval

整数

在 netapp.ontap 20.6.0 中添加

在检查卷是否已成功移动之间等待的时间(以秒为单位)。

默认值: 30

comment

字符串

在 netapp.ontap 2.9.0 中添加

设置与卷关联的注释。

compression

布尔值

在 netapp.ontap 20.12.0 中添加

是否为卷(HDD 和 Flash Pool 聚合)启用压缩。

如果此选项不存在,则当 inline_compression 为 true 时,会自动将其设置为 true。

选项

  • false

  • true

cutover_action

字符串

在 netapp.ontap 20.5.0 中添加

指定为切换操作采取的操作。

可能的值为 ‘abort_on_failure’、‘defer_on_failure’、‘force’ 和 ‘wait’。默认值为 ‘defer_on_failure’。

选项

  • "abort_on_failure"

  • "defer_on_failure"

  • "force"

  • "wait"

efficiency_policy

字符串

在 netapp.ontap 2.7.0 中添加

允许在卷创建时设置存储效率策略。

encrypt

布尔值

在 netapp.ontap 2.7.0 中添加

是否启用卷加密。

如果不存在,则 ONTAP 在卷创建时默认为 false。

创建后更改加密值需要 ONTAP 9.3 或更高版本。

选项

  • false

  • true

export_policy

别名:policy

字符串

导出策略的名称。

与 nas_application_template 中的 nfs_access 子选项互斥。

feature_flags

字典

在 netapp.ontap 20.5.0 中添加

启用或禁用新功能。

这可用于启用实验性功能或禁用破坏向后兼容性的新功能。

支持的键和值可能会更改,恕不另行通知。未知的键将被忽略。

force_ontap_version

字符串

在 netapp.ontap 21.23.0 中添加

使用 REST 时覆盖集群 ONTAP 版本。

如果版本与目标集群不匹配,则行为未定义。

当由于权限问题无法读取集群版本时,这作为一种解决方法提供。请参阅 https://github.com/ansible-collections/netapp.ontap/wiki/Known-issues

这应采用 9.10 或 9.10.1 的形式,每个元素都是一个整数。

use_rest 设置为 auto 时,这可能会根据版本和平台功能强制切换到基于 ZAPI 的方式。

在 ZAPI 中被忽略。

force_restore

布尔值

在 netapp.ontap 20.6.0 中添加

如果此字段设置为“true”,即使卷有一个或多个较新的快照副本当前被 SnapMirror 用作参考快照副本,也会恢复该快照副本。如果在此情况下执行还原,将导致未来的 SnapMirror 传输失败。

该选项应仅与 snapshot_restore 一起使用。

选项

  • false

  • true

force_unmap_luns

布尔值

在 netapp.ontap 20.6.0 中添加

用于控制 LUN 自动取消映射的标志。

选项

  • false

  • true

from_name

字符串

在 netapp.ontap 2.7.0 中添加

要重命名为 name 的现有卷的名称。

from_vserver

字符串

在 netapp.ontap 20.6.0 中添加

重新托管卷的源 vserver。

granular_data

布尔值

在 netapp.ontap 22.13.0 中添加

卷上粒度数据的状态。

只有 FlexGroup 卷支持此功能。启用后,只能通过还原快照副本禁用此设置。

仅支持 REST,且需要 ONTAP 9.12 或更高版本。

选项

  • false

  • true

group_id

整数

在 netapp.ontap 20.1.0 中添加

卷的 UNIX 组 ID。默认值为 0 (‘root’)。

hostname

字符串 / 必需

ONTAP 实例的主机名或 IP 地址。

http_port

整数

使用此端口覆盖默认端口(80 或 443)

https

布尔值

启用和禁用 https。

使用 REST 时忽略,因为仅支持 https。

使用 SSL 证书身份验证时忽略,因为它需要 SSL。

选项

  • false ← (默认)

  • true

inline_compression

布尔值

在 netapp.ontap 20.12.0 中添加

是否为卷启用在线压缩(HDD 和闪存池聚合,AFF 平台)。

选项

  • false

  • true

is_infinite

布尔值

如果卷是无限卷,则设置为 True。

删除无限卷是异步的。

选项

  • false ← (默认)

  • true

is_online

布尔值

指定的卷是否在线。

选项

  • false

  • true ← (默认)

junction_path

字符串

卷的连接路径。

要卸载,请使用连接路径 ''

key_filepath

字符串

在 netapp.ontap 20.6.0 中添加

SSL 客户端密钥文件的路径。

language

字符串

在 netapp.ontap 2.8.0 中添加

用于卷的语言

默认使用 SVM 语言

可能的语言值

c POSIX

ar 阿拉伯语

cs 捷克语

da 丹麦语

de 德语

en 英语

en_us 英语(美国)

es 西班牙语

fi 芬兰语

fr 法语

he 希伯来语

hr 克罗地亚语

hu 匈牙利语

it 意大利语

ja 日语 euc-j

ja_v1 日语 euc-j

ja_jp.pck 日语 PCK (sjis)

ja_jp.932 日语 cp932

ja_jp.pck_v2 日语 PCK (sjis)

ko 韩语

no 挪威语

nl 荷兰语

pl 波兰语

pt 葡萄牙语

ro 罗马尼亚语

ru 俄语

sk 斯洛伐克语

sl 斯洛文尼亚语

sv 瑞典语

tr 土耳其语

zh 简体中文

zh.gbk 简体中文 (GBK)

zh_tw 繁体中文 euc-tw

zh_tw.big5 繁体中文 Big 5

要使用 UTF-8 作为 NFS 字符集,请在语言代码后附加 ‘.UTF-8’

logical_space_enforcement

布尔值

在 netapp.ontap 21.16.0 中添加

此选项指定是否对卷执行逻辑空间核算。当逻辑强制执行空间时,ONTAP 会强制执行卷设置,以便将存储效率功能节省的所有物理空间都计算为已使用。

这仅在 REST 中受支持。

选项

  • false

  • true

logical_space_reporting

布尔值

在 netapp.ontap 21.16.0 中添加

此选项指定是否在卷上逻辑报告空间。当逻辑报告空间时,ONTAP 会报告卷空间,以便将存储效率功能节省的所有物理空间也报告为已使用。

这仅在 REST 中受支持。

选项

  • false

  • true

max_files

整数

在 netapp.ontap 21.18.0 中添加

卷上允许的用户可见数据的最大文件数(inode)。

注意 - ONTAP 会分配一个略微不同的值,例如在请求 4000 时分配 3990。为了保持幂等性,大小的细微变化将被忽略。

max_wait_time

整数

在 netapp.ontap 22.0.0 中添加

卷移动和加密操作可能需要更长时间才能完成。

如果设置了 wait_for_completion,模块将等待此选项中设置的时间,以便卷移动和加密完成。

如果时间到期,模块将退出,并且操作可能仍在运行。

默认设置为 10 分钟。

默认: 600

name

字符串 / 必需

要管理的卷的名称。

nas_application_template

字典

在 netapp.ontap 20.12.0 中添加

使用应用程序/applications REST API 创建卷时的其他选项。

默认情况下,模块使用 ZAPI,如果存在任何子选项,则切换到 REST。

默认情况下创建 FlexVol。

如果设置了 auto_provision_as 并且不存在 FlexCache 选项,则创建 FlexGroup。

如果存在 flexcache 选项,则创建 FlexCache。

cifs_access

列表 / 元素=字典

CIFS 访问控制列表。您必须提供 user_or_groupaccess 才能启用 CIFS 访问。

access

字符串

授予用户或组的 CIFS 访问权限。默认值为 full_control。

选项

  • "change"

  • "full_control"

  • "no_access"

  • "read"

user_or_group

字符串

将授予访问权限的 CIFS 用户或组的名称。默认值为 Everyone。

cifs_share_name

字符串

在 netapp.ontap 22.13.0 中添加

CIFS 共享的名称。

需要 ONTAP 9.11 或更高版本。

exclude_aggregates

列表 / 元素=字符串

在 netapp.ontap 21.7.0 中添加

创建卷时要排除的聚合名称列表。

需要 ONTAP 9.9.1 GA 或更高版本。

flexcache

字典

是否创建 flexcache。如果不存在,则创建 FlexVol 或 FlexGroup。

dr_cache

布尔值

在 netapp.ontap 21.3.0 中添加

是否使用与源相同的 flexgroup msid。

需要 ONTAP 9.9 和 REST。

仅创建选项,如果 flexcache 已存在则忽略。

选项

  • false

  • true

origin_component_name

字符串 / 必需

flexcache 的远程组件。

origin_svm_name

字符串 / 必需

flexcache 的远程 SVM。

nfs_access

列表 / 元素=字典

NFS 访问控制列表。您必须提供 hostaccess 才能启用 NFS 访问。

与 export_policy 选项互斥。

access

字符串

授予的 NFS 访问权限。默认值为 rw。

选项

  • "none"

  • "ro"

  • "rw"

host

字符串

授予访问权限的 NFS 实体的名称。默认值为 0.0.0.0/0。

snaplock

字典

在 netapp.ontap 22.13.0 中添加

需要 ONTAP 9.12 或更高版本。

append_mode_enabled

布尔值

指定是否启用或禁用卷附加模式。

选项

  • false

  • true

autocommit_period

字符串

指定 SnapLock 卷的自动提交周期。

持续时间采用 ISO-8601 持续时间格式(例如 PY、PM、PD、PTH、PTM)。

例如 P30M、P10Y、PT1H、none。不支持组合不同期间的持续时间。

retention

字典

提交到卷上 WORM 状态的文件的默认、最大和最小保留期限。

持续时间采用 ISO-8601 持续时间格式,请参阅 autocommit_period。

default

字符串

在将文件提交到 WORM 状态时应用到文件的默认保留期限,没有关联的保留期限。

maximum

字符串

卷上提交到 WORM 状态的文件允许的最大保留期限。

minimum

字符串

卷上提交到 WORM 状态的文件允许的最小保留期限。

snaplock_type

字符串

智能容器的 SnapLock 类型。

选项

  • "compliance"

  • "enterprise"

  • "non_snaplock"

snapshot_locking_enabled

布尔值

在 netapp.ontap 22.13.0 中添加

指示卷上是否启用了快照副本锁定。

需要 ONTAP 9.13.1 或更高版本。

选项

  • false

  • true

storage_service

字符串

此卷的性能服务级别 (PSL)

选项

  • "value"

  • "performance"

  • "extreme"

tiering

字典

云分层策略(有关更完整的描述,请参阅 tiering_policy)。

control

字符串

容器的存储分层放置规则。

选项

  • "required"

  • "best_effort"

  • "disallowed"

object_stores

列表 / 元素=字符串

用于分层的对象存储名称列表。

policy

字符串

云分层策略(请参阅 tiering_policy)。

如果同时存在,则必须与 tiering_policy 匹配。

选项

  • "all"

  • "auto"

  • "none"

  • "snapshot-only"

use_nas_application

布尔值

是否使用应用程序/applications REST/API 来创建卷。

如果存在任何其他子选项,则默认为 true。

选项

  • false

  • true ← (默认)

nvfail_enabled

布尔值

在 netapp.ontap 2.9.0 中添加

如果为 true,则控制器会在启动和接管时执行额外的工作,如果它发现卷的组成部分由于 NVRAM 故障而存在任何潜在的数据丢失。

卷的组成部分将置于称为“in-nvfailed-state”的特殊状态,以便阻止协议访问。

这将导致客户端应用程序崩溃,从而阻止访问过时的数据。

要摆脱这种情况,管理员需要在卷的组成部分上手动清除“in-nvfailed-state”。

选项

  • false

  • true

ontapi

整数

要使用的 ontap api 版本

password

别名: pass

字符串

指定用户的密码。

percent_snapshot_space

整数

为卷的快照副本保留的空间量。

preserve_lun_ids

布尔值

在 netapp.ontap 20.6.0 中添加

如果此字段设置为“true”,则正在恢复的卷中的 LUN 将保持映射状态,并且其标识将得到保留,以便在恢复操作期间不会中断主机连接。在恢复操作期间,通过将 LUN 置于不可用状态来隔离 LUN 的 I/O。恢复操作完成后,主机将能够恢复对 LUN 的 I/O 访问。

该选项应仅与 snapshot_restore 一起使用。

选项

  • false

  • true

qos_adaptive_policy_group

字符串

在 netapp.ontap 2.9.0 中添加

指定要在卷上设置的 QoS 自适应策略组。

qos_policy_group

字符串

在 netapp.ontap 2.9.0 中添加

指定要在卷上设置的 QoS 策略组。

size

整数

卷的大小(以 size_unit 为单位)。当 state=present 时为必需。

size_change_threshold

整数

在 netapp.ontap 20.12.0 中添加

触发调整大小的大小变化百分比。

当此参数大于 0 时,如果预期大小和配置大小之间的差异低于阈值,则会忽略该差异。

例如,nas 应用程序分配的大小大于指定大小,以考虑开销。

将此值设置为 0 以进行精确匹配。

默认: 10

size_unit

字符串

用于解释大小参数的单位。

选项

  • "bytes"

  • "b"

  • "kb"

  • "mb"

  • "gb" ← (默认)

  • "tb"

  • "pb"

  • "eb"

  • "zb"

  • "yb"

sizing_method

字符串

在 netapp.ontap 20.12.0 中添加

表示修改 FlexGroup 大小的方法。

use_existing_resources - 通过增加或减少当前 FlexGroup 资源的大小来增加或减少 FlexGroup 的大小。

add_new_resources - 通过添加新资源来增加 FlexGroup 的大小。这限制为每个可用聚合两个新资源。

仅当启用 REST(ONTAP 9.6 或更高版本)并且仅适用于 FlexGroup 时才支持此选项。ONTAP 默认使用 use_existing_resources。

选项

  • "add_new_resources"

  • "use_existing_resources"

snapdir_access

布尔值

在 netapp.ontap 2.8.0 中添加

这是一个高级选项,默认值为 False。

启用通常存在于系统内部挂载点的可见的“.snapshot”目录。

此值还会启用对卷中所有其他“.snapshot”目录的访问。

此选项在 REST 中支持,适用于 ONTAP 9.13.1 或更高版本,以及 ONTAP 收集版本 22.8.0 或更高版本。

选项

  • false

  • true

snaplock

字典

在 netapp.ontap 21.18.0 中添加

从 ONTAP 9.10.1 开始,snaplock.type 在卷级别设置。

当在早期版本的 ONTAP 上使用 REST 时,可以设置或修改其他子选项。

这些选项和子选项仅在 REST 中受支持。

append_mode_enabled

布尔值

启用后,在该卷上创建的所有具有写入权限的文件默认都是 WORM 可追加文件。用户可以向 WORM 可追加文件追加数据,但无法修改文件的现有内容,也无法在文件过期前删除该文件。

选项

  • false

  • true

autocommit_period

字符串

SnapLock 卷的自动提交周期。如果所有文件在超过该卷自动提交周期的期限内未被修改,则这些文件将提交到 WORM 状态。

持续时间采用 ISO-8601 持续时间格式(例如 PY、PM、PD、PTH、PTM)。

例如 P30M、P10Y、PT1H、“none”。不支持组合不同周期的持续时间。

privileged_delete(特权删除)

字符串

SnapLock 卷的 privileged-delete 属性。

在 SnapLock Enterprise (SLE) 卷上,指定的特权用户可以选择性地删除文件,而无需考虑文件的保留时间。

在 SnapLock Compliance (SLC) 卷上,它始终为 permanently_disabled。

选项

  • "disabled"(已禁用)

  • "enabled"(已启用)

  • "permanently_disabled"(永久禁用)

retention

字典

提交到该卷上 WORM 状态的文件的默认、最大和最小保留期限。

持续时间采用 ISO-8601 持续时间格式,请参阅 autocommit_period。

default

字符串

将文件提交到 WORM 状态且未关联保留期限时,应用到文件的默认保留期限。

maximum

字符串

提交到该卷上 WORM 状态的文件的最大允许保留期限。

minimum

字符串

提交到该卷上 WORM 状态的文件的最小允许保留期限。

type(类型)

字符串

卷的 SnapLock 类型。

compliance - SnapLock Compliance (SLC) 卷提供最高级别的 WORM 保护,如果 SLC 卷包含未过期的 WORM 文件,则管理员无法销毁该 SLC 卷。

enterprise - 管理员可以删除 SnapLock Enterprise (SLE) 卷。

non_snaplock - 表示该卷为非 SnapLock 卷。

选项

  • "compliance"

  • "enterprise"

  • "non_snaplock"

snapshot_auto_delete(快照自动删除)

字典

在 netapp.ontap 20.4.0 中添加

快照自动删除选项和值的字典。

支持的选项包括 ‘state’、‘commitment’、‘trigger’、‘target_free_space’、‘delete_order’、‘defer_delete’、‘prefix’、‘destroy_list’。

除了 ‘destroy_list’ 之外,上述所有选项都支持在 ONTAP 9.13.1 或更高版本中使用 REST,且 ONTAP 集合版本为 22.8.0 或更高版本。

选项 ‘state’ 确定是否当前为此卷启用了快照自动删除。可能的值为 ‘on’ 和 ‘off’。

选项 ‘commitment’ 确定快照自动删除可以删除哪些快照以回收空间。可能的值为 ‘try’、‘disrupt’ 和 ‘destroy’。

选项 ‘trigger’ 确定启动快照自动删除的条件。可能的值为 ‘volume’、‘snap_reserve’ 和已弃用的 ‘space_reserve’。

选项 ‘target_free_space’ 确定快照自动删除应何时停止删除快照。根据触发器,将删除快照,直到达到目标可用空间百分比。接受 int 类型。

选项 ‘delete_order’ 确定是先删除最早的快照还是最新的快照。可能的值为 ‘newest_first’ 和 ‘oldest_first’。

选项 ‘defer_delete’ 确定最后删除哪种快照。可能的值为 ‘scheduled’、‘user_created’、‘prefix’ 和 ‘none’。

可以设置选项 ‘prefix’ 以便为 ‘defer_delete’ 选项的 ‘prefix’ 值提供前缀字符串。前缀字符串的长度可以是 15 个字符。

选项 ‘destroy_list’ 是一个以逗号分隔的服务列表,如果删除了支持该服务的快照,则可以销毁这些服务。对于 7-模式,此选项的可能值是 ‘lun_clone’、‘vol_clone’、‘cifs_share’、‘file_clone’ 或 ‘none’ 的组合。对于集群模式,此选项的可能值是 ‘lun_clone,file_clone’(用于 LUN 克隆和/或文件克隆)、‘lun_clone,sfsr’(用于 LUN 克隆和/或 sfsr)、‘vol_clone’、‘cifs_share’ 或 ‘none’ 的组合。

snapshot_locking(快照锁定)

布尔值

在 netapp.ontap 22.12.0 中添加

指定是否在该卷上启用快照副本锁定。

仅支持 REST,且需要 ONTAP 9.12 或更高版本。

选项

  • false

  • true

snapshot_policy(快照策略)

字符串

在 netapp.ontap 2.8.0 中添加

快照策略的名称。

默认策略名称为 ‘default’。

如果存在,则在使用 nas_application_template 时,这将设置 protection_type。

snapshot_restore(快照还原)

字符串

在 netapp.ontap 20.6.0 中添加

要从中还原的快照的名称。

Infinite Volume 不支持。

space_guarantee(空间保证)

字符串

卷的空间保证样式。

不再支持文件设置。

选项

  • "none"

  • "file"(文件)

  • "volume"(卷)

space_slo(空间 SLO)

字符串

在 netapp.ontap 2.9.0 中添加

指定卷的空间 SLO 类型。空间 SLO 类型是卷的空间管理的服务级别目标。

空间 SLO 值用于强制执行现有卷设置,以便在聚合上预留足够的空间来满足空间 SLO。

Infinite Volume 不支持此参数。

选项

  • "none"

  • "thick"(厚置备)

  • "semi-thick"(半厚置备)

state(状态)

字符串

指定的卷应该存在还是不存在。

选项

  • "present" ← (默认)

  • "absent"(不存在)

tags(标记)

列表 / 元素=字符串

在 netapp.ontap 22.6.0 中添加

标记是跟踪资源用途的可选方法。

标记值必须格式化为 key:value 字符串,例如 [“team:csi”, “environment:test”]

tiering_minimum_cooling_days(分层最低冷却天数)

整数

在 netapp.ontap 21.16.0 中添加

确定在使用“自动”或“仅快照”策略的卷中,非活动数据在被视为冷数据并符合分层条件之前必须经过的天数。

此选项仅在 REST 9.8 或更高版本中受支持。

tiering_policy(分层策略)

字符串

在 netapp.ontap 2.9.0 中添加

要与卷关联的分层策略。

此策略决定卷的块是否将分层到容量层。

仅快照策略允许仅对与活动文件系统不关联的卷快照副本进行分层。

自动策略允许将快照和活动文件系统用户数据都分层到容量层。

DP 卷上的备份策略允许所有传输的用户数据块都从容量层开始。

all 是备份的 REST 等效项。

设置为 none 时,卷块将不会分层到容量层。

如果未指定值,则默认情况下为该卷分配仅快照。

需要 ONTAP 9.4 或更高版本。

选项

  • "snapshot-only"

  • "auto"

  • "backup"(备份)

  • "none"

  • "all"

time_out(超时)

整数

在 netapp.ontap 2.8.0 中添加

使用 ZAPI - Flexgroup 创建、修改或删除的等待时间(以秒为单位)。

使用 REST - 任何卷创建、修改或删除的等待时间(以秒为单位)。

如果在定义的时间内未完成任务,则会出错。

使用 ZAPI - 如果为 0,则请求是异步的。

默认设置为 3 分钟。

max_wait_timewait_for_completion 用于卷移动和加密操作。

默认: 180

type(类型)

字符串

卷类型,可以是读写 (RW) 或数据保护 (DP)。

unix_permissions(Unix 权限)

字符串

在 netapp.ontap 2.8.0 中添加

八进制或符号格式的 Unix 权限位。

例如,0 等效于 ————,777 等效于 —rwxrwxrwx,两种格式都被接受。

有效的八进制值范围在 0 到 777 之间(含 0 和 777)。

use_rest(使用 REST)

字符串

是否使用 REST 或 ZAPI。

always – 如果模块支持 REST,则始终使用 REST API。如果模块不支持 REST,则会发出警告。如果 REST 中不支持模块选项,则会发出错误。

never – 如果模块支持 ZAPI,则始终使用 ZAPI。如果 ZAPI 中不支持 REST 选项,则可能会发出错误。

auto – 如果模块支持 REST 且支持模块选项,则尝试使用 REST API。否则,将恢复为 ZAPI。

默认: "auto"

user_id(用户 ID)

整数

在 netapp.ontap 20.1.0 中添加

卷的 UNIX 用户 ID。默认值为 0 (‘root’)。

username(用户名)

别名:user

字符串

这可以是集群范围的帐户或 SVM 范围的帐户,具体取决于是否需要集群级别或 SVM 级别的 API。

有关详细信息,请阅读文档 https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/

支持两种身份验证方法

  1. 基本身份验证,使用用户名和密码,

  2. SSL 证书身份验证,使用 ssl 客户端证书文件,以及可选的私钥文件。

要使用证书,必须已在 ONTAP 集群中安装该证书,并且必须已启用证书身份验证。

validate_certs(验证证书)

布尔值

如果设置为 no,则不会验证 SSL 证书。

只有在使用自签名证书的个人控制站点上,才应将其设置为 False

选项

  • false

  • true ← (默认)

vol_full_threshold_percent(卷满阈值百分比)

整数

在 netapp.ontap 22.8.0 中添加

指定卷被视为已满的百分比,超过此百分比将生成严重的 EMS 错误。

默认值为 98%。此选项的最大值为 100%。

将此阈值设置为 0 会禁用卷满空间警报。

仅在 REST 中受支持,并且需要 ONTAP 9.9 或更高版本。

vol_nearly_full_threshold_percent(卷接近满阈值百分比)

整数

在 netapp.ontap 22.8.0 中添加

指定卷被视为接近已满的百分比,超过此百分比将生成 EMS 警告。

默认值为 95%。此选项的最大值为 99%。

将此阈值设置为 0 会禁用卷接近满空间警报。

仅在 REST 中受支持,并且需要 ONTAP 9.9 或更高版本。

volume_security_style(卷安全样式)

字符串

与此卷关联的安全样式。

选项

  • "mixed"(混合)

  • "ntfs"

  • "unified"(统一)

  • "unix"

vserver

字符串 / 必需

要使用的 vserver 的名称。

vserver_dr_protection(vserver DR 保护)

字符串

在 netapp.ontap 2.9.0 中添加

指定 Vserver DR 设置中卷的保护类型。

选项

  • "protected"(受保护)

  • "unprotected"(未受保护)

wait_for_completion(等待完成)

布尔值

在 netapp.ontap 2.8.0 中添加

对于创建期间的同步执行(等待直到卷状态为联机),将此参数设置为 ‘true’

对于异步执行,将此参数设置为 ‘false’

对于异步执行,只要发送请求,执行就会退出,而无需检查卷状态

选项

  • false ← (默认)

  • true

备注

注意

  • 支持 REST 和 ZAPI。REST 需要 ONTAP 9.6 或更高版本。REST 的效率需要 ONTAP 9.7 或更高版本。

  • use_rest 设置为 always 时,将启用 REST。

  • feature_flag warn_or_fail_on_fabricpool_backend_change 控制当分层控制需要或禁止具有不同后端的现有卷使用 FabricPool 时是否报告错误。允许的值为 fail、warn 和 ignore,默认设置为 fail。

  • snapshot_restore 不是幂等的,它总是会执行恢复操作。

  • 以 na_ontap 为前缀的模块是为支持 ONTAP 存储平台而构建的。

  • 默认启用并推荐使用 https。要在集群上启用 http,必须运行以下命令:‘set -privilege advanced;’ ‘system services web modify -http-enabled true;’

示例

- name: Create FlexVol
  netapp.ontap.na_ontap_volume:
    state: present
    name: ansibleVolume12
    is_infinite: False
    aggregate_name: ansible_aggr
    size: 100
    size_unit: mb
    user_id: 1001
    group_id: 2002
    space_guarantee: none
    tiering_policy: auto
    export_policy: default
    percent_snapshot_space: 60
    qos_policy_group: max_performance_gold
    vserver: ansibleVServer
    wait_for_completion: True
    space_slo: none
    nvfail_enabled: False
    comment: ansible created volume
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Volume Delete
  netapp.ontap.na_ontap_volume:
    state: absent
    name: ansibleVolume12
    aggregate_name: ansible_aggr
    vserver: ansibleVServer
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Make FlexVol offline
  netapp.ontap.na_ontap_volume:
    state: present
    name: ansibleVolume
    is_infinite: False
    is_online: False
    vserver: ansibleVServer
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Create Flexgroup volume manually
  netapp.ontap.na_ontap_volume:
    state: present
    name: ansibleVolume
    is_infinite: False
    aggr_list: "{{ aggr_list }}"
    aggr_list_multiplier: 2
    size: 200
    size_unit: mb
    space_guarantee: none
    export_policy: default
    vserver: "{{ vserver }}"
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    https: False
    unix_permissions: 777
    snapshot_policy: default
    time_out: 0

- name: Create Flexgroup volume auto provsion as flex group
  netapp.ontap.na_ontap_volume:
    state: present
    name: ansibleVolume
    is_infinite: False
    auto_provision_as: flexgroup
    size: 200
    size_unit: mb
    space_guarantee: none
    export_policy: default
    vserver: "{{ vserver }}"
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    https: False
    unix_permissions: 777
    snapshot_policy: default
    time_out: 0

- name: Create FlexVol with QoS adaptive
  netapp.ontap.na_ontap_volume:
    state: present
    name: ansibleVolume15
    is_infinite: False
    aggregate_name: ansible_aggr
    size: 100
    size_unit: gb
    space_guarantee: none
    export_policy: default
    percent_snapshot_space: 10
    qos_adaptive_policy_group: extreme
    vserver: ansibleVServer
    wait_for_completion: True
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Modify volume dr protection (vserver of the volume must be in a snapmirror relationship)
  netapp.ontap.na_ontap_volume:
    state: present
    name: ansibleVolume
    vserver_dr_protection: protected
    vserver: "{{ vserver }}"
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    https: False

- name: Modify volume with snapshot auto delete options
  netapp.ontap.na_ontap_volume:
    state: present
    name: vol_auto_delete
    snapshot_auto_delete:
      state: "on"
      commitment: try
      defer_delete: scheduled
      target_free_space: 30
      destroy_list: lun_clone,vol_clone
      delete_order: newest_first
    aggregate_name: "{{ aggr }}"
    vserver: "{{ vserver }}"
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    https: False

- name: Move volume with force cutover action
  netapp.ontap.na_ontap_volume:
    name: ansible_vol
    aggregate_name: aggr_ansible
    cutover_action: force
    vserver: "{{ vserver }}"
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    https: false

- name: Rehost volume to another vserver auto remap luns
  netapp.ontap.na_ontap_volume:
    name: ansible_vol
    from_vserver: ansible
    auto_remap_luns: true
    vserver: "{{ vserver }}"
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    https: false

- name: Rehost volume to another vserver force unmap luns
  netapp.ontap.na_ontap_volume:
    name: ansible_vol
    from_vserver: ansible
    force_unmap_luns: true
    vserver: "{{ vserver }}"
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    https: false

- name: Snapshot restore volume
  netapp.ontap.na_ontap_volume:
    name: ansible_vol
    vserver: ansible
    snapshot_restore: 2020-05-24-weekly
    force_restore: true
    preserve_lun_ids: true
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    https: true
    validate_certs: false

- name: Volume create using application/applications nas template
  netapp.ontap.na_ontap_volume:
    state: present
    name: ansibleVolume12
    vserver: ansibleSVM
    size: 100000000
    size_unit: b
    space_guarantee: none
    language: es
    percent_snapshot_space: 60
    unix_permissions: ---rwxrwxrwx
    snapshot_policy: default
    efficiency_policy: default
    comment: testing
    nas_application_template:
      nfs_access:   # the mere presence of a suboption is enough to enable this new feature
        - access: ro
        - access: rw
          host: 10.0.0.0/8
      exclude_aggregates: aggr0
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
    https: true
    validate_certs: false

# requires Ontap collection version - 21.24.0 to use iso filter plugin.
- name: volume create with snaplock set.
  netapp.ontap.na_ontap_volume:
    state: present
    name: "{{ snaplock_volume }}"
    aggregate_name: "{{ aggregate }}"
    size: 20
    size_unit: mb
    space_guarantee: none
    policy: default
    type: rw
    snaplock:
      type: enterprise
      retention:
        default: "{{ 60 | netapp.ontap.iso8601_duration_from_seconds }}"

- name: Create volume with snapshot-auto-delete options - REST
  netapp.ontap.na_ontap_volume:
    state: present
    name: test_vol
    aggregate_name: "{{ aggr }}"
    size: 20
    size_unit: mb
    snapshot_auto_delete:
      state: 'on'
      trigger: volume
      delete_order: "oldest_first"
      defer_delete: "user_created"
      commitment: "try"
      target_free_space: 30
      prefix: "my_prefix"
    wait_for_completion: true

- name: Modify volume - REST
  netapp.ontap.na_ontap_volume:
    state: present
    name: test_vol
    aggregate_name: "{{ aggr }}"
    snapdir_access: false
    snapshot_auto_delete:
      state: 'on'
      target_free_space: 25

作者

  • NetApp Ansible 团队 (@carchi8py)