虚拟机VMTools篇
虚拟机 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、内存、磁盘容量。本节主要介绍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虚拟机
- 使用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 驱动。
- 完成安装并重启虚拟机:安装完成后,重启虚拟机使配置生效。
后续操作
如需更新 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位 | 是 | 是 | 是 | 是 |
FreeBSD 操作系统
| 操作系统 | 版本 | 高级监控 agent |
|---|---|---|
| FreeBSD | FreeBSD 11 64位 | 是 |
| FreeBSD 12 64位 | 是 | |
| FreeBSD 13 64位 | 是 |
