Red Hat Training

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

A.12. KVM 网络性能

默认情况下,为 KVM 虚拟机分配一个虚拟 Realtek 8139(rtl8139)NIC(network interface controller)。
rtl8139 虚拟化 NIC 在大多数环境中正常工作,但这个设备可能会因某些网络(如 10 Gigabit Ethernet)上的性能下降。
要提高性能,您可以切换到半虚拟网络驱动程序。
注意
请注意,虚拟化 Intel PRO/1000(e1000)驱动程序也支持作为仿真驱动程序选择。要使用 e1000 驱动程序,请将以下流程中的 virtio 替换为 e1000。为了获得最佳性能,建议使用 virtio 驱动程序。

过程 A.6. 切换到 virtio 驱动程序

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

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

或者,也可以使用其他网络驱动程序创建新 guest。如果您在通过网络连接安装 guest 时,可能需要这样做。这个方法要求您至少有一个 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