跳转到内容跳转到页面导航:上一页 [访问键 p]/下一页 [访问键 n]
适用于 openSUSE Leap 15.5

19 QEMU 客户代理 编辑源文件

QEMU 客户代理 (GA) 在 VM 客户机内部运行,允许 VM 主机服务器通过 libvirt 在客户机操作系统中运行命令。它支持许多功能——例如,获取客户机文件系统的详细信息、冻结和解冻文件系统,或暂停或重新启动客户机。

QEMU GA 包含在 qemu-guest-agent 包中,并且默认情况下在 KVM 虚拟机上安装、配置和激活。

QEMU GA 安装在 Xen 虚拟机中,但默认情况下未激活。虽然可以使用 QEMU GA 与 Xen 虚拟机配合使用,但它与 KVM 虚拟机描述的 libvirt 没有集成。要在 Xen 上使用 QEMU GA,必须将通道设备添加到 VM 客户机配置。通道设备包括 VM 主机服务器上的 Unix 域套接字路径,用于与 QEMU GA 通信。

<channel type='unix'>
  <source mode='bind' path='/example/path'/>
  <target type='xen' name='org.qemu.guest_agent.0'/>
</channel>

19.1 运行 QEMU GA 命令 编辑源文件

QEMU GA 包含许多没有直接 libvirt 等效项的本机命令。请参阅 第 19.4 节,“更多信息” 以查找完整的列表。您可以使用 libvirt 的通用命令 qemu-agent-command 运行所有 QEMU GA 命令

virsh qemu-agent-command DOMAIN_NAME '{"execute":"QEMU_GA_COMMAND"}'

例如

> sudo virsh qemu-agent-command sle15sp2 '{"execute":"guest-info"}' --pretty
{
"return": {
  "version": "4.2.0",
  "supported_commands": [
    {
      "enabled": true,
      "name": "guest-get-osinfo",
      "success-response": true
    },
[...]

19.2 virsh 命令需要 QEMU GA 编辑源文件

几个 virsh 命令需要 QEMU GA 才能实现其功能。例如,以下命令:

virsh guestinfo

从客户机的角度打印有关客户机的信息。

virsh guestvcpus

查询或更改客户机视角的虚拟 CPU 状态。

virsh set-user-password

设置客户机中用户帐户的密码。

virsh domfsinfo

显示正在运行的域内挂载的文件系统列表。

virsh dompmsuspend

暂停正在运行的客户机。

19.3 增强 libvirt 命令 编辑源文件

如果在客户机内部启用了 QEMU GA,则在 agent 模式下运行时,几个 virsh 子命令具有增强的功能。以下列表仅包含其中的一些示例。有关完整的列表,请参阅 virsh 手册页并搜索 agent 字符串。

virsh shutdown --mode agentvirsh reboot --mode agent

这种关闭或重新启动方法使客户机为下次运行做好准备,类似于 ACPI 方法。

virsh domfsfreezevirsh domfsthaw

指示客户机使其文件系统处于静止状态——刷新缓存中的所有 I/O 操作,并使卷处于一致状态,以便重新挂载时无需进行检查。

virsh setvcpus --guest

更改分配给客户机的 CPU 数量。

virsh domifaddr --source agent

查询 QEMU GA 以获取客户机的 IP 地址。

virsh vcpucount --guest

从客户机的角度打印有关虚拟 CPU 计数的的信息。

19.4 更多信息 编辑源文件

打印此页面