简介
qemu-guest-agent(简称 QEMU Guest Agent,或 qga)是运行在虚拟机(Guest)内部的一个轻量级守护进程,用于在虚拟机和宿主机(Host)之间建立通信通道,从而实现更精细的管理和控制。
在 Proxmox VE(PVE)环境中,qemu-guest-agent 的作用尤为重要。以下是它的核心功能和用途:
基本原理
- QEMU Guest Agent 通过虚拟机内部的 virtio-serial 设备与宿主机上的 QEMU 进程通信。
- 宿主机可以通过这个通道向虚拟机发送命令,虚拟机也可以返回状态信息。
在 PVE 中的主要用途
-
IP 地址信息:PVE Web 界面可以显示虚拟机内部的 IP 地址(包括 IPv4/IPv6),而不仅限于网络层面的 MAC 地址。
-
文件系统冻结/解冻:在创建快照前,可以通知 Guest 冻结文件系统(类似
fsfreeze),确保快照数据一致性(尤其对数据库等应用很重要)。 -
关机/重启控制:通过
guest-shutdown命令可以优雅地关闭或重启虚拟机(比强制断电更安全)。 -
时间同步信息:可获取 Guest 系统时间,辅助调试。
-
用户登录信息:可查询当前登录的用户(部分系统支持)。
-
当启用
qemu-guest-agent且配置了“冻结文件系统”选项时,PVE 在创建快照或备份前会自动调用guest-fsfreeze-freeze,暂停文件系统写入,确保数据一致性,备份完成后自动解冻。
安装
Debian/Ubuntu
|
|
OpenWrt
|
|
如果还是没有启动,在 PVE 虚拟机管理界面“Options”选择“QEMU Guesst Agent”,设置为启用
群晖
在套件中心 - 设置 - 套件来源中,添加「矿神 SPK」源,地址分别是:
DSM6:https://spk.imnks.com/,还需要在「常规」-「信任层级」中选中「任何发行者」
DSM7:https://spk7.imnks.com/
在套件中心中搜索「QEMU Guest Agent」,并安装,安装后不要启动。
安装后 SSH 按照说明运行以下命令,然后启动套件。
|
|
在 PVE 的虚拟机设置中,为 DMS 新增一个串口编号为 0 的串口设备,否则可能检测不到 QEMU Guest Agent。