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 策略注释。 |
|
指定与策略关联的通用 Snapshot 副本计划,仅当使用 strict_sync_mirror 和 sync_mirror 时才需要。 REST 不支持。 |
|
指定是否应在传输时将所有源 Snapshot 副本复制到目标,而不是指定特定的保留。 此属性仅适用于异步策略。 该属性只能设置为“true”。 仅支持 REST,需要 ONTAP 9.10.1 或更高版本。 选项
|
|
指定应在传输时将最新的源 Snapshot 副本(在传输开始之前由 SnapMirror 创建)复制到目标。 保留属性不能与此属性一起指定。 该属性只能设置为“true”。 仅支持 REST,需要 ONTAP 9.11.1 或更高版本。 选项
|
|
指定是否应在更新或重新同步操作开始时在源上创建新的 Snapshot 副本。 此属性仅适用于异步策略。 该属性只能设置为“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。 此属性仅适用于具有“异步”策略类型的 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 范围的帐户,具体取决于需要集群级别还是 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”策略类型。
在 REST 中,策略类型“sync_mirror”和“strict_sync_mirror”映射到“sync”策略类型。
在 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,建议使用 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