netapp.ontap.na_ontap_snapmirror_policy 模块 – NetApp ONTAP 创建、删除或修改 SnapMirror 策略
注意
此模块是 netapp.ontap 集合(版本 22.13.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install netapp.ontap
。您需要进一步的要求才能使用此模块,有关详细信息,请参阅 要求。
要在 playbook 中使用它,请指定:netapp.ontap.na_ontap_snapmirror_policy
。
netapp.ontap 20.3.0 中的新增功能
概要
NetApp ONTAP 创建、修改或销毁 SnapMirror 策略
添加、修改和删除 SnapMirror 策略规则
以下参数在 REST 中不受支持;‘owner’、‘restart’、‘transfer_priority’、‘tries’、‘ignore_atime’、‘common_snapshot_schedule’
要求
在执行此模块的主机上需要以下要求。
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 或更高版本。
参数
参数 |
注释 |
---|---|
SSL 客户端证书文件 (.pem) 的路径。 不支持 python 2.6。 |
|
指定 SnapMirror 策略注释。 |
|
指定与策略关联的公共快照副本计划,仅在 strict_sync_mirror 和 sync_mirror 中需要。 REST 不支持。 |
|
指定是否应在传输时将所有源快照副本复制到目标,而不是指定特定的保留策略。 此属性仅适用于异步策略。 属性只能设置为 “true”。 仅 REST 支持,需要 ONTAP 9.10.1 或更高版本。 选择
|
|
指定应将最新的源快照副本(在传输开始之前由 SnapMirror 创建)复制到目标进行传输。 无法同时指定保留属性和此属性。 属性只能设置为 “true”。 仅 REST 支持,需要 ONTAP 9.11.1 或更高版本。 选择
|
|
指定是否应在更新或重新同步操作开始时在源上创建新的快照副本。 此属性仅适用于异步策略。 属性只能设置为 “false”。 仅 REST 支持,需要 ONTAP 9.11.1 或更高版本。 选择
|
|
启用或禁用新功能。 这可以用于启用实验性功能或禁用会破坏向后兼容性的新功能。 支持的键和值可能会在不另行通知的情况下进行更改。未知的键将被忽略。 |
|
在使用 REST 时覆盖集群 ONTAP 版本。 如果版本与目标集群不匹配,则行为未定义。 当由于权限问题而无法读取集群版本时,这将作为一种解决方法。请参阅 https://github.com/ansible-collections/netapp.ontap/wiki/Known-issues。 这应采用 9.10 或 9.10.1 的形式,其中每个元素都是一个整数。 当 ZAPI 忽略此项。 |
|
ONTAP 实例的主机名或 IP 地址。 |
|
使用此端口覆盖默认端口(80 或 443) |
|
启用和禁用 https。 在使用 REST 时会被忽略,因为仅支持 https。 当使用 SSL 证书身份验证时会被忽略,因为它需要 SSL。 选择
|
|
指定将源 SVM 的哪个配置复制到目标 SVM。 此属性仅适用于具有 “async” 策略类型的 SVM 数据保护。 仅 REST 支持。 选择
|
|
指定增量传输是否会忽略仅访问时间发生更改的文件。仅适用于 SnapMirror vault 关系。 REST 不支持。 选择
|
|
指定是否为传输启用网络压缩。 选择
|
|
为创建的快照保留 SnapMirror 策略规则计数。 在定义策略规则时是必需的。 |
|
SSL 客户端密钥文件的路径。 |
|
要使用的 ontap api 版本 |
|
指定 SnapMirror 策略的所有者。 REST 不支持。 选择
|
|
指定用户的密码。 |
|
指定 SnapMirror 策略名称。
|
|
指定 SnapMirror 策略类型。不支持修改现有 SnapMirror 策略的类型。 策略类型 ‘sync’ 和 ‘async’ 仅在 REST 中受支持。 选择
|
|
SnapMirror 策略规则前缀。 定义策略规则时可选。 设置为 ‘’ 表示不设置或删除现有的自定义前缀。 前缀名称在策略中应唯一。 指定自定义前缀时,还必须指定计划。 |
|
定义如果存在中断的传输时 SnapMirror 的行为,仅适用于数据保护。 REST 不支持。 选择
|
|
SnapMirror 策略规则计划。 定义策略规则时可选。 设置为 ‘’ 表示不设置或删除计划。 指定计划时,可以设置自定义前缀,否则前缀将设置为 snapmirror_label。 |
|
SnapMirror 策略规则标签。 在定义策略规则时是必需的。 使用空列表删除所有用户定义的规则。 |
|
指定的 SnapMirror 策略是否存在。 选择
|
|
此属性仅适用于同步策略类型。 如果 “sync_type” 为 “sync”,则在将数据写入主端点之后、将数据写入辅助端点之前,向客户端返回写入成功。 如果 “sync_type” 为 “strict_sync”,则在将数据写入主端点和辅助端点之后,向客户端返回写入成功。 “automated_failover” 的 “sync_type” 可以与以一致性组作为端点的 SnapMirror 关系关联,并且需要 ONTAP 9.7 或更高版本。 仅 REST 支持。 选择
|
|
指定 SnapMirror 传输运行的优先级。 REST 不支持。 选择
|
|
指定用于更新异步 SnapMirror 关系的计划的名称。 ZAPI 不支持。 |
|
指定尝试次数。 REST 不支持。 |
|
是否使用 REST 或 ZAPI。 always – 如果模块支持 REST,则始终使用 REST API。如果模块不支持 REST,则会发出警告。如果 REST 中不支持模块选项,则会发出错误。 never – 如果模块支持 ZAPI,则始终使用 ZAPI。如果 ZAPI 中不支持 REST 选项,则可能会发出错误。 auto – 如果模块支持 REST 并且模块选项受支持,则尝试使用 REST API。否则恢复为 ZAPI。 默认值: |
|
这可以是集群范围或 SVM 范围的帐户,具体取决于需要集群级 API 还是 SVM 级 API。 有关更多信息,请阅读文档 https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/。 支持两种身份验证方法
要使用证书,必须已在 ONTAP 集群中安装证书,并且必须启用证书身份验证。 |
|
如果设置为 只有在使用自签名证书的个人控制站点上时,才应将其设置为 选择
|
|
指定 SnapMirror 策略的 vserver。 ZAPI 必需。 使用 REST 时,数据 vserver 的名称。 在当前版本的 ONTAP 中,使用 REST 时,对于集群范围的策略,必须将其设置为集群名称(9.12.1 及更早版本)。 如果未设置 vserver 字段,当前版本的 ONTAP 会出现“svm.uuid”是必需的错误。 对于较新版本的 ONTAP,对于使用 REST 的集群范围策略,请省略该值或省略此选项。 |
备注
注意
在 REST 中,策略类型 ‘mirror_vault’、‘vault’ 和 ‘async_mirror’ 映射到 ‘async’ policy_type。
在 REST 中,策略类型 ‘sync_mirror’ 和 ‘strict_sync_mirror’ 映射到 ‘sync’ policy_type。
在 REST 中,使用 policy_type ‘async’ 在 CLI 中配置 ‘mirror-vault’。
在 REST 中,使用 policy_type ‘async’ 和 ‘copy_all_source_snapshots’ 在 CLI 中配置带有 ‘all_source_snapshots’ 的 ‘async-mirror’。
在 REST 中,使用 policy_type ‘async’ 和 ‘copy_latest_source_snapshot’ 在 CLI 中配置不带 ‘all_source_snapshots’ 的 ‘async-mirror’。
在 REST 中,使用 policy_type ‘async’ 和 ‘create_snapshot_on_source’ 在 CLI 中配置 ‘vault’。
在 REST 中,使用 policy_type ‘sync’ 和 sync_type ‘sync’ 在 CLI 中配置 ‘sync-mirror’。
在 REST 中,使用 policy_type ‘sync’ 和 sync_type ‘strict_sync’ 在 CLI 中配置 ‘strict-sync-mirror’。
在 REST 中,使用 policy_type ‘sync’ 和 sync_type ‘automated_failover’ 在 CLI 中配置 ‘automated-failover’。
前缀为 na_ontap 的模块旨在支持 ONTAP 存储平台。
默认启用 https,建议使用。要在集群上启用 http,必须运行以下命令 ‘set -privilege advanced;’ ‘system services web modify -http-enabled true;’
示例
- name: Create SnapMirror policy
na_ontap_snapmirror_policy:
state: present
vserver: "SVM1"
policy_name: "ansible_policy"
policy_type: "mirror_vault"
comment: "created by ansible"
transfer_schedule: "daily" # when using REST
hostname: "{{ hostname }}"
username: "{{ username }}"
password: "{{ password }}"
https: true
validate_certs: false
- name: Modify SnapMirror policy
na_ontap_snapmirror_policy:
state: present
vserver: "SVM1"
policy_name: "ansible_policy"
policy_type: "async_mirror"
transfer_priority: "low"
transfer_schedule: "weekly" # when using REST
hostname: "{{ hostname }}"
username: "{{ username }}"
password: "{{ password }}"
https: true
validate_certs: false
- name: Create SnapMirror policy with basic rules
na_ontap_snapmirror_policy:
state: present
vserver: "SVM1"
policy_name: "ansible_policy"
policy_type: "async_mirror"
snapmirror_label: ['daily', 'weekly', 'monthly']
keep: [7, 5, 12]
hostname: "{{ hostname }}"
username: "{{ username }}"
password: "{{ password }}"
https: true
validate_certs: false
- name: Create SnapMirror policy with rules and schedules (no schedule for daily rule)
na_ontap_snapmirror_policy:
state: present
vserver: "SVM1"
policy_name: "ansible_policy"
policy_type: "mirror_vault"
snapmirror_label: ['daily', 'weekly', 'monthly']
keep: [7, 5, 12]
schedule: ['','weekly','monthly']
prefix: ['','','monthly_mv']
hostname: "{{ hostname }}"
username: "{{ username }}"
password: "{{ password }}"
https: true
validate_certs: false
- name: Modify SnapMirror policy with rules, remove existing schedules and prefixes
na_ontap_snapmirror_policy:
state: present
vserver: "SVM1"
policy_name: "ansible_policy"
policy_type: "mirror_vault"
snapmirror_label: ['daily', 'weekly', 'monthly']
keep: [7, 5, 12]
schedule: ['','','']
prefix: ['','','']
hostname: "{{ hostname }}"
username: "{{ username }}"
password: "{{ password }}"
https: true
validate_certs: false
- name: Modify SnapMirror policy, delete all rules (excludes builtin rules)
na_ontap_snapmirror_policy:
state: present
vserver: "SVM1"
policy_name: "ansible_policy"
policy_type: "mirror_vault"
snapmirror_label: []
hostname: "{{ hostname }}"
username: "{{ username }}"
password: "{{ password }}"
https: true
validate_certs: false
- name: Delete SnapMirror policy
na_ontap_snapmirror_policy:
state: absent
vserver: "SVM1"
policy_type: "async_mirror"
policy_name: "ansible_policy"
hostname: "{{ hostname }}"
username: "{{ username }}"
password: "{{ password }}"
https: true
validate_certs: false