netapp.ontap.na_ontap_snapmirror – Управление SnapMirror в NetApp ONTAP или ElementSW
Примечание
Этот плагин входит в коллекцию netapp.ontap (версия 21.1.1).
Для установки используйте: ansible-galaxy collection install netapp.ontap.
Для использования в плейбуке укажите: netapp.ontap.na_ontap_snapmirror.
Новое в версии 2.7.0: модуля netapp.ontap
Обзор
- Создание/удаление/обновление/инициализация/прерывание/пересинхронизация/возобновление отношений томов/серверов SnapMirror для ONTAP/ONTAP
- Это включает в себя репликацию SVM, т.е. DR vserver
- Создание/удаление/обновление отношений томов SnapMirror между ElementSW и ONTAP
- Изменение расписания для отношений SnapMirror для ONTAP/ONTAP и ElementSW/ONTAP
- Предварительное условие для отношений ElementSW-ONTAP или ONTAP-ElementSW — установленное конечное звено SnapMirror для кластера ONTAP с пользовательским интерфейсом ElementSW
- Предварительное условие для отношений ElementSW-ONTAP или ONTAP-ElementSW — включение SnapMirror в томе ElementSW
- Для создания отношения SnapMirror ElementSW/ONTAP должно существовать существующее отношение ONTAP/ElementSW
- Выполняет пересинхронизацию, если
relationship_state=activeи текущее состояние зеркалирования отношения snapmirror разорвано - Выполняет возобновление, если
relationship_state=active, текущий статус отношения snapmirror приостановлен, а состояние зеркала — snapmirrored - Выполняет восстановление, если
relationship_type=restore, и все другие операции не будут выполняться во время этой задачи
Требования
Ниже перечислены требования к хосту, на котором выполняется этот модуль.
- Ansible 2.9
- Python3 netapp-lib (2018.11.13) или новее. Установите с помощью ‘pip install netapp-lib’
- netapp-lib 2020.3.12 настоятельно рекомендуется, так как он обеспечивает лучшую отчетность об ошибках при подключении.
- Физическая или виртуальная кластеризованная система Data ONTAP. Модули поддерживают Data ONTAP 9.1 и более поздние версии.
- Поддержка REST требует ONTAP 9.6 или более поздней версии.
- Для включения http в кластере необходимо выполнить следующие команды: ‘set -privilege advanced;’ ‘system services web modify -http-enabled true;’
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| cert_filepath строка добавлен в 20.6.0 от netapp.ontap | путь к файлу сертификата SSL клиента (.pem). не поддерживается с python 2.6. | |||
| connection_type строка добавлен в 2.9.0 от netapp.ontap |
| Тип взаимосвязи SnapMirror. Предварительное условие для использования элементов sw_ontap или ontap_elementsw, том ElementSW должен иметь параметр enableSnapmirror, установленный в true. Для использования ontap_elementsw, должна существовать взаимосвязь SnapMirror elementsw_ontap. | ||
| create_destination словарь добавлен в 21.1.0 от netapp.ontap | Требуется ONTAP 9.7 или более поздняя версия. Создаёт целевой том, если включено и присутствует destination_volume, или destination_path включает имя тома. Создаёт и связывает целевой vserver для SVM DR. | |||
| enabled булево |
| Создавать ли целевой том или vserver. Это автоматически включено, если присутствует любой другой подпараметр. | ||
| storage_service словарь | Услуга хранения, связанная с конечной точкой назначения. | |||
| enabled булево |
| создавать ли конечную точку назначения с использованием службы хранения. | ||
| enforce_performance булево |
| применять ли политику производительности службы хранения к конечной точке назначения. | ||
| name строка |
| уровень сервиса производительности (PSL) для этой конечной точки тома. | ||
| tiering словарь | Политика тиеринга облака. | |||
| policy строка |
| Политика тиеринга облака. | ||
| supported булево |
| включить предоставление томов конечных точек назначения на агрегатах FabricPool. поддерживается только для томов FlexVol, FlexGroup и конечных точек группы согласованности. | ||
| destination_cluster строка добавлен в 21.1.0 от netapp.ontap | Требуется ONTAP 9.7 или более высокая версия. Необходимо для создания целевого vserver для SVM DR или целевого тома. | |||
| destination_path строка | Указывает конечную точку назначения взаимосвязи SnapMirror. | |||
| destination_volume строка | Указывает имя целевого тома для SnapMirror. | |||
| destination_vserver строка | Имя целевого vserver для SnapMirror. | |||
| feature_flags словарь добавлен в 20.5.0 от netapp.ontap | Включить или выключить новую функцию. Это можно использовать для включения экспериментальной функции или отключения новой функции, нарушающей обратную совместимость. Поддерживаемые ключи и значения могут быть изменены без предварительного уведомления. Неизвестные ключи игнорируются. | |||
| hostname строка / обязательно | Имя хоста или IP-адрес экземпляра ONTAP. | |||
| http_port целое число | Переопределить порт по умолчанию (80 или 443) этим портом | |||
| https булево |
| Включить и выключить https. Игнорируется при использовании REST, так как поддерживается только https. Игнорируется при использовании аутентификации с сертификатом SSL, так как это требует SSL. | ||
| identity_preserve булево добавлен в 2.9.0 от netapp.ontap |
| Указывает, сохраняется ли идентичность источника Vserver в целевом Vserver. Если этот параметр установлен в значение true, конфигурация источника Vserver также будет скопирована в целевой. Если параметр установлен в значение false, то будут скопированы только тома и конфигурация RBAC источника Vserver. | ||
| initialize булево добавлен в 19.11.0 от netapp.ontap |
| Указывает, следует ли инициализировать взаимосвязь SnapMirror. По умолчанию True, можно явно установить False, чтобы избежать инициализации взаимосвязи SnapMirror. | ||
| key_filepath строка добавлен в 20.6.0 от netapp.ontap | путь к файлу ключа SSL клиента. | |||
| max_transfer_rate целое число добавлен в 2.9.0 от netapp.ontap | Указывает верхнюю границу скорости передачи данных в килобайтах в секунду. По умолчанию без ограничений, можно явно установить 0 для без ограничений. | |||
| ontapi целое число | Используемая версия API ontap. | |||
| password строка | Пароль для указанного пользователя. псевдонимы: pass | |||
| policy строка добавлен в 2.8.0 от netapp.ontap | Укажите имя политики SnapMirror, которая применяется к этому отношению. | |||
| relationship_info_only булево добавлен в 20.4.0 от netapp.ontap |
| Если relationship-info-only установлено в значение true, то удаляется только информация о взаимосвязи. | ||
| relationship_state строка добавлен в 20.2.0 от netapp.ontap |
| Указывает, следует ли разорвать взаимосвязь SnapMirror или установить взаимосвязь SnapMirror. состояние должно присутствовать для использования этого параметра. | ||
| relationship_type строка |
| Укажите тип взаимосвязи SnapMirror. для 'restore', если не указан 'source_snapshot', восстанавливается последняя копия снимка на источниковом томе. SnapMirror восстановления не идемпотентен. При использовании REST поддерживается только 'extended_data_protection' ('restore' – ожидается). | ||
| schedule строка | Укажите имя текущего графика, который используется для обновления взаимосвязи SnapMirror. Необязательно для создания, изменяемый. | |||
| source_cluster строка добавлен в 21.1.0 от netapp.ontap | Требуется ONTAP 9.7 или более высокая версия. Требуется для создания взаимосвязи между источником и целевым SVM. | |||
| source_hostname строка | Имя хоста источника или адрес управления кластером ONTAP или ElementSW. Требуется для удаления SnapMirror. | |||
| source_password строка | Пароль источника для кластера ONTAP или ElementSW. Необязательно, если он совпадает с паролем назначения. | |||
| source_path строка | Указывает исходную конечную точку взаимосвязи SnapMirror. Если источник - том ONTAP, формат должен быть <[vserver:][volume]> или <[[cluster:]//vserver/]volume> Если источник - том ElementSW, формат должен быть <[Element_SVIP]:/lun/[Element_VOLUME_ID]> Если источник - том ElementSW, то для него должна быть включена функция SnapMirror. | |||
| source_snapshot строка добавлен в 20.6.0 от netapp.ontap | Указывает снимок с источника для восстановления. | |||
| source_username строка | Имя пользователя источника для кластера ONTAP или ElementSW. Необязательно, если оно совпадает с именем пользователя назначения. | |||
| source_volume строка | Указывает имя исходного тома для SnapMirror. | |||
| source_vserver строка | Имя исходного vserver для SnapMirror. | |||
| state строка |
| Существует ли указанное отношение. | ||
| update boolean добавлено в 20.2.0 netapp.ontap |
| Указывает, следует ли обновить целевой конечный пункт отношения SnapMirror только в том случае, если отношение уже существует и активно. По умолчанию значение True. | ||
| use_rest string | По умолчанию: "auto" | API REST, если поддерживается целевой системой для всех ресурсов и атрибутов, требуемых модулем. В противном случае будет использоваться ZAPI. always — всегда использовать API REST never — всегда использовать ZAPI auto — попытаться использовать API REST | ||
| username string | Это может быть учетная запись на уровне кластера или на уровне SVM, в зависимости от того, требуется ли API на уровне кластера или на уровне SVM. Для получения дополнительной информации, пожалуйста, обратитесь к документации https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/. Поддерживаются два метода аутентификации 1. Аутентификация по протоколу Basic, используя имя пользователя и пароль, 2. Аутентификация по SSL-сертификату, используя файл сертификата SSL-клиента и, необязательно, файл закрытого ключа. Для использования сертификата он должен быть установлен в кластере ONTAP, и должна быть включена аутентификация по сертификатам. псевдонимы: user | |||
| validate_certs boolean |
| Если установлено значение no, сертификаты SSL не будут проверены.Это значение следует устанавливать только в False, используемом на сайтах с собственным управлением, использующих самозаверяющие сертификаты. | ||
Примечания
Примечание
- Модули с префиксом na\_ontap разработаны для поддержки платформы хранения ONTAP.
Примеры
# creates and initializes the snapmirror
- name: Create ONTAP/ONTAP SnapMirror
na_ontap_snapmirror:
state: present
source_volume: test_src
destination_volume: test_dest
source_vserver: ansible_src
destination_vserver: ansible_dest
schedule: hourly
policy: MirrorAllSnapshots
max_transfer_rate: 1000
initialize: False
hostname: "{{ destination_cluster_hostname }}"
username: "{{ destination_cluster_username }}"
password: "{{ destination_cluster_password }}"
# creates and initializes the snapmirror between vservers
- name: Create ONTAP/ONTAP vserver SnapMirror
na_ontap_snapmirror:
state: present
source_vserver: ansible_src
destination_vserver: ansible_dest
identity_preserve: true
hostname: "{{ destination_cluster_hostname }}"
username: "{{ destination_cluster_username }}"
password: "{{ destination_cluster_password }}"
# existing snapmirror relation with status 'snapmirrored' will be initialized
- name: Inititalize ONTAP/ONTAP SnapMirror
na_ontap_snapmirror:
state: present
source_path: 'ansible:test'
destination_path: 'ansible:dest'
relationship_state: active
hostname: "{{ destination_cluster_hostname }}"
username: "{{ destination_cluster_username }}"
password: "{{ destination_cluster_password }}"
- name: Delete SnapMirror
na_ontap_snapmirror:
state: absent
destination_path: <path>
relationship_info_only: True
source_hostname: "{{ source_hostname }}"
hostname: "{{ destination_cluster_hostname }}"
username: "{{ destination_cluster_username }}"
password: "{{ destination_cluster_password }}"
- name: Break SnapMirror
na_ontap_snapmirror:
state: present
relationship_state: broken
destination_path: <path>
source_hostname: "{{ source_hostname }}"
hostname: "{{ destination_cluster_hostname }}"
username: "{{ destination_cluster_username }}"
password: "{{ destination_cluster_password }}"
- name: Restore SnapMirror volume using location (Idempotency)
na_ontap_snapmirror:
state: present
source_path: <path>
destination_path: <path>
relationship_type: restore
source_snapshot: "{{ snapshot }}"
hostname: "{{ destination_cluster_hostname }}"
username: "{{ destination_cluster_username }}"
password: "{{ destination_cluster_password }}"
- name: Set schedule to NULL
na_ontap_snapmirror:
state: present
destination_path: <path>
schedule: ""
hostname: "{{ destination_cluster_hostname }}"
username: "{{ destination_cluster_username }}"
password: "{{ destination_cluster_password }}"
- name: Create SnapMirror from ElementSW to ONTAP
na_ontap_snapmirror:
state: present
connection_type: elementsw_ontap
source_path: '10.10.10.10:/lun/300'
destination_path: 'ansible_test:ansible_dest_vol'
schedule: hourly
policy: MirrorLatest
hostname: "{{ netapp_hostname }}"
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
source_hostname: " {{ Element_cluster_mvip }}"
source_username: "{{ Element_cluster_username }}"
source_password: "{{ Element_cluster_password }}"
- name: Create SnapMirror from ONTAP to ElementSW
na_ontap_snapmirror:
state: present
connection_type: ontap_elementsw
destination_path: '10.10.10.10:/lun/300'
source_path: 'ansible_test:ansible_dest_vol'
policy: MirrorLatest
hostname: "{{ Element_cluster_mvip }}"
username: "{{ Element_cluster_username }}"
password: "{{ Element_cluster_password }}"
source_hostname: " {{ netapp_hostname }}"
source_username: "{{ netapp_username }}"
source_password: "{{ netapp_password }}"
- name: Create SnapMirror relationship (creating destination volume)
na_ontap_snapmirror:
state: present
source_volume: "{{ source_volume }}"
source_vserver: "{{ source_vserver }}"
destination_volume: "{{ destination_volume }}"
destination_vserver: "{{ destination_vserver }}"
destination_cluster: "{{ destination_cluster | default(omit) }}"
create_destination:
enabled: true
policy: "{{ policy | default(omit) }}"
hostname: "{{ hostname }}"
username: "{{ username }}"
password: "{{ password }}"
https: "{{ https }}"
validate_certs: "{{ validate_certs }}"
- name: Create SnapMirror relationship - SVM DR (creating and peering destination svm)
na_ontap_snapmirror:
state: present
source_vserver: "{{ source_vserver }}"
source_cluster: "{{ source_cluster | default(omit) }}"
destination_vserver: "{{ destination_vserver }}"
destination_cluster: "{{ destination_cluster | default(omit) }}"
create_destination:
enabled: true
policy: "{{ policy | default(omit) }}"
hostname: "{{ hostname }}"
username: "{{ username }}"
password: "{{ password }}"
https: "{{ https }}"
validate_certs: "{{ validate_certs }}"
Авторы
- Команда NetApp Ansible (@carchi8py) <ng-ansibleteam@netapp.com>
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/netapp/ontap/na_ontap_snapmirror_module.html