21.5. Guest Virtual Machine Fails to Shutdown


通常,执行 virsh shutdown 命令会导致发送电源按钮 ACPI 事件,因此当有人在物理机上按下电源按钮时复制同样的操作。在每个物理计算机中,操作系统可以处理此事件。在过去的操作系统中,只会静默关闭。今天,最常见的操作是显示询问应做什么的对话框。有些操作系统甚至可以完全忽略此事件,特别是在没有用户登录的情况下。当在客户端虚拟机中安装此类操作系统时,运行 virsh shutdown 无法正常工作(它会被忽略,或者在虚拟机显示对话框)。但是,如果将 qemu-guest-agent 频道添加到客户机虚拟机,并且此代理正在客户端虚拟机操作系统中运行,则 virsh shutdown 命令将请求代理关闭客户端操作系统而不是发送 ACPI 事件。代理将从客户机虚拟机操作系统内部调用关机,一切均按预期运行。

过程 21.2. 在客户机虚拟机中配置客户机代理频道

  1. 停止 guest 虚拟机。
  2. 为客户机虚拟机打开域 XML 并添加以下片断:

    图 21.1. 配置客户机代理频道

    
    <channel type='unix'>
        <source mode='bind'/>
        <target type='virtio' name='org.qemu.guest_agent.0'/>
    </channel>
    
  3. 通过运行 virsh start [domain] 来启动 guest 虚拟机。
  4. 在客户机虚拟机上安装 qemu-guest-agent (yum install qemu-guest-agent),并在每次引导时都作为服务(qemu-guest-agent.service)自动运行。如需更多信息,请参阅 第 10 章 qemu-img 和 QEMU 客户机代理
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.