community.vmware.vmware_host_datastore 模块 – 管理 ESXi 主机上的数据存储
注意
此模块是 community.vmware 集合(版本 5.2.0)的一部分。
如果您正在使用 ansible
包,您可能已经安装了此集合。它不包含在 ansible-core
中。要检查它是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install community.vmware
。
要在 playbook 中使用它,请指定:community.vmware.vmware_host_datastore
。
概要
此模块可用于在 ESXi 主机上挂载/卸载数据存储。
此模块仅支持 NFS(NFS v3 或 NFS v4.1)和 VMFS 数据存储。
对于 VMFS 数据存储,可用的设备必须已连接到 ESXi 主机。
参数
参数 |
注释 |
---|---|
如果数据存储具有可用容量,则将其容量扩展至最大。 此参数不能使用另一个数据存储来扩展。 可用于在增加 LUN 卷后扩展数据存储容量。 选择
|
|
要添加/删除的数据存储的名称。 |
|
要配置的数据存储的类型 (nfs/nfs41/vmfs/vvol)。 选择
|
|
用于管理数据存储的 ESXi 主机名。 与 vCenter 一起使用时是必需的 |
|
vSphere vCenter 或 ESXi 服务器的主机名或 IP 地址。 如果在任务中未指定该值,则将使用环境变量 |
|
NFS 主机上的资源路径。 如果 |
|
只读或读写挂载。 如果数据存储类型未设置为 选择
|
|
为 nfs 数据存储提供服务的 NFS 主机。 如果 如果 |
|
vSphere vCenter 或 ESXi 服务器的密码。 如果在任务中未指定该值,则将使用环境变量 |
|
将接收所有 HTTPS 请求并转发它们的 HTTP 代理的端口。 如果在任务中未指定该值,则将使用环境变量 |
|
允许强制重新签名指定磁盘设备上已存在的未解析的 VMFS 数据存储。 如果不是 选择
|
|
present: 如果数据存储不存在,则在主机上挂载数据存储,否则不执行任何操作。 absent: 如果数据存储存在,则卸载数据存储,否则不执行任何操作。 选择
|
|
vSphere vCenter 或 ESXi 服务器的用户名。 如果任务中未指定该值,则将使用环境变量 |
|
允许在 SSL 证书无效时进行连接。当证书不受信任时,设置为 如果任务中未指定该值,则将使用环境变量 选择
|
|
用于 vVols 供应的 VASA 提供程序的主机名或 IP 地址 |
|
用作 VMFS 数据存储的设备名称。 对于 VMFS 数据存储类型和 |
|
用于创建数据存储的 VMFS 版本。 如果不是 |
注释
注意
NFS v4.1 的 Kerberos 身份验证未实现
所有模块都需要 API 写入权限,因此在免费的 ESXi 许可证上不支持。
所有变量和 VMware 对象名称都区分大小写。
示例
- name: Mount VMFS datastores to ESXi
community.vmware.vmware_host_datastore:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datastore_name: '{{ item.name }}'
datastore_type: '{{ item.type }}'
vmfs_device_name: 'naa.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
vmfs_version: 6
esxi_hostname: '{{ inventory_hostname }}'
state: present
delegate_to: localhost
- name: Mount NFS datastores to ESXi
community.vmware.vmware_host_datastore:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datastore_name: '{{ item.name }}'
datastore_type: '{{ item.type }}'
nfs_server: '{{ item.server }}'
nfs_path: '{{ item.path }}'
nfs_ro: false
esxi_hostname: '{{ inventory_hostname }}'
state: present
delegate_to: localhost
loop:
- { 'name': 'NasDS_vol01', 'server': 'nas01', 'path': '/mnt/vol01', 'type': 'nfs'}
- { 'name': 'NasDS_vol02', 'server': 'nas01', 'path': '/mnt/vol02', 'type': 'nfs'}
- name: Mount NFS v4.1 datastores to ESXi
community.vmware.vmware_host_datastore:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datastore_name: '{{ item.name }}'
datastore_type: '{{ item.type }}'
nfs_server: '{{ item.server }}'
nfs_path: '{{ item.path }}'
nfs_ro: false
esxi_hostname: '{{ inventory_hostname }}'
state: present
delegate_to: localhost
loop:
- { 'name': 'NasDS_vol03', 'server': 'nas01,nas02', 'path': '/mnt/vol01', 'type': 'nfs41'}
- { 'name': 'NasDS_vol04', 'server': 'nas01,nas02', 'path': '/mnt/vol02', 'type': 'nfs41'}
- name: Mount vVols datastore to ESXi
community.vmware.vmware_host_datastore:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datastore_name: myvvolds
datastore_type: vvol
vasa_provider: pure-X90a
esxi_hostname: esxi-1
state: absent
delegate_to: localhost
- name: Mount unresolved VMFS datastores to ESXi
community.vmware.vmware_host_datastore:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
datastore_name: mydatastore01
vmfs_device_name: 'naa.XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
vmfs_version: 6
esxi_hostname: esxi01
resignature: true
state: present
delegate_to: localhost
- name: Remove/Umount Datastores from a ESXi
community.vmware.vmware_host_datastore:
hostname: '{{ esxi_hostname }}'
username: '{{ esxi_username }}'
password: '{{ esxi_password }}'
datastore_name: NasDS_vol01
state: absent
delegate_to: localhost