安装和使用 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 驱动 | 必装组件。一组增强虚拟机性能表现的驱动的集合,包括:
|
|
| 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 直接下发,无需重启虚拟机即可生效。
- 配置读取
- 通过 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 服务推送监控数据。

操作高级监控 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 虚拟机
- 使用service zwatch-vm-agent stop命令停止 agent。
- 使用rm -f /etc/systemd/system/zwatch-vm-agent.service命令删除 service 配置文件。
- 使用rm -rf /usr/local/zstack/zwatch-vm-agent命令删除 agent 安装目录。
- Windows 虚拟机
- 删除注册表相关条目。以管理员身份运行 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 - 停止并重新安装 msdtc 服务。以管理员身份运行 Windows 命令提示符,执行以下命令停止并重新安装 msdtc 服务:
net stop msdtc msdtc -uninstall msdtc -install - 重新启动虚拟机。
- 卸载 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 虚拟机
Linux 虚拟机安装 VMTools
安装过程将先加载 VMTools ISO,而后进入虚拟机控制台手动执行安装命令。
开始之前
- 确保虚拟机处于运行中状态。
- 确保虚拟机已安装 Linux
命令工具,如:
tar、wget、curl。
操作步骤
- 在目标虚拟机页面,点击。
-
在安装VMTools弹窗中,点击安装并进入下一步。
加载 VMTools ISO 时,系统将根据以下规则选择光驱:
- 有空光驱时,系统将自动选择第一顺位的空光驱,加载 VMTools ISO。
- 无空光驱时,系统将选择光驱 1,自动卸载原有镜像并加载 VMTools ISO。
-
点击复制并进入控制台。
点击后,将一键复制以下命令,并自动进入虚拟机控制台:
# 创建挂载点目录 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 - 进入虚拟机控制台,在左侧工具栏中,点击本地命令粘贴工具。
- 在粘贴命令弹窗中,粘贴上一步复制的命令,然后点击确定执行命令。
后续操作
如需更新 VMTools 版本,可在目标虚拟机页面,点击。Windows 虚拟机安装 VMTools
先在平台加载 VMTools ISO,再进入 Windows 虚拟机,通过安装向导选择组件并完成安装。也可使用光驱内的脚本进行静默安装。
开始之前
- 虚拟机处于运行中状态,且已配置虚拟光驱。
- 准备具备 Windows 管理员权限的账号,用于登录虚拟机并安装 VMTools。
操作步骤
- 在目标虚拟机页面,点击。
-
在安装 VMTools弹窗中,点击安装并进入下一步,加载 VMTools ISO。
加载 VMTools ISO 时,系统将根据以下规则选择光驱:
- 有空光驱时,系统将自动选择第一顺位的空光驱,加载 VMTools ISO。
- 无空光驱时,系统将选择光驱 1,自动卸载原有镜像并加载 VMTools ISO。
- 点击确定,打开虚拟机控制台,并使用 Windows 管理员账号登录操作系统。
-
在 Windows 中启动安装向导并完成安装。
- 打开文件资源管理器,双击 VMTools 光驱,启动安装向导。
- 在安装向导中,按需选择组件并安装。
组件 安装说明 VirtIO 驱动 必装,无法取消选择。 QEMU Guest Agent(QGA) 必装,无法取消选择。用于平台与虚拟机内部交互,支持配置下发、配置读取等操作。 Cloudbase-Init 默认选中,可按需取消。需要使用该组件提供的初始化、User Data 等功能时,请保留此组件。 监控程序(ZWatch) 默认选中,可按需取消。需要查看虚拟机内部的高级监控数据时,请保留此组件。 如需禁止平台通过 QGA 在线修改虚拟机密码,可勾选 QGA 下的禁改密码选项。
Note: 使用 Windows 虚拟机规范时,需安装全部 VMTools 组件。 - 安装完成后,根据安装向导提示重启虚拟机,使配置生效。
后续操作
重新安装 VMTools
如需更新 VMTools 版本或调整安装的组件,可在目标虚拟机页面,点击,重新运行安装向导。选择此前未安装的可选组件可补装该组件;取消选择已安装的可选组件会卸载该组件。
移除 Cloudbase-Init 后,无法使用该组件提供的初始化、User Data 等功能;移除 ZWatch 后,平台不再获取由该组件采集的虚拟机内部监控数据。
静默安装
加载 VMTools ISO 后,也可在 Windows 中以管理员身份打开命令提示符,运行光驱内的setup.bat,安装全部 VMTools 组件。安装前请安排好虚拟机重启时间。
以下以光驱盘符为E:为例,请替换为实际盘符:
E:\setup.bat
VMTools 适配 OS 列表
不同操作系统对 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 位 | 是 | 是 | 是 | 是 |
FreeBSD 操作系统
| 操作系统 | 版本 | 高级监控 agent |
|---|---|---|
| FreeBSD | FreeBSD 11 64 位 | 是 |
| FreeBSD 12 64 位 | 是 | |
| FreeBSD 13 64 位 | 是 |
