如何使用 Ansible 模块将设备安装到集群而不是单个主机

如何使用 Ansible 模块将设备安装到集群而不是单个主机

我有一组 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模块可用于从本地或共享设备创建数据存储,因此在将数据存储安装到主机时,只能从可以实际访问底层设备的主机中进行选择。

相关内容