安装和使用 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 驱动 一组增强虚拟机性能表现的驱动的集合,包括:
  • SCSI 控制器驱动:用于提高虚拟化环境中虚拟机的磁盘性能。
  • PCI 简易通讯控制器驱动:用于实现虚拟机与底层 KVM 虚拟化通信。
  • PCI 设备驱动:用于实现虚拟机气球内存伸缩功能。
  • 以太网控制器驱动:用于提高虚拟化环境中虚拟机的网络性能。
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 自动读取虚拟机内部配置的网卡 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 命令工具,如:tarwgetcurl

操作步骤

  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,而后进入虚拟机控制台根据提示步骤安装 VMTools。

前提条件

确保虚拟机处于运行中状态。

操作步骤

  1. 在目标虚拟机页面,点击更多操作 > VMTools > 安装VMTools
  2. 安装VMTools弹窗中,点击安装并进入下一步
    加载 VMTools ISO 时,系统将根据以下规则选择光驱:
    • 有空光驱时,系统将自动选择第一顺位的空光驱,加载 VMTools ISO。
    • 无空光驱时,系统将选择光驱 1,自动卸载原有镜像并加载 VMTools ISO。
  3. 点击进入控制台
  4. 进入虚拟机控制台,按照提示步骤安装 VMTools。
    1. 加载 VMTools 镜像:点击 VMTools 安装提示中的立即安装按钮,加载 VMTools 镜像到虚拟光驱。
    2. 安装 VMTools:运行 VMTools 安装程序,依次安装 VMTools、常用工具和 VirtIO 驱动。
    3. 完成安装并重启虚拟机:安装完成后,重启虚拟机使配置生效。
    Note: Windows Server 2008 R2 不支持静默安装 VirtIO 驱动。安装过程中如出现驱动程序发布者或安全确认窗口,请手动信任驱动程序发布者并继续安装。

后续操作

如需更新 VMTools 版本,可在目标虚拟机页面,点击更多操作 > VMTools > 重装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 位