第 5 章 KVM 半虚拟化(virtio)驱动程序


半虚拟化驱动程序可增强客户机性能,降低客户机 I/O 延迟,并将吞吐量几乎增加到裸机级别。建议将半虚拟化驱动程序用于运行 I/O 密集型任务和应用程序的完全虚拟化客户机。
VirtIO 驱动程序是 KVM 泛虚拟化设备驱动程序,可用于 KVM 主机上运行的 虚拟机。这些驱动程序包含在 virtio 软件包中。virtio 软件包支持块(存储)设备和网络接口控制器。
注意
PCI 设备受虚拟化系统架构的限制。在使用分配的设备时,请参阅 第 16 章 虚拟机设备配置 以了解其他限制。

5.1. 为现有存储设备使用 KVM virtio 驱动程序

您可以修改附加到客户机的现有硬盘设备,以使用 virtio 驱动程序,而不是虚拟化 IDE 驱动程序。本节中显示的示例编辑 libvirt 配置文件。请注意,不需要关闭客户端虚拟机来执行这些步骤,但更改不会应用,直到 guest 完全关闭并重新引导为止。

过程 5.1. 为现有设备使用 KVM virtio 驱动程序

  1. 在继续执行此流程前,请确保您已安装了适当的驱动程序( viostor )。
  2. 以 root 身份运行 virsh edit guestname 命令,编辑设备的 XML 配置文件。例如: virsh edit guest1。配置文件位于 /etc/libvirt/qemu/ 目录中。
  3. 以下是使用虚拟化 IDE 驱动程序基于文件的块设备。这对于虚拟机的典型条目不使用 virtio 驱动程序。
    <disk type='file' device='disk'>
    	 ...
       <source file='/var/lib/libvirt/images/disk1.img'/>
       <target dev='hda' bus='ide'/>
    	 <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </disk>
  4. 通过将 bus= 条目修改为 virtio,将条目更改为使用 virtio 设备。请注意,如果磁盘之前是 IDE,它有一个类似于 hdahdbhdc 的目标。当更改为 bus=virtio 时,目标需要相应地更改为 vdavdbvdc
    <disk type='file' device='disk'>
       ...
       <source file='/var/lib/libvirt/images/disk1.img'/>
       <target dev='vda' bus='virtio'/>
    	 <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/>
    </disk>
  5. 删除 磁盘标签 中的 地址 标签。此过程必须完成。libvirt 将在虚拟机下次启动时正确重新生成地址 标签。
或者,virt-managervirsh attach-diskvirsh attach-interface 可使用 virtio 驱动程序添加新设备。
有关使用 Virtio 的详情,请查看 libvirt 网站: http://www.linux-kvm.org/page/Virtio
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.