×

安装 QEMU 访客代理

在 Linux 虚拟机上安装 QEMU 访客代理

qemu-guest-agent 广泛可用,并且在 Red Hat Enterprise Linux (RHEL) 虚拟机 (VM) 中默认可用。安装代理并启动服务。

要创建具有最高完整性的在线 (运行状态) 虚拟机的快照,请安装 QEMU 访客代理。

QEMU 访客代理通过尽可能地使虚拟机文件系统休眠来创建一致的快照,这取决于系统的工作负载。这确保了在快照创建之前将正在进行的 I/O 写入磁盘。如果不存在访客代理,则无法进行休眠,将创建尽力而为的快照。快照创建的条件将反映在 Web 控制台或 CLI 中显示的快照指示中。

步骤
  1. 使用控制台或 SSH 登录到虚拟机。

  2. 运行以下命令安装 QEMU 访客代理

    $ yum install -y qemu-guest-agent
  3. 确保服务持久化并启动它

    $ systemctl enable --now qemu-guest-agent
验证
  • 运行以下命令以验证虚拟机规范中是否列出了AgentConnected

    $ oc get vm <vm_name>

在 Windows 虚拟机上安装 QEMU 访客代理

对于 Windows 虚拟机 (VM),QEMU 访客代理包含在 VirtIO 驱动程序中。您可以在 Windows 安装期间或在现有 Windows 虚拟机上安装驱动程序。

要创建具有最高完整性的在线 (运行状态) 虚拟机的快照,请安装 QEMU 访客代理。

QEMU 访客代理通过尽可能地使虚拟机文件系统休眠来创建一致的快照,这取决于系统的工作负载。这确保了在快照创建之前将正在进行的 I/O 写入磁盘。如果不存在访客代理,则无法进行休眠,将创建尽力而为的快照。快照创建的条件将反映在 Web 控制台或 CLI 中显示的快照指示中。

步骤
  1. 在 Windows 来宾操作系统中,使用**文件资源管理器**导航到virtio-win CD 驱动器中的guest-agent目录。

  2. 运行qemu-ga-x86_64.msi安装程序。

验证
  1. 运行以下命令获取网络服务的列表

    $ net start
  2. 验证输出中是否包含QEMU Guest Agent

在 Windows 虚拟机上安装 VirtIO 驱动程序

VirtIO 驱动程序是 Microsoft Windows 虚拟机 (VM) 在 OpenShift Virtualization 中运行所需的半虚拟化设备驱动程序。驱动程序与其余映像一起提供,无需单独下载。

必须将container-native-virtualization/virtio-win容器磁盘作为 SATA CD 驱动器附加到虚拟机才能启用驱动程序安装。您可以在 Windows 安装期间安装 VirtIO 驱动程序,也可以添加到现有的 Windows 安装中。

安装驱动程序后,可以从虚拟机中删除container-native-virtualization/virtio-win容器磁盘。

表 1. 支持的驱动程序
驱动程序名称 硬件 ID 描述

viostor

VEN_1AF4&DEV_1001
VEN_1AF4&DEV_1042

块驱动程序。有时在**其他设备**组中标记为**SCSI 控制器**。

viorng

VEN_1AF4&DEV_1005
VEN_1AF4&DEV_1044

熵源驱动程序。有时在**其他设备**组中标记为**PCI 设备**。

NetKVM

VEN_1AF4&DEV_1000
VEN_1AF4&DEV_1041

网络驱动程序。有时在**其他设备**组中标记为**以太网控制器**。仅当配置了 VirtIO 网卡时才可用。

在安装过程中将 VirtIO 容器磁盘附加到 Windows 虚拟机

必须将 VirtIO 容器磁盘附加到 Windows 虚拟机才能安装必要的 Windows 驱动程序。这可以在创建虚拟机时完成。

步骤
  1. 从模板创建 Windows 虚拟机时,单击**自定义虚拟机**。

  2. 选择**挂载 Windows 驱动程序磁盘**。

  3. 单击**自定义虚拟机参数**。

  4. 单击**创建虚拟机**。

创建虚拟机后,virtio-win SATA CD 磁盘将附加到虚拟机。

将 VirtIO 容器磁盘附加到现有的 Windows 虚拟机

必须将 VirtIO 容器磁盘附加到 Windows 虚拟机才能安装必要的 Windows 驱动程序。这可以对现有虚拟机执行。

步骤
  1. 导航到现有的 Windows 虚拟机,然后单击**操作**→**停止**。

  2. 转到**虚拟机详细信息**→**配置**→**磁盘**,然后单击**添加磁盘**。

  3. 从容器源添加windows-driver-disk,将**类型**设置为**CD-ROM**,然后将**接口**设置为**SATA**。

  4. 单击**保存**。

  5. 启动虚拟机并连接到图形控制台。

在 Windows 安装期间安装 VirtIO 驱动程序

您可以在虚拟机 (VM) 上安装 Windows 时安装 VirtIO 驱动程序。

此过程使用通用的 Windows 安装方法,安装方法可能因 Windows 版本而异。请参阅您正在安装的 Windows 版本的文档。

先决条件
  • 必须将包含virtio驱动程序的存储设备附加到虚拟机。

步骤
  1. 在 Windows 操作系统中,使用文件资源管理器导航到virtio-win CD 驱动器。

  2. 双击驱动器以运行适合您虚拟机的安装程序。

    对于 64 位 vCPU,请选择virtio-win-gt-x64安装程序。不再支持 32 位 vCPU。

  3. 可选:在安装程序的**自定义安装**步骤中,选择要安装的设备驱动程序。默认情况下会选择推荐的驱动程序集。

  4. 安装完成后,选择**完成**。

  5. 重新启动虚拟机。

验证
  1. 打开 PC 上的系统磁盘。这通常是C:

  2. 导航到**Program Files** → **Virtio-Win**。

如果存在**Virtio-Win**目录并且包含每个驱动程序的子目录,则安装成功。

从 SATA CD 驱动器在现有的 Windows 虚拟机上安装 VirtIO 驱动程序

您可以从 SATA CD 驱动器在现有的 Windows 虚拟机 (VM) 上安装 VirtIO 驱动程序。

此过程使用通用的向 Windows 添加驱动程序的方法。有关具体的安装步骤,请参阅您所用 Windows 版本的安装文档。

先决条件
  • 必须将包含 virtio 驱动程序的存储设备作为 SATA CD 驱动器附加到虚拟机。

步骤
  1. 启动虚拟机并连接到图形控制台。

  2. 登录到 Windows 用户会话。

  3. 打开**设备管理器**并展开**其他设备**以列出任何**未知设备**。

    1. 打开**设备属性**以识别未知设备。

    2. 右键单击该设备并选择**属性**。

    3. 单击**详细信息**选项卡,并在**属性**列表中选择**硬件 ID**。

    4. 将**硬件 ID**的**值**与支持的 VirtIO 驱动程序进行比较。

  4. 右键单击该设备并选择**更新驱动程序软件**。

  5. 单击**浏览我的计算机以查找驱动程序软件**,然后浏览到附加的 SATA CD 驱动器,其中位于 VirtIO 驱动程序。驱动程序根据其驱动程序类型、操作系统和 CPU 架构进行分层排列。

  6. 点击下一步安装驱动程序。

  7. 对所有必要的 VirtIO 驱动程序重复此过程。

  8. 驱动程序安装完成后,点击关闭关闭窗口。

  9. 重启虚拟机以完成驱动程序安装。

从作为 SATA CD 驱动器添加的容器磁盘安装 VirtIO 驱动程序

您可以从添加到 Windows 虚拟机 (VM) 作为 SATA CD 驱动器的容器磁盘安装 VirtIO 驱动程序。

Red Hat 生态系统目录下载container-native-virtualization/virtio-win容器磁盘不是强制性的,因为如果集群中不存在该容器磁盘,则会从 Red Hat 注册表下载。但是,下载可以缩短安装时间。

先决条件
  • 您必须能够访问 Red Hat 注册表或在受限环境中访问已下载的container-native-virtualization/virtio-win容器磁盘。

步骤
  1. 通过编辑VirtualMachine清单将container-native-virtualization/virtio-win容器磁盘添加为 CD 驱动器。

    # ...
    spec:
      domain:
        devices:
          disks:
            - name: virtiocontainerdisk
              bootOrder: 2 (1)
              cdrom:
                bus: sata
    volumes:
      - containerDisk:
          image: container-native-virtualization/virtio-win
        name: virtiocontainerdisk
    1 OpenShift Virtualization 按VirtualMachine清单中定义的顺序启动 VM 磁盘。您可以定义其他在container-native-virtualization/virtio-win容器磁盘之前启动的 VM 磁盘,或者使用可选的bootOrder参数来确保 VM 从正确的磁盘启动。如果您为磁盘配置了启动顺序,则必须为其他磁盘配置启动顺序。
  2. 应用更改

    • 如果虚拟机未运行,请运行以下命令

      $ virtctl start <vm> -n <namespace>
    • 如果虚拟机正在运行,请重启虚拟机或运行以下命令

      $ oc apply -f <vm.yaml>
  3. 虚拟机启动后,从 SATA CD 驱动器安装 VirtIO 驱动程序。

更新 VirtIO 驱动程序

更新 Windows 虚拟机上的 VirtIO 驱动程序

使用 Windows 更新服务更新 Windows 虚拟机 (VM) 上的virtio驱动程序。

先决条件
  • 集群必须连接到互联网。断开的集群无法访问 Windows 更新服务。

步骤
  1. 在 Windows 来宾操作系统中,单击Windows键并选择设置

  2. 导航到Windows 更新高级选项可选更新

  3. 安装来自Red Hat, Inc.的所有更新。

  4. 重新启动虚拟机。

验证
  1. 在 Windows 虚拟机上,导航到设备管理器

  2. 选择一个设备。

  3. 选择驱动程序选项卡。

  4. 单击驱动程序详细信息并确认virtio驱动程序详细信息显示正确的版本。