netapp.ontap.na_ontap_volume – NetApp ONTAP управлять томами.
Примечание
Этот плагин входит в состав коллекции netapp.ontap (версия 21.1.1).
Для его установки используйте: ansible-galaxy collection install netapp.ontap.
Для использования в книге задач укажите: netapp.ontap.na_ontap_volume.
Новое в версии 2.6.0: of netapp.ontap
Обзор
- Создание, удаление или изменение томов в NetApp ONTAP.
Требования
Ниже приведены требования к хосту, на котором будет выполняться этот модуль.
- 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;»
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | ||
|---|---|---|---|---|
| aggr_list список / элементы=строка добавлен в 2.8.0 netapp.ontap | Массив имён агрегатов, используемых для компонентов FlexGroup. | |||
| aggr_list_multiplier целое число добавлен в 2.8.0 netapp.ontap | Количество раз, которое необходимо выполнить итерацию по агрегатам, перечисленным в параметре aggr_list, при создании FlexGroup. | |||
| aggregate_name строка | Имя агрегата, на котором должен существовать flexvol. Не может быть установлено при использовании опции na_application_template. | |||
| atime_update булево добавлен в 2.8.0 netapp.ontap |
| Это расширенная опция, по умолчанию True. Если false, предотвращает обновление времени доступа к inode при чтении файла. Это значение полезно для томов с очень высоким трафиком чтения, поскольку предотвращает конфликты между операциями записи в файл inode тома и операциями чтения из других файлов. Это поле следует использовать с осторожностью. То есть, используйте это поле, когда заранее известно, что правильное время доступа к inode для файлов на этом томе не потребуется. | ||
| auto_provision_as строка добавлен в 2.8.0 netapp.ontap |
| Автоматическое выделение пространства для тома FlexGroup. | ||
| auto_remap_luns булево добавлен в 20.6.0 netapp.ontap |
| Флаг для управления автоматическим отображением LUN. | ||
| cert_filepath строка добавлен в 20.6.0 netapp.ontap | Путь к файлу SSL-сертификата клиента (.pem). Не поддерживается с Python 2.6. | |||
| check_interval целое число добавлен в 20.6.0 netapp.ontap | Значение по умолчанию: 30 | Количество секунд, которые необходимо подождать между проверками тома, чтобы убедиться, что он успешно переместился. | ||
| comment строка добавлен в 2.9.0 netapp.ontap | Устанавливает комментарий, связанный с томом. | |||
| compression булево добавлен в 20.12.0 netapp.ontap |
| Включить или выключить сжатие для тома (HDD и Flash Pool агрегаты). Если этот параметр отсутствует, он автоматически устанавливается в true, если inline_compression равен true. | ||
| cutover_action строка добавлен в 20.5.0 netapp.ontap |
| Указывает действие, которое будет выполнено для переключения. Возможные значения: 'abort_on_failure', 'defer_on_failure', 'force' и 'wait'. Значение по умолчанию - 'defer_on_failure'. | ||
| efficiency_policy строка добавлен в 2.7.0 netapp.ontap | Позволяет задать политику хранения данных для оптимизации при создании тома. | |||
| encrypt булево добавлен в 2.7.0 netapp.ontap |
| Включить или выключить шифрование тома. | ||
| export_policy строка | Имя политики экспорта. Взаимоисключающее с подвариантом nfs_access в nas_application_template. псевдонимы: policy | |||
| feature_flags словарь добавлен в 20.5.0 netapp.ontap | Включить или выключить новую функцию. Это может быть использовано для включения экспериментальной функции или отключения новой функции, которая нарушает обратную совместимость. Поддерживаемые ключи и значения могут быть изменены без предварительного уведомления. Неизвестные ключи игнорируются. | |||
| force_restore булево добавлен в 20.6.0 netapp.ontap |
| Если это поле установлено в "true", копия снимка восстанавливается даже если у тома есть один или несколько более новых снимков, которые в настоящее время используются как ссылка для снимка SnapMirror. Если восстановление выполняется в этой ситуации, это приведет к отказу будущих операций передачи SnapMirror. Параметр следует использовать только вместе с snapshot_restore. | ||
| force_unmap_luns булево добавлен в 20.6.0 netapp.ontap |
| Флаг для управления автоматическим размапированием LUN. | ||
| from_name строка добавлен в 2.7.0 netapp.ontap | Имя существующего тома, который нужно переименовать в name. | |||
| from_vserver строка добавлен в 20.6.0 netapp.ontap | Источник vserver тома для перепроектирования. | |||
| group_id целое число добавлен в 20.1.0 netapp.ontap | Идентификатор UNIX-группы для тома. Значение по умолчанию - 0 ('root'). | |||
| hostname строка / обязательно | Имя хоста или IP-адрес экземпляра ONTAP. | |||
| http_port целое число | Переопределить порт по умолчанию (80 или 443) на этот порт | |||
| https булево |
| Включить или выключить https. Игнорируется при использовании REST, так как поддерживается только https. Игнорируется при использовании аутентификации по сертификату SSL, так как она требует SSL. | ||
| inline_compression булево добавлен в 20.12.0 netapp.ontap |
| Включить или выключить сжатие в потоке для тома (HDD и Flash Pool агрегаты, платформы AFF). | ||
| is_infinite булево |
| Установите True, если том является бесконечным томом. Удаление бесконечного тома асинхронно. | ||
| is_online булево |
| Указывает, онлайн ли указанный том. | ||
| junction_path строка | Путь соединения тома. Для размонтирования используйте путь соединения ''. | |||
| key_filepath строка добавлен в 20.6.0 netapp.ontap | Путь к файлу ключа SSL-клиента. | |||
| language строка добавлен в 2.8.0 netapp.ontap | Язык, используемый для тома По умолчанию используется язык 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' к коду языка | |||
| name строка / обязательно | Имя тома, который нужно управлять. | |||
| nas_application_template словарь добавлен в 20.12.0 netapp.ontap | Дополнительные параметры при использовании API REST-сервиса application/applications для создания тома. Модуль по умолчанию использует ZAPI, и переключается на REST, если присутствует любой подпараметр. По умолчанию создаётся FlexVol. Создаётся FlexGroup, если auto_provision_as задан, и опция FlexCache отсутствует.Создаётся FlexCache, если опция flexcache присутствует. | |||
| cifs_access список / элементы=словарь | Список средств управления доступом CIFS. Для включения доступа CIFS необходимо указать user_or_group или access. | |||
| access строка |
| Доступ CIFS, предоставленный пользователю или группе. Значение по умолчанию - full_control. | ||
| user_or_group строка | Имя пользователя или группы CIFS, которому будет предоставлен доступ. Значение по умолчанию - Все. | |||
| flexcache словарь | указать, нужно ли создавать flexcache. Если отсутствует, создаётся FlexVol или FlexGroup. | |||
| origin_component_name строка / обязательно | удаленный компонент для flexcache. | |||
| origin_svm_name строка / обязательно | удаленный SVM для flexcache. | |||
| nfs_access список / элементы=словарь | Список правил доступа NFS. Для включения доступа NFS необходимо указать host или access. Взаимоисключающее с параметром export_policy в nas_application_template. | |||
| access строка |
| Предоставляемый доступ NFS. По умолчанию rw. | ||
| host строка | Имя NFS-сущности, которой предоставлен доступ. По умолчанию 0.0.0.0/0. | |||
| storage_service строка |
| Уровень обслуживания производительности (PSL) для этого тома | ||
| tiering словарь | Политика тиеринга облака (см. tiering_policy для более подробного описания). | |||
| control строка |
| Правила размещения тиеринга хранилища для контейнера. | ||
| object_stores список / элементы=строка | Список имен хранилищ объектов для тиеринга. | |||
| policy строка |
| Политика тиеринга облака (см. tiering_policy).Должно совпадать с tiering_policy, если оба параметра присутствуют. | ||
| use_nas_application булево |
| Использовать ли REST/API приложения/приложений для создания тома. По умолчанию будет истинно, если присутствует любой другой подпараметр. | ||
| nvfail_enabled булево добавлен в 2.9.0 от netapp.ontap |
| Если истинно, контроллер выполняет дополнительную работу во время загрузки и перехода, если обнаруживает потенциальную потерю данных в компонентах тома из-за сбоя NVRAM. Компоненты тома переводятся в специальное состояние «in-nvfailed-state», в котором блокируется доступ протокола. Это приведет к аварийной остановке клиентских приложений и предотвратит доступ к устаревшим данным. Для выхода из этой ситуации администратор должен вручную очистить «in-nvfailed-state» в компонентах тома. | ||
| ontapi целое число | Используемая версия API ontap. | |||
| password строка | Пароль для указанного пользователя. псевдонимы: pass | |||
| percent_snapshot_space целое число | Объем памяти, зарезервированный для копий снимков тома. | |||
| preserve_lun_ids булево добавлен в 20.6.0 от netapp.ontap |
| Если этот параметр установлен в «true», LUNы в восстанавливаемом томе останутся сопоставленными и их идентификаторы сохранятся, чтобы при восстановлении не прервалась связь с хостом. В ходе операции восстановления ввода-вывода для LUN будут приостановлены путем перевода LUN в недоступное состояние. После завершения операции восстановления хосты смогут возобновить доступ к LUN. Параметр следует использовать только вместе с snapshot_restore. | ||
| qos_adaptive_policy_group строка добавлен в 2.9.0 от netapp.ontap | Указывает группу адаптивных политик QoS, которые должны быть установлены для тома. | |||
| qos_policy_group строка добавлен в 2.9.0 от netapp.ontap | Указывает группу политик QoS, которые должны быть установлены для тома. | |||
| size целое число | Размер тома в (size_unit). Требуется при state=present. | |||
| size_change_threshold целое число добавлен в 20.12.0 от netapp.ontap | По умолчанию: 10 | Процент изменения размера, вызывающий изменение размера. Когда этот параметр больше 0, различие в размере между ожидаемым и настроенным значением игнорируется, если оно меньше порога. Например, приложение NAS выделяет больший размер, чем указано, чтобы учесть издержки. Установите значение 0 для точного соответствия. | ||
| size_unit строка |
| Единица измерения, используемая для интерпретации параметра размера. | ||
| sizing_method строка добавлен в 20.12.0 от netapp.ontap |
| Представляет метод изменения размера FlexGroup. use_existing_resources - Увеличивает или уменьшает размер FlexGroup, увеличивая или уменьшая размер текущих ресурсов FlexGroup. add_new_resources - Увеличивает размер FlexGroup, добавляя новые ресурсы. Ограничено двумя новыми ресурсами на доступный агрегат. Поддерживается только при включенном REST (ONTAP 9.6 или выше) и только для FlexGroup. ONTAP по умолчанию использует use_existing_resources. | ||
| snapdir_access булево добавлен в 2.8.0 от netapp.ontap |
| Это расширенный параметр, по умолчанию значение ложь. Включает видимую папку '.snapshot', которая обычно присутствует на внутренних точках монтирования системы. Это значение также включает доступ ко всем другим папкам '.snapshot' в томе. | ||
| snapshot_auto_delete словарь добавлен в 20.4.0 от netapp.ontap | Словарь для параметров и значений автоматического удаления. Поддерживаются параметры: 'state', 'commitment', 'trigger', 'target_free_space', 'delete_order', 'defer_delete', 'prefix', 'destroy_list'. Параметр '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' может быть установлен для предоставления префиксной строки для значения 'prefix' параметра 'defer_delete'. Длина префиксной строки может составлять 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_policy строка добавлен в 2.8.0 от netapp.ontap | Имя политики создания снимков. По умолчанию имя политики — 'default'. Если указано, это установит protection_type при использовании nas_application_template. | |||
| snapshot_restore строка добавлен в 20.6.0 от netapp.ontap | Имя снимка для восстановления. Не поддерживается в Infinite Volume. | |||
| space_guarantee строка |
| Стиль гарантии места для тома. | ||
| space_slo строка добавлен в 2.9.0 от netapp.ontap |
| Указывает тип SLO пространства для тома. Тип SLO пространства — целевой уровень обслуживания для управления пространством для тома. Значение SLO пространства используется для принудительного соблюдения существующих настроек тома, чтобы гарантировать выделение достаточного места на агрегате для соблюдения SLO пространства. Этот параметр не поддерживается для томов Infinite Volumes. | ||
| state строка |
| Должен ли существовать указанный том или нет. | ||
| tiering_policy string добавлено в 2.9.0 от netapp.ontap |
| Политика тиеринга, которая должна быть связана с томом. Эта политика определяет, будут ли блоки тома тиерированы на уровень емкости. Политика snapshot-only позволяет тиерировать только копии моментальных снимков тома, не связанные с активной файловой системой. Политика auto позволяет тиерировать данные как моментальных снимков, так и активной файловой системы пользователя на уровень емкости. Политика backup для томов DP позволяет всем переданным блокам данных пользователя начинаться на уровне емкости. all — REST-эквивалент для backup. При установке значения none блоки тома не будут тиерированы на уровень емкости. Если значение не указано, том по умолчанию назначается snapshot-only. Требуется ONTAP 9.4 или более поздняя версия. | ||
| time_out integer добавлено в 2.8.0 от netapp.ontap | Значение по умолчанию: 180 | Время ожидания создания, изменения или удаления Flexgroup в секундах. Возвращает ошибку, если задача не завершена в заданное время. Если 0, запрос асинхронный. По умолчанию 3 минуты. | ||
| type string | Тип тома: read-write (RW) или data-protection (DP). | |||
| unix_permissions string добавлено в 2.8.0 от netapp.ontap | Разряды разрешений Unix в восьмеричном или символическом формате. Например, 0 эквивалентно ------------, 777 эквивалентно ---rwxrwxrwx, оба формата принимаются. Допустимое восьмеричное значение находится в диапазоне от 0 до 777 включительно. | |||
| use_rest string | Значение по умолчанию: "auto" | REST API, если поддерживается целевой системой для всех ресурсов и атрибутов, необходимых модулю. В противном случае возвращается к ZAPI. всегда — всегда использовать REST API никогда — всегда использовать ZAPI auto — попробовать использовать REST API | ||
| user_id integer добавлено в 20.1.0 от netapp.ontap | Идентификатор пользователя UNIX для тома. Значение по умолчанию — 0 ('root'). | |||
| username string | Это может быть учетная запись уровня кластера или SVM, в зависимости от того, требуется ли API уровня кластера или SVM. Дополнительную информацию можно найти в документации по ссылке https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/. Поддерживаются два метода аутентификации 1. аутентификация по паролю, используя имя пользователя и пароль, 2. аутентификация по сертификату SSL, используя файл сертификата клиента ssl и, необязательно, файл закрытого ключа. Для использования сертификата сертификат должен быть установлен в кластере ONTAP, и должна быть включена аутентификация по сертификату. псевдонимы: user | |||
| validate_certs boolean |
| Если установлено значение no, сертификаты SSL не будут проверены.Это следует установить только в False на сайтах с собственными сертификатами. | ||
| volume_security_style string |
| Стиль безопасности, связанный с этим томом. | ||
| vserver string / обязательно | Имя vserver для использования. | |||
| vserver_dr_protection string добавлено в 2.9.0 от netapp.ontap |
| Указывает тип защиты тома в настройке Vserver DR. | ||
| wait_for_completion boolean добавлено в 2.8.0 от netapp.ontap |
| Установите этот параметр в 'true' для синхронного выполнения при создании (дождитесь, пока статус тома не станет online) Установите этот параметр в 'false' для асинхронного выполнения Для асинхронного выполнения выполнение завершается сразу после отправки запроса, не проверяя состояние тома | ||
Примечания
Примечание
- Модули с префиксом na_ontap разработаны для поддержки платформы хранения ONTAP.
Примеры
- name: Create FlexVol
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
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
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
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
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
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)
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
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
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
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
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
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
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
hostname: "{{ netapp_hostname }}"
username: "{{ netapp_username }}"
password: "{{ netapp_password }}"
https: true
validate_certs: false
Авторы
- Команда 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_volume_module.html