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 导出时的可选参数。 要修改描述,请在 *description* 字段中传递新值。 要删除描述,请在 *description* 字段中传递空值。 |
|
文件系统的 ID。 这是由 Unity 存储系统生成的唯一 ID。 |
|
将为其创建 NFS 导出的文件系统的名称。 创建 NFS 时,必须提供文件系统或快照。 如果指定了 *filesystem_name*,则需要 *nas_server* 来唯一标识文件系统。 如果提供了文件系统参数,则不能指定快照。 |
|
定义主机是否可以访问 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 或本地网络组文件中定义的网络组。 |
|
子网可以是“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 或本地网络组文件中定义的网络组。 |
|
子网可以是“IP 地址/网络掩码”或“IP 地址/前缀长度”。 |
|
对 NFS 导出具有 root 用户只读访问权限的主机。 字典列表。每个字典都将具有 *host_name*、*host_id*、*subnet*、*netgroup*、*domain* 和 *ip_address* 中的任何键。 如果 *adv_host_mgmt_enabled* 为 如果 *adv_host_mgmt_enabled* 为 |
|
DNS 域,其中该域中的所有 NFS 客户端都包含在主机列表中。 |
|
主机的 ID。 |
|
主机的名称。 |
|
主机的 IP 地址。 |
|
在 NIS 或本地网络组文件中定义的网络组。 |
|
子网可以是“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 或本地网络组文件中定义的网络组。 |
|
子网可以是“IP 地址/网络掩码”或“IP 地址/前缀长度”。 |
|
对 NFS 导出具有 root 用户读写访问权限的主机。 字典列表。每个字典都将具有 *host_name*、*host_id*、*subnet*、*netgroup*、*domain* 和 *ip_address* 中的任何键。 如果 *adv_host_mgmt_enabled* 为 如果 *adv_host_mgmt_enabled* 为 |
|
DNS 域,其中该域中的所有 NFS 客户端都包含在主机列表中。 |
|
主机的 ID。 |
|
主机的名称。 |
|
主机的 IP 地址。 |
|
在 NIS 或本地网络组文件中定义的网络组。 |
|
子网可以是“IP 地址/网络掩码”或“IP 地址/前缀长度”。 |
|
快照的 ID。 这是由 Unity 存储系统生成的唯一 ID。 |
|
将为其创建 NFS 导出的快照的名称。 创建 NFS 导出需要文件系统或快照。 如果提供了快照参数,则不能指定文件系统。 |
|
用于确定 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 导出具有只读访问权限的主机 返回: 成功 |
|
对 NFS 导出具有 root 用户只读访问权限的主机 返回: 成功 |
|
对 NFS 导出具有读写访问权限的主机 返回: 成功 |
|
对导出具有 root 用户读写访问权限的主机 返回: 成功 |
|
NFS 导出类型。即文件系统或快照 返回: 成功 |