文档目录

安装和使用 VMTools

VMTools 是一组安装在虚拟机内部的驱动和工具,用于增强 ZSphere 对虚拟机操作系统的管理能力。通过相应组件,平台可以读取虚拟机内部信息,并支持配置下发、配置读取、时间同步和高级监控等场景。

VMTools 组成

VMTools 主要包含以下工具和驱动,不同操作系统包含的工具和驱动不同。

操作系统 VMTools 组成 描述
Linux 高级监控 Agent 安装在虚拟机内部的代理,用于获取虚拟机高级监控数据,包括 CPU、内存、硬盘容量。
QEMU Guest Agent (QGA) 实现虚拟机与主机间交互的应用程序,该交互不依赖网络,可实现虚拟机配置读取、下发和监控数据推送等功能。
Note: Linux 操作系统通常默认包含 virtio 驱动和 cloud-init 驱动,因此针对 Linux 的 VMTools 不额外包含这两种工具。若您使用的 Linux 系统不含这两种工具,您可以通过其他方式自行安装。
Windows 监控程序(ZWatch) 默认选中,可按需取消。用于采集虚拟机内部的高级监控数据,包括 CPU、内存、硬盘容量。未安装或移除此组件后,平台无法继续获取由该组件采集的监控数据。
QGA 必装组件。实现虚拟机与主机间交互的应用程序,该交互不依赖网络,可实现虚拟机配置读取、下发和监控数据推送等功能。
VirtIO 驱动 必装组件。一组增强虚拟机性能表现的驱动的集合,包括:
  • SCSI 控制器驱动:用于提高虚拟化环境中虚拟机的磁盘性能。
  • PCI 简易通讯控制器驱动:用于实现虚拟机与底层 KVM 虚拟化通信。
  • PCI 设备驱动:用于实现虚拟机气球内存伸缩功能。
  • 以太网控制器驱动:用于提高虚拟化环境中虚拟机的网络性能。
Cloudbase-Init 默认选中,可按需取消。用于虚拟机首次初始化、导入 User Data 等功能。未安装或移除此组件后,无法使用由该组件提供的功能。
FreeBSD 高级监控 Agent 安装在虚拟机内部的代理,用于获取虚拟机高级监控数据,包括 CPU、内存、硬盘容量。

VMTools 应用

VMTools 的各项功能由对应组件提供。为 Windows 虚拟机选择组件时,请保留所需功能对应的组件;使用 Windows 虚拟机规范时,需安装全部 VMTools 组件。

高级监控
高级监控数据由高级监控 Agent 从虚拟机内部获取,并定期通过 DHCP 服务或 QGA 推送到主机。您可以通过曲线图实时掌握虚拟机各项性能变化趋势,包括 CPU、内存和磁盘容量。
配置下发
通过 VMTools 中的 QGA 将平台上设置的参数下发到虚拟机内部生效,包括虚拟机主机名和网络配置。
  • 主机名:安装最新版 VMTools 后,为运行中的虚拟机修改主机名,新设置的主机名将通过 QGA 直接下发,无需重启虚拟机即可生效。
    Note: 如需通过 QGA 下发主机名,请在修改主机名前安装 VMTools。
  • 网络配置:分布式端口组未开启 DHCP 服务时,平台上设置的 IP 地址、DNS、MTU 等参数需通过 QGA 下发到网卡生效。安装好 VMTools 后,指定的 IP 地址等参数将自动下发生效。
配置读取
通过 VMTools 中的 QGA 自动读取虚拟机内部配置的网卡 IP 地址,读取成功的 IP 地址可在平台展示和管理。
Note:
  • 虚拟机网卡所属的分布式端口组未开启 DHCP,且虚拟机已安装 VMTools,并处于运行中状态时,支持自动读取虚拟机网卡配置信息。
  • 若虚拟机内部已配置 IP 地址,将读取该 IP 并覆盖平台上配置的 IP 地址。
  • 若虚拟机网卡 IP 地址与所在端口组存在重复的 IP 地址,将触发告警提示。

高级监控 Agent

高级监控通过 VMTools 从虚拟机获取性能数据,并以曲线图展示 CPU、内存和磁盘容量等指标。高级监控数据由 VMTools 中的高级监控 Agent 采集和上报。

监控机制

  • 高级监控数据通过 VMTools 中的高级监控 agent 获取,查看高级监控需为虚拟机预先安装 VMTools,具体安装方法请参考。
  • 获取到的监控数据可通过分布式端口组 DHCP 服务或 VMTools 中的 QEMU Guest Agent (QGA) 推送到主机:
    • 如虚拟机默认网络已开启 DHCP 服务,监控数据默认通过 DHCP 服务推送。
    • 虚拟机默认网络未开启 DHCP 服务或 DHCP 服务故障,监控数据将切换由 QGA 推送。虚拟机默认网络开启 DHCP 服务或 DHCP 服务恢复后,将自动切换回 DHCP 服务推送监控数据。
图 1. 高级监控机制


操作高级监控 agent

支持通过以下命令管理高级监控 agent,从而停止、启动、重启、查询或卸载高级监控服务:
  • 停止服务:service zwatch-vm-agent stop
  • 启动服务:service zwatch-vm-agent start
  • 重启服务:service zwatch-vm-agent restart
  • 查询服务状态:service zwatch-vm-agent status
  • 卸载高级监控服务:
    卸载高级监控 agent 后,将不再获取高级监控数据及提供高级监控服务。高级监控 agent 卸载方法区分 Linux 虚拟机与 Windows 虚拟机,方法分别如下:
    • Linux 虚拟机
      1. 使用service zwatch-vm-agent stop命令停止 agent。
      2. 使用rm -f /etc/systemd/system/zwatch-vm-agent.service命令删除 service 配置文件。
      3. 使用rm -rf /usr/local/zstack/zwatch-vm-agent命令删除 agent 安装目录。
    • Windows 虚拟机
      1. 删除注册表相关条目。
        以管理员身份运行 Windows 命令提示符,执行以下命令删除系统中相关键值:
        reg delete HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSDTC /f
        reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC /f
        reg delete HKEY_CLASSES_ROOT\CID /f
      2. 停止并重新安装 msdtc 服务。
        以管理员身份运行 Windows 命令提示符,执行以下命令停止并重新安装 msdtc 服务:
        net stop msdtc
        msdtc -uninstall
        msdtc -install
      3. 重新启动虚拟机。
      4. 卸载 agent。
        以管理员身份运行 Windows 命令提示符,执行以下命令删除 agent:
        msiexec /a "c:\Program Files\GuestTools\qemu-ga.msi" targetdir="c:\Program Files"
        "c:\Program Files\QEMU Guest Agent\Qemu-ga\qemu-ga.exe" -s vss-uninstall

Linux 虚拟机安装 VMTools

安装过程将先加载 VMTools ISO,而后进入虚拟机控制台手动执行安装命令。

开始之前

  • 确保虚拟机处于运行中状态。
  • 确保虚拟机已安装 Linux 命令工具,如:tar、wget、curl。

操作步骤

  1. 在目标虚拟机页面,点击更多操作 > VMTools > 安装VMTools。
  2. 在安装VMTools弹窗中,点击安装并进入下一步。
    加载 VMTools ISO 时,系统将根据以下规则选择光驱:
    • 有空光驱时,系统将自动选择第一顺位的空光驱,加载 VMTools ISO。
    • 无空光驱时,系统将选择光驱 1,自动卸载原有镜像并加载 VMTools ISO。
  3. 点击复制并进入控制台。
    点击后,将一键复制以下命令,并自动进入虚拟机控制台:
    # 创建挂载点目录
    mkdir /mnt/cdrom
    # 挂载 CD-ROM 镜像
    mount /dev/cdrom /mnt/cdrom
    # 安装 VMTools
    cd /mnt/cdrom/
    bash ./zs-tools-install.sh
    # 卸载 CD-ROM 镜像(可选)
    cd ~
    umount /mnt/cdrom
  4. 进入虚拟机控制台,在左侧工具栏中,点击本地命令粘贴工具。
  5. 在粘贴命令弹窗中,粘贴上一步复制的命令,然后点击确定执行命令。

后续操作

如需更新 VMTools 版本,可在目标虚拟机页面,点击更多操作 > VMTools > 重装VMTools。

Windows 虚拟机安装 VMTools

先在平台加载 VMTools ISO,再进入 Windows 虚拟机,通过安装向导选择组件并完成安装。也可使用光驱内的脚本进行静默安装。

开始之前

  • 虚拟机处于运行中状态,且已配置虚拟光驱。
  • 准备具备 Windows 管理员权限的账号,用于登录虚拟机并安装 VMTools。
Note: Windows Server 2008 R2 不支持静默安装 VirtIO 驱动。安装过程中如出现驱动程序发布者或安全确认窗口,请手动信任驱动程序发布者并继续安装。

操作步骤

  1. 在目标虚拟机页面,点击更多操作 > VMTools > 安装 VMTools。
  2. 在安装 VMTools弹窗中,点击安装并进入下一步,加载 VMTools ISO。
    加载 VMTools ISO 时,系统将根据以下规则选择光驱:
    • 有空光驱时,系统将自动选择第一顺位的空光驱,加载 VMTools ISO。
    • 无空光驱时,系统将选择光驱 1,自动卸载原有镜像并加载 VMTools ISO。
  3. 点击确定,打开虚拟机控制台,并使用 Windows 管理员账号登录操作系统。
  4. 在 Windows 中启动安装向导并完成安装。
    1. 打开文件资源管理器,双击 VMTools 光驱,启动安装向导。
    2. 在安装向导中,按需选择组件并安装。
      组件 安装说明
      VirtIO 驱动 必装,无法取消选择。
      QEMU Guest Agent(QGA) 必装,无法取消选择。用于平台与虚拟机内部交互,支持配置下发、配置读取等操作。
      Cloudbase-Init 默认选中,可按需取消。需要使用该组件提供的初始化、User Data 等功能时,请保留此组件。
      监控程序(ZWatch) 默认选中,可按需取消。需要查看虚拟机内部的高级监控数据时,请保留此组件。

      如需禁止平台通过 QGA 在线修改虚拟机密码,可勾选 QGA 下的禁改密码选项。

      Note: 使用 Windows 虚拟机规范时,需安装全部 VMTools 组件。
    3. 安装完成后,根据安装向导提示重启虚拟机,使配置生效。

后续操作

重新安装 VMTools

如需更新 VMTools 版本或调整安装的组件,可在目标虚拟机页面,点击更多操作 > VMTools > 重装 VMTools,重新运行安装向导。选择此前未安装的可选组件可补装该组件;取消选择已安装的可选组件会卸载该组件。

移除 Cloudbase-Init 后,无法使用该组件提供的初始化、User Data 等功能;移除 ZWatch 后,平台不再获取由该组件采集的虚拟机内部监控数据。

静默安装

加载 VMTools ISO 后,也可在 Windows 中以管理员身份打开命令提示符,运行光驱内的setup.bat,安装全部 VMTools 组件。安装前请安排好虚拟机重启时间。

以下以光驱盘符为E:为例,请替换为实际盘符:

E:\setup.bat

VMTools 适配 OS 列表

不同操作系统对 VMTools 的适配程度不同,下表为各操作系统与 VMTools 的适配情况。

Note: 表格中,是表示支持通过 VMTools 为虚拟机安装此组件,并正常使用相关功能;否仅表示不支持通过 VMTools 为虚拟机安装此组件,或安装后可能无法使用依赖该组件的功能。并非表示不支持此组件,您仍可通过其他方式安装此组件。

Linux 操作系统

操作系统 版本 高级监控 agent QGA
CentOS CentOS 6.5 64 位 否 是
CentOS 6.8 64 位 是 是
CentOS 6.9 64 位 是 是
CentOS 6.10 64 位 是 否
CentOS 7.2 64 位 是 是
CentOS 7.3 64 位 是 是
CentOS 7.4 64 位 是 是
CentOS 7.5 64 位 是 是
CentOS 7.6 64 位 是 是
CentOS 7.9 64 位 是 是
CentOS 8.0 64 位 是 是
CentOS 9 是 是
CentOS 10 是 是
RHEL Redhat Enterprise Linux Server 6.9 64 位 是 否
Redhat Enterprise Linux Server 7.0 64 位 是 否
Redhat Enterprise Linux Server 7.1 64 位 是 否
Redhat Enterprise Linux Server 7.2 64 位 是 否
Redhat Enterprise Linux Server 7.3 64 位 是 否
Redhat Enterprise Linux Server 7.4 64 位 是 是
Redhat Enterprise Linux Server 7.5 64 位 是 是
Redhat Enterprise Linux Server 7.6 64 位 是 是
Red Hat Enterprise Linux 8 是 是
Red Hat Enterprise Linux 9 是 是
Red Hat Enterprise Linux 10 是 是
Fedora Fedora 30 64 位 是 是
Fedora 31 64 位 是 是
Fedora 42 是 是
Debian Debian 9.9 64 位 是 是
Debian 10.13 64 位 是 是
Debian 11.9 64 位 是 是
Debian 12.5 64 位 是 是
Debian 13 是 是
Ubuntu Ubuntu 10 是 是
Ubuntu 14.04 64 位 是 是
Ubuntu 16.04 64 位 是 是
Ubuntu 16.10 64 位 是 是
Ubuntu 18.04 64 位 是 是
Ubuntu 20.04 64 位 是 是
Ubuntu 22.04 64 位 是 是
Ubuntu 24.04 64 位 是 是
银河麒麟 Kylin V4.0.2 64 位 是 否
Kylin V10 SP1(0518) 64 位 是 是
Kylin V10 SP2 64 位 是 是
Kylin V10 SP3 64 位 是 是
Kylin V11 是 是
中标麒麟 NeoKylin V7.0 64 位 是 是
NeoKylin V7update6 64 位 是 是
openSUSE openSUSE 11 是 是
openSUSE 12 是 是
openSUSE Leap 15.0 64 位 是 是
SLES SUSE Linux Enterprise Server 11 64 位 是 是
SUSE Linux Enterprise Server 12 64 位 是 是
SUSE Linux Enterprise Server 15 64 位 是 是
SLED SUSE Linux Enterprise Desktop 11 是 是
SUSE Linux Enterprise Desktop 12 64 位 是 是
SUSE Linux Enterprise Desktop 15 64 位 是 是
UOS UOS V20 1050e 是 是
Oracle Linux Oracle Linux 7.9 是 是
Oracle Linux 8 是 是
Oracle Linux 9 是 是
Oracle Linux 10 是 是
openEuler openEuler 20 64 位 是 是
openEuler 22 64 位 是 是
openEuler 24 是 是
AlmaLinux AlmaLinux 9.3 64 位 是 是
AlmaLinux 10 是 是
龙蜥 Anolis OS Anolis OS 7 是 是
Anolis OS 8 是 是
Rocky Linux Rocky Linux 8 是 是
Rocky Linux 9 是 是
Rocky Linux 10 是 是
Amazon Linux Amazon Linux 2023 是 是

Windows 操作系统

操作系统 版本 高级监控 agent QGA Virtio 驱动 Cloudbase-init
Windows Windows 7 是 是 是 是
Windows 8 是 是 是 是
Windows 10 是 是 是 是
Windows 11 是 是 是 是
Windows Server 2008 R2 64 位 是 是 是 否
Windows Server 2012 64 位 是 是 是 是
Windows Server 2012 R2 是 是 是 是
Windows Server 2016 64 位 是 是 是 是
Windows Server 2019 64 位 是 是 是 是
Windows Server 2022 64 位 是 是 是 是
Windows Server 2025 64 位 是 是 是 是
Note: Windows Server 2008 R2 支持通过 VMTools 安装 VirtIO 驱动,但不支持静默安装。安装过程中如出现驱动程序发布者或安全确认窗口,请手动信任驱动程序发布者并继续安装。

FreeBSD 操作系统

操作系统 版本 高级监控 agent
FreeBSD FreeBSD 11 64 位 是
FreeBSD 12 64 位 是
FreeBSD 13 64 位 是