找回密码
 registerss
搜索
查看: 2544|回复: 0

[游戏教程] Proxmox VE 8.2.2(PVE) 各系统配置 QEMU Guest Agent 解决 PVE / 群晖虚拟机无法关机问题

[复制链接]
  • 打卡等级:本地老炮
  • 打卡总天数:608
  • 打卡月天数:6
  • 打卡总奖励:605
  • 最近打卡:2026-10-11 06:16:11
Waylee 发表于 2024-9-1 11:56 | 显示全部楼层 |阅读模式
介绍在多个操作系统(包括 Linux 各发行版、Windows、OpenWrt 和群晖 DSM)上安装和配置 QEMU Guest Agent 的方法,解决 PVE 和群晖 VMM 虚拟机无法关机等问题。
在 PVE 安装 Windows Step By Step 中提到,为了让 Windows 能够响应 PVE 的关机等事件,需要安装 QEMU Guest Agent,本文给出常见系统的 QEMU Guest Agent 安装方式供参考。
前言
在虚拟化平台中,都有一个客户机 Agent 用于与宿主机通信,向宿主机传递关于虚拟机的信息,包括用户、文件系统以及网络信息等。例如 VMware 平台上使用的是 VMware Tools。Proxmox VE 是基于 KVM(Kernel-based Virtual Machine)的虚拟化平台,使用的是 qemu-guest-agent,因此除了 PVE,其他一些基于 KVM 的平台,如群晖的 Virtual Machine Manager (VMM)、 Red Hat Virtualization 和 OpenStack,也可以参考本文在客户机安装 qemu-guest-agent。
根据 PVE 的文档,qemu-guest-agent 是一个安装在客户机中的辅助守护程序,用于在宿主机和客户机之间交换信息,并在客户机中执行命令。
在 Proxmox VE 中,qemu-guest-agent 主要用于三个方面:
  • 用于正确地关闭客户机,而不是依赖于 ACPI 命令或 Windows 策略。
  • 在进行备份 / 快照时冻结客户机的文件系统(在 Windows 上,使用卷影复制服务 VSS)。如果启用了客户机代理并且它正在运行,它会调用 guest-fsfreeze-freeze 和 guest-fsfreeze-thaw 来提高一致性。
  • 在客户机(虚拟机)暂停后恢复(例如在快照之后)的阶段,它会立即使用 qemu-guest-agent 与超级管理程序同步时间(作为第一步)。
Linux
For Arch Linux
  1. pacman -S qemu-guest-agent
  2. systemctl enable --now qemu-guest-agent
复制代码
For Debian/Ubuntu
  1. apt-get install qemu-guest-agent
  2. systemctl enable --now qemu-guest-agent
复制代码
For Redhat
  1. yum install qemu-guest-agent
  2. systemctl enable --now qemu-guest-agent
复制代码
Windows
访问网站 https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/ 下载 Virtio 驱动,例如 virtio-win-0.1.240.iso,上传到 Windows 虚拟机。打开镜像文件,在 guest-agent 文件夹中,安装「qemu-ga-x86_64.exe」,然后重启系统。

OpenWrt
登录 SSH 或者 WebShell,使用以下命令更新并安装 QEMU guest-agent,并重启系统。
  1. opkg update
  2. opkg install qemu-ga
  3. reboot
复制代码
如果提示找不到 qemu-ga,需要更换软件源为官方源,可以按以下步骤操作:
在 WEB 后台,「系统」-「软件包」-「发行版软件源」里,替换域名为官方域名或者镜像,然后再安装。
官方软件源类似如下,注意版本和架构不同,不要直接复制,只替换域名即可。PS:此文撰写时腾讯云镜像也是可以的。
  1. src/gz openwrt_core https://downloads.openwrt.org/snapshots/targets/x86/64/packages
  2. src/gz openwrt_base https://downloads.openwrt.org/snapshots/packages/x86_64/base
  3. src/gz openwrt_luci https://downloads.openwrt.org/releases/18.06.9/packages/x86_64/luci
  4. src/gz openwrt_packages https://downloads.openwrt.org/snapshots/packages/x86_64/packages
  5. src/gz openwrt_routing https://downloads.openwrt.org/snapshots/packages/x86_64/routing
  6. src/gz openwrt_telephony https://downloads.openwrt.org/snapshots/packages/x86_64/telephony
复制代码
群晖 Synology DSM
群晖部分参考:https://imnks.com/9522.html

1.在套件中心 - 设置 - 套件来源中,添加「矿神 SPK」源,地址分别是:

如果提示无效的源,需要在 SSH 中,使用如下命令更新 CA 根证书,更新后还是无效就重启系统再添加。
  1. sudo mv /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ca-certificates.crt.bak && sudo curl -Lko /etc/ssl/certs/ca-certificates.crt https://curl.se/ca/cacert.pem
复制代码
2.在套件中心中搜索「QEMU Guest Agent」,并安装,安装后不要启动。 ![CleanShot 2023-12-11 at 00.31.51@2x](./ 各系统配置 QEMU Guest Agent.assets/CleanShot 2023-12-11 at 00.31.51@2x.webp)
3.安装后 SSH 按照说明运行以下命令,然后启动套件。
  1. sudo sed -i 's/package/root/g' /var/packages/qemu-ga/conf/privilege
复制代码
4.在 PVE 的虚拟机设置中,为 DMS 新增一个串口编号为 0 的串口设备,否则可能检测不到 QEMU Guest Agent。

常见问题解析
當你在 Ubuntu 使用指令 apt install qemu-guest-agent 安裝完 qemu-gesut-agent 後,你可能會想嘗試使用指令 systemctl start qemu-guest-agent 啟動。但你可能會看到錯誤訊息或是甚至是卡住無法執行,原因是因為你可能沒有開啟 Proxmox VM 的選項設定。

也可能是你没有添加串行设备:


查看运行状态:
  1. systemctl status qemu-guest-agent.service
复制代码
当查询结果显示 Active 时,则代表插件服务为运行状态。否则,请执行以下命令,设置其为运行状态:

  1. systemctl restart qemu-guest-agent.service
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?registerss

×
您需要登录后才可以回帖 登录 | registerss

本版积分规则

QQ|手机版|雪舞知识库 ( 浙ICP备15015590号-1 | 萌ICP备20232229号|浙公网安备33048102000118号 )|天天打卡

GMT+8, 2026-10-15 08:35 , Processed in 0.069595 second(s), 31 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表