Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

21.11. KVM 网络性能

默认情况下,会为 KVM 虚拟机分配虚拟 Realtek 8139(rtl8139)NIC(网络接口控制器)。Red Hat Enterprise Linux 虚拟机默认分配了 virtio NIC,但未指定 Windows 客户机或客户机类型。
rtl8139 虚拟化 NIC 在大多数环境中可以正常工作,但该设备可能会遭遇一些网络的性能降级问题,如 10 千兆位以太网。
要提高性能,您可以切换到半虚拟网络驱动程序。
注意
请注意,虚拟化 Intel PRO/1000(e1000)驱动程序也作为仿真驱动程序选择提供支持。要使用 e1000 驱动程序,请将以下流程中的 virtio 替换为 e1000。为了获得最佳性能,建议使用 virtio 驱动程序。

过程 21.4. 切换到 virtio 驱动程序

  1. 关闭客户端操作系统。
  2. 使用 virsh 命令编辑客户端的配置文件(其中 GUEST 是客户端的名称):
    # virsh edit GUEST
    virsh edit 命令使用 $EDITOR shell 变量来确定要使用哪个编辑器。
  3. 查找配置的网络接口部分。本节类似以下代码片段:
    <interface type='network'>
      [output truncated]
      <model type='rtl8139' />
    </interface>
    
  4. 将 model 元素的 type 属性从 'rtl8139' 改为 'virtio'。这会将 rtl8139 驱动程序改为 e1000 驱动程序。
    <interface type='network'>
      [output truncated]
      <model type='virtio' />
    </interface>
    
  5. 保存更改并退出文本编辑器
  6. 重启客户端操作系统。

使用其他网络驱动程序创建新客户机

或者,也可以使用不同的网络驱动程序创建新 guest。如果您在通过网络连接安装客户机时遇到问题,则可能需要这样做。此方法要求您至少有一个虚拟机已创建(可能从 CD 或者 DVD 安装)以用作模板。

  1. 从现有 guest(在这个示例中,名为 Guest1)创建 XML 模板:
    # virsh dumpxml Guest1 > /tmp/guest-template.xml
    
  2. 复制并编辑 XML 文件并更新唯一字段:虚拟机名称、UUID、磁盘镜像、MAC 地址以及任何其他唯一参数。请注意,您可以删除 UUID 和 MAC 地址行,virsh 将生成 UUID 和 MAC 地址。
    # cp /tmp/guest-template.xml /tmp/new-guest.xml
    # vi /tmp/new-guest.xml
    
    在网络接口部分添加模型行:
     <interface type='network'>
      [output truncated]
      <model type='virtio' />
    </interface>
    
  3. 创建新虚拟机:
    # virsh define /tmp/new-guest.xml
    # virsh start new-guest