community.vmware.vmware_vmotion 模块 – 使用 vMotion 移动虚拟机,以及/或者使用 Storage vMotion 移动其 vmdk。
注意
此模块是 community.vmware 集合 (版本 5.2.0) 的一部分。
如果您使用的是 ansible
包,则可能已安装此集合。它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用: ansible-galaxy collection install community.vmware
。
要在 playbook 中使用它,请指定: community.vmware.vmware_vmotion
。
概要
使用 VMware vCenter,使用 vMotion 将虚拟机移动到不同的主机,以及/或者使用 Storage vMotion 将其 vmdk 移动到另一个数据存储。
参数
参数 |
注释 |
---|---|
虚拟机应在其上运行的目标集群的名称。 仅当为此集群启用了 DRS 时才有效。 |
|
数据存储所在的目的地数据中心的名称。 可选,仅当数据存储跨数据中心共享时才需要。 |
|
虚拟机的 vmdk 应在其上移动的目标数据存储的名称。 |
|
虚拟机的 vmdk 应在其上移动的目标数据存储集群(存储池)的名称。 仅当为虚拟机正在运行/应运行的集群启用了 DRS 时才有效。 |
|
虚拟机应在其上运行的目标主机的名称。 2.6 版及更高版本,此参数不是必需参数,与以前的版本不同。 |
|
虚拟机应在其上运行的目标资源池的名称。 如果在属于不同集群或数据中心的主机之间执行 vmotion,则需要资源池。 如果未传递,则将从 host_obj 父级检索 resource_pool 对象。 |
|
vSphere vCenter 或 ESXi 服务器的主机名或 IP 地址。 如果任务中未指定该值,则将改用环境变量 |
|
vSphere vCenter 或 ESXi 服务器的密码。 如果任务中未指定该值,则将改用环境变量 |
|
将接收所有 HTTPS 请求并转发它们的 HTTP 代理的端口。 如果任务中未指定该值,则将改用环境变量 |
|
以秒为单位的超时时间。达到超时时间时,模块将失败。 默认值: |
|
是否使用 VMware 实例 UUID 而不是 BIOS UUID。 选项
|
|
vSphere vCenter 或 ESXi 服务器的用户名。 如果任务中未指定该值,则将改用环境变量 |
|
要执行 vMotion 的虚拟机的名称。 如果未设置 |
|
备注
注意
所有模块都需要 API 写入权限,因此在免费 ESXi 许可证上不支持。
所有变量和 VMware 对象名称都区分大小写。
示例
- name: Perform vMotion of virtual machine
community.vmware.vmware_vmotion:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
vm_name: 'vm_name_as_per_vcenter'
destination_host: 'destination_host_as_per_vcenter'
delegate_to: localhost
- name: Perform vMotion of virtual machine
community.vmware.vmware_vmotion:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
moid: vm-42
destination_host: 'destination_host_as_per_vcenter'
delegate_to: localhost
- name: Perform vMotion of virtual machine to resource_pool
community.vmware.vmware_vmotion:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
moid: vm-42
destination_host: 'destination_host_as_per_vcenter'
destination_resourcepool: 'destination_resourcepool_as_per_vcenter'
delegate_to: localhost
- name: Perform storage vMotion of virtual machine
community.vmware.vmware_vmotion:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
vm_name: 'vm_name_as_per_vcenter'
destination_datastore: 'destination_datastore_as_per_vcenter'
delegate_to: localhost
- name: Perform storage vMotion and host vMotion of virtual machine
community.vmware.vmware_vmotion:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
vm_name: 'vm_name_as_per_vcenter'
destination_host: 'destination_host_as_per_vcenter'
destination_datastore: 'destination_datastore_as_per_vcenter'
delegate_to: localhost
- name: Perform storage vMotion to a Storage Cluster and vMotion to a Cluster of virtual machine
community.vmware.vmware_vmotion:
hostname: '{{ vcenter_hostname }}'
username: '{{ vcenter_username }}'
password: '{{ vcenter_password }}'
vm_name: 'vm_name_as_per_vcenter'
destination_cluster: 'destination_cluster_as_per_vcenter'
destination_datastore_cluster: 'destination_datastore_cluster_as_per_vcenter'
delegate_to: localhost
返回值
常用返回值已在此处记录,以下是此模块特有的字段
键 |
描述 |
---|---|
列出虚拟机所在的 datastore。 仅当请求存储 vMotion(Datastore 或 Datastore 集群)时才返回。 返回:changed 或 success 示例: |
|
列出虚拟机注册到的主机。 仅当请求 vMotion(集群或主机)时才返回。 返回:changed 或 success 示例: |