• 博客
  • Ansible 社区论坛
  • 文档
Ansible Logo
Ansible 社区文档
Ansible

Ansible 入门

  • Ansible 入门指南
  • 执行环境入门指南

安装、升级和配置

  • 安装指南
  • Ansible 移植指南

使用 Ansible

  • 构建 Ansible 清单
  • 使用 Ansible 命令行工具
  • 使用 Ansible playbook
  • 使用 Ansible vault 保护敏感数据
  • 使用 Ansible 模块和插件
  • 使用 Ansible 集合
  • 在 Windows 和 BSD 上使用 Ansible
  • Ansible 提示和技巧

为 Ansible 作出贡献

  • Ansible 社区指南
  • Ansible 集合贡献者指南
  • ansible-core 贡献者指南
  • 高级贡献者指南
  • Ansible 文档样式指南

扩展 Ansible

  • 开发者指南

常见的 Ansible 场景

  • 旧版公共云指南

网络自动化

  • 网络入门
  • 网络高级主题
  • 网络开发者指南

Ansible Galaxy

  • Galaxy 用户指南
  • Galaxy 开发者指南

参考和附录

  • 集合索引
    • Amazon 命名空间中的集合
    • Ansible 命名空间中的集合
    • Arista 命名空间中的集合
    • AWX 命名空间中的集合
    • Azure 命名空间中的集合
    • Check_point 命名空间中的集合
    • Chocolatey 命名空间中的集合
    • Cisco 命名空间中的集合
    • Cloud 命名空间中的集合
    • Cloudscale_ch 命名空间中的集合
    • Community 命名空间中的集合
      • Community.Aws
      • Community.Ciscosmb
      • Community.Crypto
      • Community.Digitalocean
      • Community.Dns
      • Community.Docker
      • Community.General
      • Community.Grafana
      • Community.Hashi_Vault
      • Community.Hrobot
      • Community.Library_Inventory_Filtering_V1
      • Community.Libvirt
      • Community.Mongodb
      • Community.Mysql
      • Community.Network
      • Community.Okd
      • Community.Postgresql
      • Community.Proxysql
      • Community.Rabbitmq
      • Community.Routeros
      • Community.Sap_Libs
      • Community.Sops
      • Community.Vmware
        • 描述
        • 开发者指南
        • 插件索引
      • Community.Windows
      • Community.Zabbix
    • Containers 命名空间中的集合
    • Cyberark 命名空间中的集合
    • Dellemc 命名空间中的集合
    • F5networks 命名空间中的集合
    • Fortinet 命名空间中的集合
    • Frr 命名空间中的集合
    • Gluster 命名空间中的集合
    • Google 命名空间中的集合
    • Grafana 命名空间中的集合
    • Hetzner 命名空间中的集合
    • Hpe 命名空间中的集合
    • Ibm 命名空间中的集合
    • Ieisystem 命名空间中的集合
    • Infinidat 命名空间中的集合
    • Infoblox 命名空间中的集合
    • Inspur 命名空间中的集合
    • Junipernetworks 命名空间中的集合
    • Kaytus 命名空间中的集合
    • Kubernetes 命名空间中的集合
    • Kubevirt 命名空间中的集合
    • Lowlydba 命名空间中的集合
    • Mellanox 命名空间中的集合
    • Microsoft 命名空间中的集合
    • Netapp 命名空间中的集合
    • Netapp_eseries 命名空间中的集合
    • Netbox 命名空间中的集合
    • Ngine_io 命名空间中的集合
    • Openstack 命名空间中的集合
    • Openvswitch 命名空间中的集合
    • Ovirt 命名空间中的集合
    • Purestorage 命名空间中的集合
    • Sensu 命名空间中的集合
    • Servicenow 命名空间中的集合
    • Splunk 命名空间中的集合
    • T_systems_mms 命名空间中的集合
    • Telekom_mms 命名空间中的集合
    • Theforeman 命名空间中的集合
    • Vmware 命名空间中的集合
    • Vultr 命名空间中的集合
    • Vyos 命名空间中的集合
    • Wti 命名空间中的集合
  • 所有模块和插件的索引
  • Playbook 关键字
  • 返回值
  • Ansible 配置设置
  • 控制 Ansible 的行为:优先级规则
  • YAML 语法
  • Python 3 支持
  • 解释器发现
  • 版本发布和维护
  • 测试策略
  • 健全性测试
  • 常见问题
  • 词汇表
  • Ansible 参考:模块实用程序
  • 特殊变量
  • Red Hat Ansible Automation Platform
  • Ansible Automation Hub
  • 记录 Ansible 输出

路线图

  • Ansible 路线图
  • ansible-core 路线图




Ansible
  • 集合索引
  • Community 命名空间中的集合
  • Community.Vmware
  • community.vmware.vmware_guest_controller 模块 – 管理给定 vCenter 基础架构中与虚拟机相关的磁盘或 USB 控制器


community.vmware.vmware_guest_controller 模块 – 管理给定 vCenter 基础架构中与虚拟机相关的磁盘或 USB 控制器

注意

此模块是 community.vmware 集合 (版本 5.2.0) 的一部分。

如果您使用的是 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list。

要安装它,请使用: ansible-galaxy collection install community.vmware。

要在 playbook 中使用它,请指定: community.vmware.vmware_guest_controller。

  • 概要

  • 参数

  • 备注

  • 示例

  • 返回值

概要

  • 此模块可用于添加、删除属于给定虚拟机的磁盘控制器或 USB 控制器。

参数

参数

注释

controllers

列表 / 元素=字典

要添加或删除的磁盘或 USB 控制器的列表。

每个虚拟机允许最多 4 个相同类型的磁盘控制器。

每个虚拟机允许最多 2 个 USB 控制器,1 个 USB 2.0 和 1 个 USB 3.0 或 3.1。

对于特定客户操作系统,支持的控制器类型,请参考 VMware 兼容性指南。

bus_sharing

字符串

SCSI 控制器的总线共享类型。

选项

  • "noSharing" ← (默认)

  • "physicalSharing"

  • "virtualSharing"

controller_number

整数

磁盘控制器的总线号。当 controllers[].state=absent 时,此参数是必需的。

当 controllers[].type=usb2 或 controllers[].type=usb3 时,此参数不是必需的。

选项

  • 0

  • 1

  • 2

  • 3

state

字符串 / 必需

添加新的控制器或删除指定的现有控制器。

如果设置为 absent,则当没有磁盘或设备连接到它时,指定的控制器将从虚拟机中删除。

如果指定的控制器已删除或不存在,则不会执行任何操作,只会显示警告消息。

如果设置为 present,则将添加具有指定类型的新的控制器。

如果具有指定控制器类型的控制器数量达到其最大值,则不会执行任何操作,只会显示警告消息。

选项

  • "present"

  • "absent"

type

字符串 / 必需

磁盘或 USB 控制器的类型。

从 vSphere 6.5 和硬件版本为 13 的虚拟机开始,支持 nvme 控制器。

选项

  • "buslogic"

  • "lsilogic"

  • "lsilogicsas"

  • "paravirtual"

  • "sata"

  • "nvme"

  • "usb2"

  • "usb3"

datacenter

字符串

虚拟机所属的数据中心名称。

默认值: "ha-datacenter"

folder

字符串

目标文件夹,查找现有客户机的绝对或相对路径。

这是一个必需参数,仅当找到多个具有相同名称的虚拟机时。

文件夹应包含数据中心。ESX 的数据中心是 ha-datacenter

示例

folder: /ha-datacenter/vm

folder: ha-datacenter/vm

folder: /datacenter1/vm

folder: datacenter1/vm

folder: /datacenter1/vm/folder1

folder: datacenter1/vm/folder1

folder: /folder1/datacenter1/vm

folder: folder1/datacenter1/vm

folder: /folder1/datacenter1/vm/folder2

gather_disk_controller_facts

布尔值

是否仅收集现有磁盘和 USB 控制器的事实。

当此参数设置为 true 时,controllers 参数将被忽略。

选项

  • false ← (默认)

  • true

hostname

字符串

vSphere vCenter 或 ESXi 服务器的主机名或 IP 地址。

如果任务中未指定此值,则将使用环境变量 VMWARE_HOST 的值。

moid

字符串

已知实例的管理对象 ID,这是一个仅在单个 vCenter 实例中唯一的标识符。

如果未提供name或uuid,则需要此参数。

name

字符串

虚拟机的名称。

如果未提供参数uuid或moid,则此参数为必填参数。

password

别名:pass,pwd

字符串

vSphere vCenter 或 ESXi 服务器的密码。

如果任务中未指定此值,则将使用环境变量VMWARE_PASSWORD的值。

port

整数

vSphere vCenter 或 ESXi 服务器的端口号。

如果任务中未指定此值,则将使用环境变量VMWARE_PORT的值。

默认值:443

proxy_host

字符串

将接收所有 HTTPS 请求并转发它们的代理的地址。

格式为主机名或 IP 地址。

如果任务中未指定此值,则将使用环境变量VMWARE_PROXY_HOST的值。

proxy_port

整数

将接收所有 HTTPS 请求并转发它们的 HTTP 代理的端口。

如果任务中未指定此值,则将使用环境变量VMWARE_PROXY_PORT的值。

sleep_time

整数

VM 重新配置任务完成后休眠的秒数,在 VM 重新配置后无法获取更新的 VM 控制器信息时使用。

此参数不是必需的。最大值为 600。

默认值:10

use_instance_uuid

布尔值

是否使用 VMware 实例 UUID 而不是 BIOS UUID。

选项

  • false ← (默认)

  • true

username

别名:admin,user

字符串

vSphere vCenter 或 ESXi 服务器的用户名。

如果任务中未指定此值,则将使用环境变量VMWARE_USER的值。

uuid

字符串

已知实例的 UUID,用于收集信息,这是 VMware 的唯一标识符。

如果未提供参数name或moid,则此参数为必填参数。

validate_certs

布尔值

允许在 SSL 证书无效时连接。当证书不受信任时,将其设置为false。

如果任务中未指定此值,则将使用环境变量VMWARE_VALIDATE_CERTS的值。

选项

  • false

  • true ← (默认值)

备注

注意

  • 所有模块都需要 API 写入访问权限,因此在免费 ESXi 许可证上不受支持。

  • 所有变量和 VMware 对象名称都区分大小写。

示例

- name: Add disk and USB 3.0 controllers for virtual machine located by name
  community.vmware.vmware_guest_controller:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    name: test_VM
    controllers:
      - state: present
        type: sata
      - state: present
        type: nvme
      - state: present
        type: usb3
  delegate_to: localhost
  register: disk_controller_facts

- name: Remove disk controllers and USB 2.0 from virtual machine located by moid
  community.vmware.vmware_guest_controller:
    hostname: "{{ vcenter_hostname }}"
    username: "{{ vcenter_username }}"
    password: "{{ vcenter_password }}"
    datacenter: "{{ datacenter_name }}"
    moid: vm-33
    controllers:
      - state: absent
        controller_number: 1
        type: sata
      - state: absent
        controller_number: 0
        type: nvme
      - state: absent
        type: usb2
  delegate_to: localhost
  register: disk_controller_facts

返回值

常见的返回值已在此处记录,以下是此模块特有的字段

键

描述

disk_controller_status

字典

关于虚拟机现有磁盘控制器或添加或删除操作后的元数据

返回:始终

示例:{"nvme": {"0": {"controller_busnumber": 0, "controller_controllerkey": 100, "controller_devicekey": 31000, "controller_disks_devicekey": [], "controller_label": "NVME controller 0", "controller_summary": "NVME controller 0", "controller_unitnumber": 30}}, "sata": {"0": {"controller_busnumber": 0, "controller_controllerkey": 100, "controller_devicekey": 15000, "controller_disks_devicekey": [16000, 16001], "controller_label": "SATA controller 0", "controller_summary": "AHCI", "controller_unitnumber": 24}}, "scsi": {"0": {"controller_bus_sharing": "noSharing", "controller_busnumber": 0, "controller_controllerkey": 100, "controller_devicekey": 1000, "controller_disks_devicekey": [2000], "controller_label": "SCSI controller 0", "controller_summary": "LSI Logic SAS", "controller_unitnumber": 3}, "1": {"controller_bus_sharing": "physicalSharing", "controller_busnumber": 1, "controller_controllerkey": 100, "controller_devicekey": 1001, "controller_disks_devicekey": [], "controller_label": "SCSI controller 1", "controller_summary": "VMware paravirtual SCSI", "controller_unitnumber": 4}}, "usb2": {"0": {"controller_busnumber": 0, "controller_controllerkey": 100, "controller_devicekey": 7000, "controller_disks_devicekey": [], "controller_label": "USB Controller", "controller_summary": "Auto connect Disabled", "controller_unitnumber": 22}}}

作者

  • 王戴安 (@Tomorrow9)

收藏链接

  • 问题跟踪器
  • 主页
  • 代码库(源代码)
上一篇 下一篇

© 版权所有 Ansible 项目贡献者。 最后更新于 2024 年 12 月 19 日。