安装 QEMU Guest Agent

QEMU Guest Agent 是一个辅助守护进程,安装在虚拟机内部。它用于在主机和虚拟机之间交换信息,并在虚拟机内部执行命令。该代理使用 QEMU 的原生虚拟机代理。官方代理在安全性认证、维护和支持方面是一个全面且可靠的选择。

弹性算力通过 zenConsole 中的 性能 选项卡提供您的实例指标的高级视图。所有实例在创建时都有基本的性能数据可用。然而,安装 QEMU 虚拟机代理可以提供更深入的实例行为洞察,包括以下附加指标:

  • 系统负载平均值 - 最近 1 分钟

  • 系统负载平均值 - 最近 5 分钟

  • 系统负载平均值 - 最近 15 分钟

  • 内存利用率

  • 磁盘利用率

  • 运行时间

  • 只有在创建实例时选择了默认的公网 IP,QEMU 虚拟机代理才能成功安装并收集数据。

  • 对于 Windows 操作系统,默认已安装 QEMU 虚拟机代理。您可以根据需要禁用数据收集。

对于使用 Rocky、CentOS、AlmaLinux、Alpine 和 FreeBSD 操作系统的实例,您需要手动配置代理以激活它,具体步骤如下。

Rocky/CentOS/AlmaLinux

代理默认是禁用的。您需要修改 /etc/sysconfig/qemu-ga 文件。

  1. 使用文本编辑器打开文件:

    sudo vi /etc/sysconfig/qemu-ga
  2. 更新 FILTER_RPC_ARGS 以启用所需的 RPC。添加以下行或在已存在的情况下进行修改:

    FILTER_RPC_ARGS="--block-rpcs=guest-file-seek,guest-file-flush,guest-exec,guest-exec-status"
    
    # 虚拟机代理命令,用逗号分隔允许的 RPC 以启用,
    # 或者为空列表以禁用所有 RPC。
    #
    # 您可以使用 "qemu-ga --allow-rpcs='?'" 获取 RPC 命令列表。
    # 在允许列表中,逗号和命令之间不应有空格。
    FILTER_RPC_ARGS="--allow-rpcs=guest-file-open,guest-file-close,guest-file-read,guest-file-write,guest-sync-delimited,guest-sync,guest-ping,guest-get-time,guest-set-time,guest-info,guest-shutdown,guest-fsfreeze-status,guest-fsfreeze-freeze,guest-fsfreeze-freeze-list,guest-fsfreeze-thaw,guest-fstrim,guest-suspend-disk,guest-suspend-ram,guest-suspend-hybrid,guest-network-get-interfaces,guest-get-vcpus,guest-set-vcpus,guest-get-disks,guest-get-fsinfo,guest-set-user-password,guest-get-memory-blocks,guest-set-memory-blocks,guest-get-memory-block-info,guest-get-host-name,guest-get-users,guest-get-timezone,guest-get-osinfo,guest-get-devices,guest-ssh-get-authorized-keys,guest-ssh-add-authorized-keys,guest-ssh-remove-authorized-keys,guest-get-diskstats,guest-get-cpustats"
  3. 重启 QEMU 虚拟机代理服务

    sudo systemctl restart qemu-guest-agent

Alpine Linux

代理默认是禁用的。

  1. 启动 QEMU 虚拟机代理服务:

    sudo rc-service qemu-guest-agent start
  2. 检查 QEMU 虚拟机代理服务的状态:

    sudo rc-service qemu-guest-agent status
  3. 编辑 QEMU 虚拟机代理的初始化脚本:

    • 使用文本编辑器打开初始化脚本:

      sudo vi /etc/init.d/qemu-guest-agent
    • 找到 command_args 行并修改它以启用详细日志记录:

      command_args="--verbose -m ${GA_METHOD:-virtio-serial} -p ${GA_PATH:-/dev/virtio-ports/org.qemu.guest_agent.0} -l /var/log/qemu-ga.log -d"
  4. 重启 QEMU 虚拟机代理服务:

    sudo rc-service qemu-guest-agent restart

FreeBSD

代理默认是禁用的。

  1. 使用文本编辑器打开 QEMU 虚拟机代理配置文件:

    sudo vi /etc/rc.conf
  2. 添加以下行以启用 QEMU 虚拟机代理服务:

    qemu_guest_agent_enable="YES"
  3. 启动 QEMU 虚拟机代理服务:

    sudo service qemu_guest_agent start
  4. 检查 QEMU 虚拟机代理服务的状态:

    sudo service qemu_guest_agent status

代理默认是禁用的。您可以查看官方文档以获取更多详细信息。

代理默认是禁用的。您可以查看官方文档以获取更多详细信息。

  1. 修改 /etc/rc.conf 以启用 QEMU guest agent:

    • 使用文本编辑器打开 /etc/rc.conf

      sudo vi /etc/rc.conf
    • 添加以下行以启用和配置 QEMU guest agent:

      qemu_guest_agent_enable="YES"
      qemu_guest_agent_flags="-d -v -l /var/log/qemu-ga.log"
  2. 启动 QEMU guest agent 服务:

    sudo service qemu-guest-agent start
  3. 验证 QEMU guest agent 服务的状态:

    sudo service qemu-guest-agent status

预期输出

  • 服务未运行时的状态:

    sudo service qemu-guest-agent status
    qemu_guest_agent 未运行。
  • 服务启动时的输出:

    sudo service qemu-guest-agent start
    启动 qemu_guest_agent。
    1715676493.359902: debug: Guest agent version 8.2.2 started
  • 服务运行时的状态:

    sudo service qemu-guest-agent status
    qemu_guest_agent 正在以进程 ID 2051 运行。

最后更新于