10.3. 在 Windows 虚拟客户机中运行 QEMU 客户机代理
Red Hat Enterprise Linux 主机机器可以通过在客户机中运行 QEMU 客户机代理向 Windows 客户机发出命令。它支持运行 Red Hat Enterprise Linux 6.5 及更新版本的主机,并在以下 Windows 客户机操作系统中受支持:
- Windows XP Service Pack 3(不支持VSS)
- Windows Server 2003 R2 - x86 和 AMD64(不支持VSS)
- Windows Server 2008
- Windows Server 2008 R2
- Windows 7 - x86 和 AMD64
- Windows Server 2012
- Windows Server 2012 R2
- Windows 8 - x86 和 AMD64
- Windows 8.1 - x86 和 AMD64
注意
Windows 客户机虚拟机需要 QEMU 客户机代理软件包用于 Windows,qemu-guest-agent-win。对于在 Red Hat Enterprise Linux 上运行的 Windows 客户机虚拟机,VSS(Volume Shadow Copy Service)需要此代理。有关更多信息,请参见 http://msdn.microsoft.com/en-us/library/windows/desktop/bb968832%28v=vs.85%29.aspx。
过程 10.2. 在 Windows 客户端中配置 QEMU 客户机代理
针对在 Red Hat Enterprise Linux 主机机器中运行的 Windows 客户机,请按照以下步骤操作。
准备 Red Hat Enterprise Linux 主机机器
确保在 Red Hat Enterprise Linux 主机物理机器上安装了以下软件包:- virtio-win,位于
/usr/share/virtio-win/
要在 Windows 客户端中复制驱动程序,请使用以下命令为 qxl 驱动程序生成*.iso
文件:mkisofs -o /var/lib/libvirt/images/virtiowin.iso /usr/share/virtio-win/drivers
# mkisofs -o /var/lib/libvirt/images/virtiowin.iso /usr/share/virtio-win/drivers
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 准备 Windows 客户机
通过将*.iso
挂载到 Windows guest 以更新驱动程序,在客户机中安装 virtio-serial driver。启动 guest,然后将驱动程序 .iso 文件连接到 guest(使用名为 hdb的磁盘):virsh attach-disk guest /var/lib/libvirt/images/virtiowin.iso hdb
# virsh attach-disk guest /var/lib/libvirt/images/virtiowin.iso hdb
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要使用 Windows来安装驱动程序,请导航到以下菜单:- 要安装 virtio-win 驱动程序 - Select> > 。
更新 Windows 客户机 XML 配置文件
Windows 客户机的客户机 XML 文件位于 Red Hat Enterprise Linux 主机中。要获取这个文件的访问权限,您需要 Windows 虚拟客户机名称。在主机机器上使用 # virsh list 命令,列出它可识别的客户机。在本例中,guest 的名称是 win7x86。使用 # virsh edit win7x86 命令在 XML 文件中添加以下元素并保存更改。请注意,源套接字名称在主机中必须是唯一的,本例中为 win7x86.agent :图 10.2. 编辑 Windows 客户机 XML 以配置 QEMU 客户机代理
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 重启 Windows 客户机
重启 Windows 客户机以应用更改:virsh reboot win7x86
# virsh reboot win7x86
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在 Windows 客户端中准备 QEMU 客户机代理
在 Windows 客户端中准备客户机代理:安装最新的 virtio-win 软件包
在 Red Hat Enterprise Linux 主机物理机器终端窗口中运行以下命令,以查找要安装的文件。请注意,下面显示的 文件可能与系统找到的文件完全相同,但应为最新的官方版本。rpm -qa|grep virtio-win rpm -iv virtio-win-1.6.8-5.el6.noarch
# rpm -qa|grep virtio-win virtio-win-1.6.8-5.el6.noarch # rpm -iv virtio-win-1.6.8-5.el6.noarch
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 确认安装已完成
在 virtio-win 软件包完成安装后,检查/usr/share/virtio-win/guest-agent/
文件夹,并找到名为 qemu-ga-x64.msi 的文件或 qemu-ga-x86.msi,如下所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 安装 .msi 文件
从 Windows 客户机(例如,win7x86)通过双击 文件来安装 qemu-ga-x64.msi 或 qemu-ga-x86.msi。安装后,它将在 System Manager 中的 Windows guest 中显示为 qemu-ga 服务。此管理器可用于监控服务的状态。
10.3.1. 在 Windows Guests 上使用带有 QEMU 客户机代理的 libvirt 命令 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
QEMU 客户机代理可在 Windows 客户机中使用以下 virsh 命令:
- virsh shutdown --mode=agent - 此关闭方法比 virsh shutdown --mode=acpi 更为可靠,因为与 QEMU 客户机代理一起使用的 virsh shutdown 保证可保证以干净状态关闭合作客户机。如果没有代理,libvirt 需要依赖注入 ACPI 关闭事件,但有些客户机会忽略该事件,因此不会关闭。可用于 virsh reboot 的相同语法。
- virsh snapshot-create --quiesce - 允许 guest 在创建快照之前将其 I/O 刷新到稳定状态,这样就允许在不执行 fsck 或丢失部分数据库交易的情况下使用快照。客户机代理通过提供客户机协作,实现高水平的磁盘内容稳定性。
- virsh dompmsuspend - 使用客户机操作系统的电源管理功能安全暂停正在运行的 guest。