我有一组 ESXi 主机,想要安装一个设备(LUN/卷)并创建一个数据存储,然后将其呈现给整个集群,而不是单个 ESXi 主机。
我知道对于数据存储创建有一个名为“vmware_host_datastore”的模块,您必须在其中指定 ESXi 主机名,如下所示:
- name: Mount VMFS datastores to ESXi
vmware_host_datastore:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_user }}'
password: '{{ vcenter_pass }}'
datacenter_name: '{{ datacenter }}'
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
有没有办法使用这个模块或其他模块来创建并将其安装到集群?
如何使用 Ansible 模块将设备安装到 VMWare 上的集群而不是单个主机
答案1
我做了一些研究并找到了答案(这可能是由于缺乏适当的 VMWare 知识。)
对于那些感兴趣的人:
当您在 VMWare 上创建数据存储时,在挂载刚刚创建的未挂载卷时,您必须从该集群中选择一个主机。最终,它会将数据存储挂载到特定主机,但它将在该集群中的所有主机之间共享,这就是我们想要的。因此,结论是 Ansible 没有任何模块可以将设备挂载到集群而不是单个主机,这甚至不是必需的。您只需使用 vmware_host_datastore 模块即可执行此操作。
尽管如此,由于该vmware_host_datastore
模块可用于从本地或共享设备创建数据存储,因此在将数据存储安装到主机时,只能从可以实际访问底层设备的主机中进行选择。