Proxmox QEMU 客户机代理的功能与使用指南
2026-04-27
对于任何虚拟化平台,都存在一种与宿主机通信的客户端软件,例如 VMware 的 VMtools。在 KVM 环境下,该客户端为 qemu-guest-agent。由于 Proxmox VE(PVE)基于 KVM 构建,因此其客户端同样为 qemu-guest-agent。
什么是 QEMU 客户机代理?
QEMU 客户机代理是一个运行在客户机操作系统内部的守护进程,为主机提供多种服务。这些服务有助于主机与客户机操作系统之间进行通信,从而实现对虚拟机更佳的管理和控制。该代理特别适用于那些需要与客户机操作系统交互、但又无需用户直接干预的任务。
QEMU 客户端代理的关键特性
1. 改进的虚拟机管理
QEMU 客户机代理显著增强了虚拟机的管理能力。它允许宿主机在客户机操作系统内执行命令,从而实现一系列管理任务,例如文件系统冻结与解冻、获取用户登录信息以及执行脚本。
2. 高效的备份与恢复操作
QEMU客户机代理的突出特性之一是提升备份与恢复流程的效率。通过使用该代理,Proxmox可在启动备份前确保客户机文件系统处于一致状态,从而防止数据损坏,并保障恢复操作的可靠性。
3. 准确的资源使用报告
QEMU 客户机代理可提供虚拟机内部资源使用情况的精确数据,包括 CPU 和内存利用率,这对于希望优化资源配置、确保虚拟化环境中工作负载均衡分配的管理员而言极具价值。
4. 增强的网络功能
在虚拟化环境中,网络配置可能十分复杂。QEMU 客户机代理通过允许宿主机动态修改客户机操作系统内的网络设置,简化了网络管理。这一功能在虚拟机需要适应不断变化的网络环境或需求时尤为有用。
QEMU 代理的安装与配置
要充分利用 QEMU 客户机代理的功能,必须首先正确安装并配置该代理。以下是基本步骤概览:
安装 QEMU 客户端代理软件包:
适用于基于 Debian 的系统:
apt install qemu-guest-agent -y
适用于基于 Red Hat 的系统:
yum install qemu-guest-agent -y
适用于 Windows:
使用 virtio 驱动光盘直接安装。如果是 Windows 7 或 Windows XP,您需要手动加载光盘,在其中找到 agent 目录,并选择 32 位或 64 位版本。
安装完成后,在虚拟机选项中勾选“QEMU 客户端代理”
如何使用 QEMU 客户端代理?
对于已安装代理的虚拟机,其网卡信息将在概览界面中显示。
如需更全面的使用方法,您需要使用 qm agent 命令。语法如下
qm agent <vmid> <cmd>
此处 vmid 是虚拟机的 ID,cmd 是命令,我将在此列出。
fsfreeze-freeze
fsfreeze-status
fsfreeze-thaw
# 查看 SSD——TRIM
fstrim
# 查看磁盘信息
get-fsinfo
# 查看主机名
get-host-name
# 查看内存块信息
get-memory-block-info
# 查看您的记忆
get-memory-blocks
# 查看系统信息
get-osinfo
# 查看时间
get-time
# 查看时区
get-timezone
# 用户
get-users
# 查看 CPU 数量
get-vcpus
# 查看支持的命令
info
# 查看网络
network-get-interfaces
# 未知
ping
# 关机
shutdown
# Hibernate,保存到硬盘
suspend-disk
# Hibernate,混合模式
suspend-hybrid
# 暂停/休眠内存
suspend-ram
上述所有命令均支持 Tab 键自动补全。
例如
# 查看虚拟机的网卡信息
qm agent 101 network-get-interfaces
# 查看主机名
root@pve:~# qm agent 105 get-host-name
QM 客户端命令集
QM 代理即 QM 客户端。主要有四条 QM 客户端命令:
qm guest cmd
qm guest exec
qm guest exec-status
qm guest passwd
1. qm guset cmd
此项目等同于qm代理
2. qm 客户端执行(创建进程)
此项为传递给虚拟机的命令
qm guest exec <vmid> <vmcmd> --<option>
<vmid>=vmid
<vmcmd>=虚拟机中的命令,例如 ip link /docker ps 等。该命令不能包含“-”,因为一旦包含“-”,系统会将其识别为后续的 <option>。
<option>=一项特殊操作,包含3个选项
pass-stdin=<0/1> 是否将标准输入(stdin)传递给虚拟机内正在执行的命令
同步模式=<0/1>:若为 0,则返回进程 ID;若为 1,则以 JSON 格式返回输出结果
timeout=〈整数〉 超时持续时间
举几个例子
检查 usr 目录
qm guest exec 108 ls /usr
检查 nginx 是否正在运行
qm guest exec 108 ps aux|grep nginx
返回一堆内容表示它正在运行,如果不运行则不返回任何内容。
3. qm 客户端执行状态
使用方法如下
qm guest exec-status <vmid> <pid>
此项目可查看虚拟机的进程 PID 状态。
请注意,“qm guest exec-status”命令需与“qm guest exec”命令配合使用,单独使用无效。
4. QM访客密码(重置密码)
此项目非常有用,其语法如下:
qm guest passwd <vmid> <username> [OPTIONS]
[选项] 仅有一个——crypted=<0/1>,用于指定是否对密码进行加密。默认值为 0。
示例
#直接更改密码
qm guest passwd 108 root
#适用于更改 Windows 操作系统密码
qm guest passwd 108 administrator
至于以下的 --crypted= 参数,通常无需添加,因为密码本身已是加密状态。
如何高效保护 Proxmox 虚拟机?
Vinchin 备份与恢复 是一款功能强大的备份与灾难恢复解决方案,支持多种虚拟化平台,包括 Proxmox、VMware、Hyper-V、XenServer、Red Hat Virtualization、XCP-ng 和 Oracle OLVM。它具备自动、无需代理的局域网(LAN)及无局域网(LAN-Free)备份、异地副本、高效数据缩减以及云归档功能,严格遵循“3-2-1黄金备份规则”,以确保数据的安全性与完整性。恢复方面,它提供即时虚拟机恢复功能,将恢复时间目标(RTO)缩短至15秒,并支持文件级细粒度还原。通过增强的数据加密与防勒索软件保护功能,保障Proxmox VE虚拟机备份的安全性。增强型数据加密与防勒索软件保护功能,可保障 Proxmox VE 虚拟机备份的安全。此外,它还支持跨十余种虚拟化平台的虚拟机迁移,简化 Proxmox 与其他系统之间的数据传输。用户友好的网页控制台无需人工干预,即可简化备份管理和虚拟机作业创建。
只需 4 个步骤,即可备份 Proxmox VE 虚拟机:
1. 选择备份对象。

2. 选择备份目标位置。

3. 选择备份策略。

4. 审核并提交该任务。

Vinchin 备份与恢复软件,已获得全球数千家企业的信赖,现提供为期15天的全功能试用版。 分享您具体的 Proxmox VE 环境需求,我们将为您提供一套可无缝集成至您 IT 基础设施的定制化解决方案。
下载免费试用版
适用于多种数据备份
* 15天全功能免费安全下载
Proxmox QEMU 客户端代理常见问题解答
1. 问:如何检查是否已安装 QEMU 客户端代理?
A:要检查 QEMU 客户机代理是否已安装,请登录虚拟机并运行命令“systemctl status qemu-guest-agent”。如果已安装,您将看到该服务的状态;否则,系统会返回错误提示,表明该服务未找到。
2. 问:Proxmox VE 与 QEMU 有何区别?
A:Proxmox VE 是一套完整的开源服务器虚拟化管理解决方案,集成了 KVM 虚拟机监控程序和 LXC 容器,提供基于 Web 的界面,用于管理虚拟机、容器、存储和网络。而 QEMU 是一种通用型开源机器模拟器与虚拟化工具,可在某台机器上运行另一台机器的操作系统和程序,常与 KVM 配合使用,为 Proxmox VE 提供虚拟化能力。
结论
Proxmox QEMU 客户端代理是管理员提升虚拟化环境运行效率与功能性的关键工具。通过优化虚拟机管理、简化备份流程、提供精准的资源使用报告以及增强网络功能,QEMU 客户端代理在现代虚拟化解决方案中发挥着核心作用。