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 导出类型,即文件系统或快照 返回值:成功 |