虚机增强工具做什么
信创虚机跑在 KVM、VMware 或国产超融合平台之上时,宿主机需要 guest 内部的代理程序配合,才能完成优雅关机、快照静默、文件系统冻结和 IP 地址上报。KVM 与超融合系用 qemu-guest-agent,VMware 系用 open-vm-tools,两者都是发行版仓库里的标准包,不需要额外授权。
不装会有什么问题
缺少代理程序时,管理平台发出的关机请求只能退化为强制断电,正在写盘的文件系统容易产生不一致;做存储快照时没有冻结文件系统,快照可能捕捉到写了一半的状态,用它恢复出来的数据库往往无法直接启动。平台侧的虚机 IP、主机名也会长期显示为空,运维查问题要多绕一层登录控制台。
基本信息
| KVM/超融合 | qemu-guest-agent,服务名 qemu-guest-agent |
|---|---|
| VMware | open-vm-tools,服务名 vmtoolsd |
| 权限要求 | root,需访问 /dev/virtio-ports 等设备 |
| 生效前提 | 平台侧已为该虚机启用对应通道(如 virtio-serial 端口) |
典型使用场景
- 虚拟化管理台点关机时虚机需要优雅落盘,而不是被强制断电
- 做存储快照前要求 guest 冻结文件系统,保证数据一致
- 平台需要读取虚机内网卡地址做拓扑展示与告警
- 在线迁移或克隆前后需要 guest 配合回收内存、更新机器标识
- 等保核查要求虚机具备统一的关机与快照接口能力
安装与启用(rpm 系示例)
安装与启用(rpm 系示例)
# 按虚拟化平台二选一或都装
dnf install -y qemu-guest-agent open-vm-tools
systemctl enable --now qemu-guest-agent 2>/dev/null
systemctl enable --now vmtoolsd 2>/dev/null
systemctl status qemu-guest-agent --no-pager | head -5
systemctl is-enabled qemu-guest-agent # 确认开机自启已开启
ls /dev/virtio-ports/ 2>/dev/null # KVM 下应能看到 vport 设备安装后要核对的三件事
| 核对项 | 期望结果 | 异常表现 |
|---|---|---|
| 服务状态 | active (running) 且 enabled | 平台侧关机仍走强制断电 |
| 通道设备 | KVM 下存在 /dev/virtio-ports 下的 agent 端口 | agent 启动即退出,日志报通道不存在 |
| 平台侧识别 | 管理台显示虚机 IP 与代理正常 | 地址显示为空,快照无法静默 |
| 开机自启 | systemctl is-enabled 返回 enabled | 重启后需要人工再拉一次服务 |
从模板克隆出来的虚机建议重新生成机器标识与主机名,否则多台虚机共用同一标识,会造成平台侧识别与网卡命名混乱,也会让监控数据混在一起。