netapp.ontap.na_ontap_lun 模块 – NetApp ONTAP 管理 LUN
注意
此模块是 netapp.ontap 集合 (版本 22.13.0) 的一部分。
如果您正在使用 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用:ansible-galaxy collection install netapp.ontap。您需要其他要求才能使用此模块,有关详细信息,请参见 要求。
要在剧本中使用它,请指定:netapp.ontap.na_ontap_lun。
netapp.ontap 2.6.0 中的新增功能
概要
- 在 NetApp ONTAP 上创建、销毁和调整 LUN 大小。 
要求
执行此模块的主机需要以下要求。
- Ansible 2.9 或更高版本 - 建议使用 2.12 或更高版本。 
- Python 3 - 建议使用 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 不支持。 | |
| LUN 的可选描述性注释。 | |
| 启用或禁用新功能。 这可以用来启用实验性功能或禁用破坏向后兼容性的新功能。 支持的键和值可能会在未经通知的情况下更改。未知键将被忽略。 | |
| LUN 应存在的 FlexVol 的名称。 如果 san_application_template 不存在,则为必填项。 如果 san_application_template 存在,则不允许。 | |
| 使用 REST 时覆盖集群 ONTAP 版本。 如果版本与目标集群不匹配,则行为未定义。 这是在由于权限问题无法读取集群版本时提供的解决方法。参见 https://github.com/ansible-collections/netapp.ontap/wiki/Known-issues。 这应采用 9.10 或 9.10.1 的形式,每个元素都是整数。 当  ZAPI 中忽略。 | |
| 如果为“true”,则覆盖阻止在 LUN 在线且已映射时销毁 LUN 的检查。 如果为“false”,则销毁在线且已映射的 LUN 将失败。 选项 
 | |
| 如果为“true”,则覆盖阻止在 LUN 被隔离时销毁 LUN 的检查。 如果为“false”,则尝试销毁被隔离的 LUN 将失败。 如果未指定,则默认为“false”。此字段在 Data ONTAP 8.2 及更高版本中可用。 选项 
 | |
| 强制减小大小。为了避免意外减小 LUN 大小,这对于减小 LUN 大小是必需的。 选项 
 | |
| 要重命名的 LUN 的名称。 | |
| ONTAP 实例的主机名或 IP 地址。 | |
| 使用此端口覆盖默认端口(80 或 443)。 | |
| 启用和禁用 https。 使用 REST 时忽略,因为仅支持 https。 使用 SSL 证书身份验证时忽略,因为它需要 SSL。 选项 
 | |
| SSL 客户端密钥文件的路径。 | |
| 要管理的 LUN 的名称。 或使用 san_application_template 时 LUN 组名称(卷名称)。 | |
| 要使用的 ONTAP API 版本 | |
| LUN 的操作系统类型。 | |
| 指定用户的密码。 | |
| 要设置在 LUN 上的自适应 QoS 策略组。 定义可衡量的服务级别目标 (SLO) 和服务级别协议 (SLA),这些目标和协议会根据 LUN 的已分配空间或已使用空间进行调整。 需要 ONTAP 9.4 或更高版本。 使用 REST 时,qos_policy_group 和 qos_adaptive_policy_group 将作为 QoS 策略处理。 | |
| 要设置在 LUN 上的 QoS 策略组。 使用 REST 时,qos_policy_group 和 qos_adaptive_policy_group 将作为 QoS 策略处理。 | |
| 指定包含新 LUN 的 Qtree 的名称。 如果 san_application_template 存在,则不允许。 仅支持 REST。 | |
| 使用 application/applications REST API 创建 LUN 时的附加选项。 该模块默认使用 ZAPI,如果存在 san_application_template,则切换到 REST。 创建一个或多个 LUN(以及根据需要关联的卷)。 支持 LUN 级别的操作,它们需要知道 LUN 短名称。 这需要 ONTAP 9.8 或更高版本。 该模块部分支持 ONTAP 9.7 的创建和删除操作,但不支持修改操作(API 限制)。 | |
| 创建卷时要排除的聚合名称列表。 需要 ONTAP 9.9.1 GA 或更高版本。 | |
| 通过此发起程序组访问此应用程序内容的名称。 | |
| 应用程序组件中的 LUN 数量(1 到 32)。 | |
| SAN 应用程序的名称。 | |
| 支持 LUN 的卷的快照策略。 | |
| 卷的快照复制策略。 | |
| 顶级名称标识单个 LUN 还是 LUN 组(应用程序)。 默认情况下,模块将尝试做出正确的选择,但可能会报告额外的警告。 将 scope 设置为“application”是将现有卷转换为智能容器的必要条件。 当使用“lun”或“application”并且无法完成所需操作时,模块将报告错误。 当使用默认的“auto”并且存在关于所需操作的歧义时,模块会发出警告。 选项 
 | |
| 此卷的性能服务级别 (PSL)。 选项 
 | |
| 云分层策略。 | |
| 容器的存储分层放置规则。 选项 
 | |
| 用于分层的对象存储名称列表。 | |
| 云分层策略。 选项 
 | |
| 应用程序组件的总大小,在  当存在  当  注意 - 如果 lun_count 等于 1,并且不存在 total_size,则使用 size 保持向后兼容性。 | |
| 用于解释 total_size 参数的单位。 如果不存在,则默认为 size_unit。 选项 
 | |
| 是否使用 application/applications REST/API 创建 LUN。 如果存在任何其他子选项,则默认为 true。 选项 
 | |
| LUN 的大小,单位为  如果未使用应用程序模板,则在创建单个 LUN 时必需。 | |
| 用于解释 size 参数的单位。 选项 
 | |
| 这将启用对 SCSI 稀疏置备功能的支持。如果主机和文件系统不支持此功能,请不要启用它。 选项 
 | |
| 这可以设置为“false”,这将创建一个没有预留任何空间的 LUN。 选项 
 | |
| 指定的 LUN 是否应该存在。 选项 
 | |
| 这可以设置为“false”,这将舍入 LUN >= 450g。 选项 
 | |
| 是否使用 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 集群中安装证书,并且必须已启用证书身份验证。 | |
| 如果设置为  这应该仅设置为  选项 
 | |
| 要使用的 vserver 的名称。 | 
备注
注意
- 以 na_ontap 为前缀的模块旨在支持 ONTAP 存储平台。 
- 默认情况下启用 https 并推荐使用。要在集群上启用 http,您必须运行以下命令“set -privilege advanced;”“system services web modify -http-enabled true;” 
示例
- name: Create LUN
  netapp.ontap.na_ontap_lun:
    state: present
    name: ansibleLUN
    flexvol_name: ansibleVolume
    vserver: ansibleVServer
    size: 5
    size_unit: mb
    os_type: linux
    space_reserve: true
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
- name: Resize LUN
  netapp.ontap.na_ontap_lun:
    state: present
    name: ansibleLUN
    force_resize: true
    flexvol_name: ansibleVolume
    vserver: ansibleVServer
    size: 5
    size_unit: gb
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
- name: Create LUNs using SAN application
  tags: create
  netapp.ontap.na_ontap_lun:
    state: present
    name: ansibleLUN
    size: 15
    size_unit: mb
    os_type: linux
    space_reserve: false
    san_application_template:
      name: san-ansibleLUN
      igroup_name: testme_igroup
      lun_count: 3
      protection_type:
      local_policy: default
      exclude_aggregates: aggr0
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
- name: Convert existing volume to SAN application
  tags: create
  netapp.ontap.na_ontap_lun:
    state: present
    name: someVolume
    size: 22
    size_unit: mb
    os_type: linux
    space_reserve: false
    san_application_template:
      name: san-ansibleLUN
      igroup_name: testme_igroup
      lun_count: 3
      protection_type:
      local_policy: default
      scope: application
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"
