dellemc.unity.nfs 模块 – 管理 Unity 存储系统上的 NFS 导出
注意
此模块是 dellemc.unity 集合 (版本 2.0.0) 的一部分。
如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用: ansible-galaxy collection install dellemc.unity。您需要满足其他要求才能使用此模块,有关详细信息,请参见 要求。
要在 playbook 中使用它,请指定: dellemc.unity.nfs。
dellemc.unity 1.1.0 中的新增功能
概要
- 管理 Unity 存储系统上的 NFS 导出包括:创建新的 NFS 导出、修改 NFS 导出属性、显示 NFS 导出详细信息、删除 NFS 导出。 
要求
执行此模块的主机需要以下要求。
- Dell Unity 存储设备版本 5.1 或更高版本。 
- Ansible-core 2.14 或更高版本。 
- Python 3.9、3.10 或 3.11。 
- Storops Python SDK 1.2.11。 
参数
| 参数 | 注释 | 
|---|---|
| 如果为  添加访问主机时为必填项。 选项 
 | |
| 指定匿名帐户的组 ID。 如果在创建时未指定,它将设置为 4294967294。 | |
| 指定匿名帐户的用户 ID。 如果在创建时未指定,它将设置为 4294967294。 | |
| 可以访问 NFS 导出的所有主机的默认访问级别。 对于需要与默认值不同的访问权限的主机,可以通过添加到列表中进行配置。 如果创建时未提及 *default_access*,则 NFS 导出将使用  选项 
 | |
| NFS 导出的描述。 创建 NFS 导出时的可选参数。 要修改描述,请在 *description* 字段中传递新值。 要删除描述,请在 *description* 字段中传递空值。 | |
| 文件系统的 ID。 这是由 Unity 存储系统生成的唯一 ID。 | |
| 将为其创建 NFS 导出的文件系统的名称。 创建 NFS 时需要文件系统或快照。 如果指定了 *filesystem_name*,则需要 *nas_server* 来唯一标识文件系统。 如果提供了 filesystem 参数,则不能指定快照。 | |
| 定义主机是否可以访问 NFS 导出。 在向导出添加或删除主机的访问权限时需要。 选项 
 | |
| 访问 NFS 导出的用户强制执行的 NFS 安全类型。 如果在创建时未指定,它将设置为  选项 
 | |
| 将托管文件系统的 NAS 服务器的 ID。 | |
| 将托管文件系统的 NAS 服务器的名称。 | |
| NFS 导出的 ID。 这是由 Unity 存储系统生成的唯一 ID。 | |
| NFS 导出的名称。 创建操作时为必填项。 对于任何操作,请指定 *nfs_export_name* 或 *nfs_export_id*(但不能同时指定两者)。 | |
| 无权访问 NFS 导出的主机。 字典列表。每个字典都将具有来自 *host_name*、*host_id*、*subnet*、*netgroup*、*domain* 和 *ip_address* 的任何键。 如果 *adv_host_mgmt_enabled* 为  如果 *adv_host_mgmt_enabled* 为  | |
| DNS 域名,其中域名中的所有 NFS 客户端都包含在主机列表中。 | |
| 主机的 ID。 | |
| 主机的名称。 | |
| 主机的 IP 地址。 | |
| 在 NIS 或本地 netgroup 文件中定义的 Netgroup。 | |
| 子网可以是“IP 地址/子网掩码”或“IP 地址/前缀长度”。 | |
| Unity 管理服务器的密码。 | |
| 相对于 NAS 服务器根目录的导出本地路径。 使用 NFS 时,每个文件系统或文件快照的导出必须具有唯一的本地路径。 创建 NFS 导出时必须设置。 | |
| 与 Unity 管理服务器进行通信的端口号。 默认值:  | |
| 具有 NFS 导出只读访问权限的主机。 字典列表。每个字典都将具有来自 *host_name*、*host_id*、*subnet*、*netgroup*、*domain* 和 *ip_address* 的任何键。 如果 *adv_host_mgmt_enabled* 为  如果 *adv_host_mgmt_enabled* 为  | |
| DNS 域名,其中域名中的所有 NFS 客户端都包含在主机列表中。 | |
| 主机的 ID。 | |
| 主机的名称。 | |
| 主机的 IP 地址。 | |
| 在 NIS 或本地 netgroup 文件中定义的 Netgroup。 | |
| 子网可以是“IP 地址/子网掩码”或“IP 地址/前缀长度”。 | |
| 具有 root 用户对 NFS 导出只读访问权限的主机。 字典列表。每个字典都将具有来自 *host_name*、*host_id*、*subnet*、*netgroup*、*domain* 和 *ip_address* 的任何键。 如果 *adv_host_mgmt_enabled* 为  如果 *adv_host_mgmt_enabled* 为  | |
| DNS 域名,其中域名中的所有 NFS 客户端都包含在主机列表中。 | |
| 主机的 ID。 | |
| 主机的名称。 | |
| 主机的 IP 地址。 | |
| 在 NIS 或本地 netgroup 文件中定义的 Netgroup。 | |
| 子网可以是“IP 地址/子网掩码”或“IP 地址/前缀长度”。 | |
| 具有 NFS 导出读写访问权限的主机。 字典列表。每个字典都将具有来自 *host_name*、*host_id*、*subnet*、*netgroup*、*domain* 和 *ip_address* 的任何键。 如果 *adv_host_mgmt_enabled* 为  如果 *adv_host_mgmt_enabled* 为  | |
| DNS 域名,其中域名中的所有 NFS 客户端都包含在主机列表中。 | |
| 主机的 ID。 | |
| 主机的名称。 | |
| 主机的 IP 地址。 | |
| 在 NIS 或本地 netgroup 文件中定义的 Netgroup。 | |
| 子网可以是“IP 地址/子网掩码”或“IP 地址/前缀长度”。 | |
| 具有 root 用户对 NFS 导出读写访问权限的主机。 字典列表。每个字典都将具有来自 *host_name*、*host_id*、*subnet*、*netgroup*、*domain* 和 *ip_address* 的任何键。 如果 *adv_host_mgmt_enabled* 为  如果 *adv_host_mgmt_enabled* 为  | |
| DNS 域名,其中域名中的所有 NFS 客户端都包含在主机列表中。 | |
| 主机的 ID。 | |
| 主机的名称。 | |
| 主机的 IP 地址。 | |
| 在 NIS 或本地 netgroup 文件中定义的 Netgroup。 | |
| 子网可以是“IP 地址/子网掩码”或“IP 地址/前缀长度”。 | |
| 快照的 ID。 这是由 Unity 存储系统生成的唯一 ID。 | |
| 将为其创建 NFS 导出的快照名称。 创建 NFS 导出需要文件系统或快照。 如果提供 snapshot 参数,则不能指定 filesystem。 | |
| 状态变量,用于确定 NFS 导出是否存在。 选项 
 | |
| Unity 管理服务器的 IP 地址或 FQDN。 | |
| Unity 管理服务器的用户名。 | |
| 布尔变量,用于指定是否验证 SSL 证书。 
 
 选项 
 | 
注释
注意
- 不支持check_mode。 
- 此集合中名为“dellemc.unity”的模块旨在支持 Dell Unity 存储平台。 
示例
- name: Create nfs export from filesystem
  dellemc.unity.nfs:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    nfs_export_name: "ansible_nfs_from_fs"
    path: '/'
    filesystem_id: "fs_377"
    state: "present"
- name: Create nfs export from snapshot
  dellemc.unity.nfs:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    nfs_export_name: "ansible_nfs_from_snap"
    path: '/'
    snapshot_name: "ansible_fs_snap"
    state: "present"
- name: Modify nfs export
  dellemc.unity.nfs:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    nfs_export_name: "ansible_nfs_from_fs"
    nas_server_id: "nas_3"
    description: ""
    default_access: "READ_ONLY_ROOT"
    anonymous_gid: 4294967290
    anonymous_uid: 4294967290
    state: "present"
- name: Add host in nfs export with adv_host_mgmt_enabled as true
  dellemc.unity.nfs:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    nfs_export_name: "ansible_nfs_from_fs"
    filesystem_id: "fs_377"
    adv_host_mgmt_enabled: true
    no_access_hosts:
      - host_id: "Host_1"
    read_only_hosts:
      - host_id: "Host_2"
    read_only_root_hosts:
      - host_name: "host_name1"
    read_write_hosts:
      - host_name: "host_name2"
    read_write_root_hosts:
      - ip_address: "1.1.1.1"
    host_state: "present-in-export"
    state: "present"
- name: Remove host in nfs export with adv_host_mgmt_enabled as true
  dellemc.unity.nfs:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    nfs_export_name: "ansible_nfs_from_fs"
    filesystem_id: "fs_377"
    adv_host_mgmt_enabled: true
    no_access_hosts:
      - host_id: "Host_1"
    read_only_hosts:
      - host_id: "Host_2"
    read_only_root_hosts:
      - host_name: "host_name1"
    read_write_hosts:
      - host_name: "host_name2"
    read_write_root_hosts:
      - ip_address: "1.1.1.1"
    host_state: "absent-in-export"
    state: "present"
- name: Add host in nfs export with adv_host_mgmt_enabled as false
  dellemc.unity.nfs:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    nfs_export_name: "ansible_nfs_from_fs"
    filesystem_id: "fs_377"
    adv_host_mgmt_enabled: false
    no_access_hosts:
      - domain: "google.com"
    read_only_hosts:
      - netgroup: "netgroup_admin"
    read_only_root_hosts:
      - host_name: "host5"
    read_write_hosts:
      - subnet: "168.159.57.4/255.255.255.0"
    read_write_root_hosts:
      - ip_address: "10.255.2.4"
    host_state: "present-in-export"
    state: "present"
- name: Remove host in nfs export with adv_host_mgmt_enabled as false
  dellemc.unity.nfs:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    nfs_export_name: "ansible_nfs_from_fs"
    filesystem_id: "fs_377"
    adv_host_mgmt_enabled: false
    no_access_hosts:
      - domain: "google.com"
    read_only_hosts:
      - netgroup: "netgroup_admin"
    read_only_root_hosts:
      - host_name: "host5"
    read_write_hosts:
      - subnet: "168.159.57.4/255.255.255.0"
    read_write_root_hosts:
      - ip_address: "10.255.2.4"
    host_state: "absent-in-export"
    state: "present"
- name: Get nfs details
  dellemc.unity.nfs:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    nfs_export_id: "NFSShare_291"
    state: "present"
- name: Delete nfs export by nfs name
  dellemc.unity.nfs:
    unispherehost: "{{unispherehost}}"
    username: "{{username}}"
    password: "{{password}}"
    validate_certs: "{{validate_certs}}"
    nfs_export_name: "ansible_nfs_name"
    nas_server_name: "ansible_nas_name"
    state: "absent"
返回值
常见的返回值已在此处记录,以下是此模块特有的字段
| 键 | 描述 | 
|---|---|
| 资源是否已更改。 返回值:始终 示例:  | |
| NFS 导出的详细信息。 返回值:NFS 导出存在时。 示例:  | |
| 匿名帐户的组 ID 返回值:成功 | |
| 匿名帐户的用户 ID 返回值:成功 | |
| 可以访问导出的所有主机的默认访问级别 返回值:成功 | |
| 关于 NFS 导出的描述 返回值:成功 | |
| 可用于挂载和访问导出的导出路径 返回值:成功 | |
| 存在 NFS 导出的文件系统的详细信息 返回值:成功 | |
| 文件系统详细信息 返回值:成功 | |
| 文件系统的 ID 返回值:成功 | |
| 文件系统的名称 返回值:成功 | |
| NFS 导出的 ID 返回值:成功 | |
| 访问导出的用户强制执行的 NFS 安全类型 返回值:成功 | |
| NFS 导出的名称 返回值:成功 | |
| NAS 服务器的详细信息 返回值:成功 | |
| NAS 服务器详细信息 返回值:成功 | |
| NAS 服务器的 ID 返回值:成功 | |
| NAS 服务器的名称 返回值:成功 | |
| 无权访问 NFS 导出的主机 返回值:成功 | |
| 具有 NFS 导出只读访问权限的主机 返回值:成功 | |
| 具有 root 用户对 NFS 导出只读访问权限的主机 返回值:成功 | |
| 具有 NFS 导出读写访问权限的主机 返回值:成功 | |
| 具有 root 用户对导出读写访问权限的主机 返回值:成功 | |
| NFS 导出类型,即文件系统或快照 返回值:成功 | 
