安装和使用 VMTools
VMTools 是一组安装在虚拟机内部的驱动和工具,用于增强 ZSphere 对虚拟机操作系统的管理能力。安装 VMTools 后,平台可以读取虚拟机内部信息,并支持配置下发、配置读取、时间同步和高级监控等场景。
VMTools 组成
VMTools 主要包含以下工具和驱动,不同操作系统包含的工具和驱动不同。
| 操作系统 | VMTools 组成 | 描述 |
|---|---|---|
| Linux | 高级监控 Agent | 安装在虚拟机内部的代理,用于获取虚拟机高级监控数据,包括 CPU、内存、硬盘容量。 |
| QEMU Guest Agent (QGA) | 实现虚拟机与主机间交互的应用程序,该交互不依赖网络,可实现虚拟机配置读取、下发和监控数据推送等功能。 Note: Linux 操作系统通常默认包含 virtio 驱动和 cloud-init 驱动,因此针对 Linux 的 VMTools 不额外包含这两种工具。若您使用的 Linux 系统不含这两种工具,您可以通过其他方式自行安装。 |
|
| Windows | 高级监控 Agent | 安装在虚拟机内部的代理,用于获取虚拟机高级监控数据,包括 CPU、内存、硬盘容量。 |
| QGA | 实现虚拟机与主机间交互的应用程序,该交互不依赖网络,可实现虚拟机配置读取、下发和监控数据推送等功能。 | |
| Virtio 驱动 | 一组增强虚拟机性能表现的驱动的集合,包括:
|
|
| Cloudbase-init | 用于实现虚拟机导入 User Data 等定制化功能。 | |
| FreeBSD | 高级监控 Agent | 安装在虚拟机内部的代理,用于获取虚拟机高级监控数据,包括 CPU、内存、硬盘容量。 |
VMTools 应用
为虚拟机安装 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
支持通过以下命令管理高级监控 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,而后进入虚拟机控制台根据提示步骤安装 VMTools。
前提条件
确保虚拟机处于运行中状态。操作步骤
- 在目标虚拟机页面,点击。
-
在安装VMTools弹窗中,点击安装并进入下一步。
加载 VMTools ISO 时,系统将根据以下规则选择光驱:
- 有空光驱时,系统将自动选择第一顺位的空光驱,加载 VMTools ISO。
- 无空光驱时,系统将选择光驱 1,自动卸载原有镜像并加载 VMTools ISO。
- 点击进入控制台。
-
进入虚拟机控制台,按照提示步骤安装 VMTools。
- 加载 VMTools 镜像:点击 VMTools 安装提示中的立即安装按钮,加载 VMTools 镜像到虚拟光驱。
- 安装 VMTools:运行 VMTools 安装程序,依次安装 VMTools、常用工具和 VirtIO 驱动。
- 完成安装并重启虚拟机:安装完成后,重启虚拟机使配置生效。
Note: Windows Server 2008 R2 不支持静默安装 VirtIO 驱动。安装过程中如出现驱动程序发布者或安全确认窗口,请手动信任驱动程序发布者并继续安装。
后续操作
如需更新 VMTools 版本,可在目标虚拟机页面,点击。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 位 | 是 | 是 | |
| 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 位 | 是 | 是 | |
| Fedora | Fedora 30 64 位 | 是 | 是 |
| Fedora 31 64 位 | 是 | 是 | |
| Debian | Debian 9.9 64 位 | 是 | 是 |
| Debian 10.13 64 位 | 是 | 是 | |
| Debian 11.9 64 位 | 是 | 是 | |
| Debian 12.5 64 位 | 是 | 是 | |
| Ubuntu | 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 位 | 是 | 是 | |
| 中标麒麟 | NeoKylin V7.0 64 位 | 是 | 是 |
| NeoKylin V7update6 64 位 | 是 | 是 | |
| OpenSUSE | OpenSUSE Leap 15.0 64 位 | 是 | 是 |
| SLES | SUSE Linux Enterprise Server 11 64 位 | 是 | 是 |
| SUSE Linux Enterprise Server 12 64 位 | 是 | 是 | |
| SUSE Linux Enterprise Server 15 64 位 | 是 | 是 | |
| SUSE Linux Enterprise Desktop 12 64 位 | 是 | 是 | |
| SUSE Linux Enterprise Desktop 15 64 位 | 是 | 是 | |
| UOS | UOS V20 1050e | 是 | 是 |
| Oracle Linux | Oracle Linux 7.9 | 是 | 是 |
| OpenEuler | OpenEuler 20 64 位 | 是 | 是 |
| OpenEuler 22 64 位 | 是 | 是 | |
| Alma Linux | Alma Linux 9.3 64 位 | 是 | 是 |
Windows 操作系统
| 操作系统 | 版本 | 高级监控 agent | QGA | Virtio 驱动 | Cloudbase-init |
|---|---|---|---|---|---|
| Windows | Windows Server 2008 R2 64 位 | 是 | 是 | 是 | 否 |
| Windows Server 2012 64 位 | 是 | 是 | 是 | 是 | |
| 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 位 | 是 |
