netapp.ontap.na_ontap_nfs 模块 – NetApp ONTAP NFS 状态

注意

此模块是 netapp.ontap 集合(版本 22.13.0)的一部分。

如果您正在使用 ansible 包,则可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install netapp.ontap。您需要其他要求才能使用此模块,请参阅 要求 以了解详细信息。

要在 playbook 中使用它,请指定:netapp.ontap.na_ontap_nfs

netapp.ontap 2.6.0 中的新功能

概要

  • 在 ONTAP 上启用或禁用 NFS

要求

执行此模块的主机上需要以下要求。

  • 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 或更高版本。

参数

参数

注释

cert_filepath

字符串

在 netapp.ontap 20.6.0 中添加

SSL 客户端证书文件(.pem)的路径。

不支持 python 2.6。

feature_flags

字典

在 netapp.ontap 20.5.0 中添加

启用或禁用新功能。

这可以用于启用实验性功能或禁用破坏向后兼容性的新功能。

支持的键和值如有更改,恕不另行通知。未知的键将被忽略。

force_ontap_version

字符串

在 netapp.ontap 21.23.0 中添加

当使用 REST 时,覆盖集群 ONTAP 版本。

如果版本与目标集群不匹配,则行为未定义。

当由于权限问题而无法读取集群版本时,这作为一种解决方法提供。请参阅 https://github.com/ansible-collections/netapp.ontap/wiki/Known-issues

这应采用 9.10 或 9.10.1 的形式,其中每个元素都是一个整数。

use_rest 设置为 auto 时,这可能会强制根据版本和平台功能切换到 ZAPI。

在使用 ZAPI 时将被忽略。

hostname

字符串 / 必需

ONTAP 实例的主机名或 IP 地址。

http_port

整数

使用此端口覆盖默认端口(80 或 443)

https

布尔值

启用和禁用 https。

当使用 REST 时将被忽略,因为仅支持 https。

当使用 SSL 证书身份验证时,将被忽略,因为它需要 SSL。

选项

  • false ←(默认)

  • true

key_filepath

字符串

在 netapp.ontap 20.6.0 中添加

SSL 客户端密钥文件的路径。

nfsv3

字符串

NFSv3 的状态。

选项

  • “已启用”

  • “已禁用”

nfsv3_fsid_change

字符串

在 netapp.ontap 2.7.0 中添加

如果 NFSv3 客户端在遍历文件系统时看到 FSID 中的更改的状态。

选项

  • “已启用”

  • “已禁用”

nfsv4

字符串

NFSv4 的状态。

选项

  • “已启用”

  • “已禁用”

nfsv40_acl

字符串

在 netapp.ontap 2.7.0 中添加

NFS v4.0 ACL 功能的状态

选项

  • “已启用”

  • “已禁用”

nfsv40_read_delegation

字符串

在 netapp.ontap 2.7.0 中添加

NFS v4.0 读取委派功能的状态。

选项

  • “已启用”

  • “已禁用”

nfsv40_referrals

字符串

在 netapp.ontap 2.9.0 中添加

NFS v4.0 引用的状态。

选项

  • “已启用”

  • “已禁用”

nfsv40_write_delegation

字符串

在 netapp.ontap 2.7.0 中添加

NFS v4.0 写入委派功能的状态。

选项

  • “已启用”

  • “已禁用”

nfsv41

别名:nfsv4.1

字符串

NFSv41 的状态。

使用 nfsv4.1 已被弃用,因为它与 Ansible 命名约定不匹配。该别名将被删除。

请仅对该选项使用 nfsv41

选项

  • “已启用”

  • “已禁用”

nfsv41_acl

字符串

在 netapp.ontap 2.7.0 中添加

NFS v4.1 ACL 功能的状态

选项

  • “已启用”

  • “已禁用”

nfsv41_pnfs

字符串

在 netapp.ontap 2.9.0 中添加

NFSv41 pNFS 的状态。

选项

  • “已启用”

  • “已禁用”

nfsv41_read_delegation

字符串

在 netapp.ontap 2.7.0 中添加

NFS v4.1 读取委派功能的状态。

选项

  • “已启用”

  • “已禁用”

nfsv41_referrals

字符串

在 netapp.ontap 2.9.0 中添加

NFS v4.1 引用的状态。

选项

  • “已启用”

  • “已禁用”

nfsv41_write_delegation

字符串

在 netapp.ontap 2.7.0 中添加

NFS v4.1 写入委派功能的状态。

选项

  • “已启用”

  • “已禁用”

nfsv4_fsid_change

字符串

在 netapp.ontap 2.9.0 中添加

如果 NFSv4 客户端在遍历文件系统时看到 FSID 中的更改的状态。

选项

  • “已启用”

  • “已禁用”

nfsv4_id_domain

字符串

要使用的 nfsv4_id_domain 的名称。

nfsv4_numeric_ids

字符串

在 netapp.ontap 2.9.0 中添加

NFSv4 数字 ID 的状态。

选项

  • “已启用”

  • “已禁用”

ontapi

整数

要使用的 ontap api 版本

password

别名:pass

字符串

指定用户的密码。

root

字典

在 netapp.ontap 22.3.0 中添加。

使用 REST 时,可以设置或修改此选项。

需要 ONTAP 9.11.0 或更高版本。

ignore_nt_acl

布尔值

指定 Windows ACL 是否影响来自 NFS 的 root 访问权限。

如果启用此选项,则来自 NFS 的 root 访问权限将忽略在文件或目录上设置的 NT ACL。

选项

  • false

  • true

skip_write_permission_check

布尔值

指定是否跳过来自 root/所有者的 NFS WRITE 调用的权限检查。

要将只读文件复制到具有可继承 ACL 的目标文件夹,必须启用此选项。

选项

  • false

  • true

security

字典

在 netapp.ontap 22.3.0 中添加。

使用 REST 时,可以设置或修改此选项。

需要 ONTAP 9.11.0 或更高版本。

chown_mode

字符串

指定文件所有权是否只能由超级用户更改,或者非 root 用户是否也可以更改文件所有权。

如果此选项设置为 restricted,则即使磁盘上的权限允许非 root 用户更改文件所有权,也只能由超级用户更改文件所有权。

如果此选项设置为 unrestricted,则超级用户和非 root 用户都可以更改文件所有权,具体取决于磁盘权限授予的访问权限。

如果此选项设置为 use-export-policy,则可以根据相关的导出规则更改文件所有权。

选项

  • "restricted"

  • "unrestricted"

  • "use_export_policy"

nt_acl_display_permission

布尔值

控制在设置了 NT ACL 的文件或目录上向 NFSv3 和 NFSv4 客户端显示的权限。

当为 true 时,显示的权限基于 NT ACL 授予任何用户的最大访问权限。

当为 false 时,显示的权限基于 NT ACL 授予任何用户的最小访问权限。

选项

  • false

  • true

ntfs_unix_security

字符串

指定 NFSv3 安全性更改如何影响 NTFS 卷。

如果此选项设置为 ignore,则 ONTAP 将忽略 NFSv3 安全性更改。

如果此选项设置为 fail,则会覆盖相关导出规则中设置的 UNIX 安全性选项。

如果此选项设置为 use_export_policy,则 ONTAP 将根据相关的导出规则处理 NFSv3 安全性更改。

选项

  • "ignore"

  • "fail"

  • "use_export_policy"

permitted_encryption_types

list / elements=string

指定 Kerberos over NFS 允许的加密类型。

rpcsec_context_idle

整数

以秒为单位指定允许 RPCSEC_GSS 上下文在删除之前保持未使用的时长。

service_state

字符串

指定是否应启用或禁用指定的 NFS。如果 NFS 服务不存在,则会创建该服务。

选项

  • "started"

  • "stopped"

showmount

字符串

在 netapp.ontap 2.7.0 中添加

指定 SVM 是否允许 showmount。

使用 REST 时,从 ONTAP 9.8 版本开始支持。

选项

  • “已启用”

  • “已禁用”

state

字符串

指定 NFS 是否应该存在。

选项

  • "present" ← (默认)

  • "absent"

tcp

字符串

启用 TCP (从 ONTAP 9.3 开始支持)。

选项

  • “已启用”

  • “已禁用”

tcp_max_xfer_size

整数

在 netapp.ontap 2.8.0 中添加。

TCP 最大传输大小(字节)。默认值为 65536。

此选项需要 REST 中的 ONTAP 9.11.0 或更高版本。

udp

字符串

启用 UDP (从 ONTAP 9.3 开始支持)。

选项

  • “已启用”

  • “已禁用”

use_rest

字符串

指定是使用 REST 还是 ZAPI。

always – 如果模块支持 REST,则始终使用 REST API。如果模块不支持 REST,则会发出警告。如果 REST 中不支持模块选项,则会发出错误。

never – 如果模块支持 ZAPI,则始终使用 ZAPI。如果 ZAPI 中不支持 REST 选项,则可能会发出错误。

auto – 如果模块支持 REST 且支持模块选项,则会尝试使用 REST API。否则,将恢复为 ZAPI。

默认值: "auto"

username

别名: user

字符串

这可以是集群范围或 SVM 范围的帐户,具体取决于需要集群级还是 SVM 级 API。

有关更多信息,请阅读文档 https://mysupport.netapp.com/NOW/download/software/nmsdk/9.4/

支持两种身份验证方法:

  1. 基本身份验证,使用用户名和密码;

  2. SSL 证书身份验证,使用 SSL 客户端证书文件,以及可选的私钥文件。

要使用证书,必须已在 ONTAP 集群中安装该证书,并且必须启用证书身份验证。

validate_certs

布尔值

如果设置为 no,则不会验证 SSL 证书。

仅应在个人控制的站点上使用自签名证书时,将此值设置为 False

选项

  • false

  • true ← (默认)

vserver

字符串 / 必需

要使用的 vserver 的名称。

vstorage_state

字符串

vstorage_state 的状态。

选项

  • “已启用”

  • “已禁用”

windows

字典

在 netapp.ontap 22.3.0 中添加。

使用 REST 时,可以设置或修改此选项。

需要 ONTAP 9.11.0 或更高版本。

default_user

字符串

指定 NFS 服务器的默认 Windows 用户。

map_unknown_uid_to_default_user

布尔值

指定是否启用将未知 UID 映射到默认 Windows 用户。

选项

  • false

  • true

v3_ms_dos_client_enabled

布尔值

指定是否启用 NFSv3 MS-DOS 客户端支持。

选项

  • false

  • true

注释

注意

  • 带有 na_ontap 前缀的模块是为支持 ONTAP 存储平台而构建的。

  • 默认启用并建议使用 https。要在集群上启用 http,必须运行以下命令 ‘set -privilege advanced;’ ‘system services web modify -http-enabled true;’

示例

- name: change nfs status
  netapp.ontap.na_ontap_nfs:
    state: present
    service_state: stopped
    vserver: vs_hack
    nfsv3: disabled
    nfsv4: disabled
    nfsv41: enabled
    tcp: disabled
    udp: disabled
    vstorage_state: disabled
    nfsv4_id_domain: example.com
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: create nfs configuration - REST
  netapp.ontap.na_ontap_nfs:
    state: present
    service_state: stopped
    vserver: vs_hack
    nfsv3: disabled
    nfsv4: disabled
    nfsv41: enabled
    tcp: disabled
    udp: disabled
    vstorage_state: disabled
    nfsv4_id_domain: example.com
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Modify nfs configuration - REST
  netapp.ontap.na_ontap_nfs:
    state: present
    vserver: vs_hack
    root:
      ignore_nt_acl: true
      skip_write_permission_check: true
    security:
      chown_mode: restricted
      nt_acl_display_permission: true
      ntfs_unix_security: fail
      rpcsec_context_idle: 5
    windows:
      v3_ms_dos_client_enabled: true
      map_unknown_uid_to_default_user: false
      default_user: test_user
    tcp_max_xfer_size: 16384
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

- name: Delete nfs configuration
  netapp.ontap.na_ontap_nfs:
    state: absent
    vserver: vs_hack
    hostname: "{{ netapp_hostname }}"
    username: "{{ netapp_username }}"
    password: "{{ netapp_password }}"

作者

  • NetApp Ansible 团队 (@carchi8py)