Red Hat Training

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

20.16.9.6. 直接附加到物理接口

使用 <interface type='direct'> 将虚拟机的 NIC 附加到主机上的指定物理接口。
这个设置需要可用的 Linux macvtap 驱动程序。对于 macvtap 设备的操作模式,可以选择下列模式之一: vepa (虚拟以太网端口聚合器"),它是默认的模式,即 网桥或专用
要设置到物理接口的直接附加,在域 XML 中使用以下参数:

图 20.41. 设备 - 网络接口直接附加到物理接口


  ...
  <devices>
    ...
    <interface type='direct'>
      <source dev='eth0' mode='vepa'/>
    </interface>
  </devices>
  ...
单独的模式会导致传输数据包的行为,如 表 20.17 “直接附加到物理接口元素” 所示:

表 20.17. 直接附加到物理接口元素

元素描述
vepa所有虚拟客户机的数据包都发送到外部网桥。目的地为同一主机物理计算机上的数据包,其数据包源自于 VEPA 功能通过 VEPA(日常网桥)向主机物理机器发送回主机物理机器。
bridge其目的地位于同一主机物理机器上的数据包,其源自于目的地 macvtap 设备直接发送到目标 macvtap 设备。原始设备和目的地设备都需要处于网桥模式,才能直接传送。如果其中任何一个处于 vepa 模式,则需要一个 VEPA 功能网桥。
private所有数据包都发送到外部网桥,只有当它们通过外部路由器或网关发送回主机物理机器时,它们才会传送到同一主机物理机器上的目标虚拟机。如果源或目标设备处于私有模式,则执行此步骤。
passthrough此功能将 SRIOV 能力 NIC 的虚拟功能直接附加到客户机虚拟机,而不会丢失迁移功能。所有数据包都发送到配置的网络设备的 VF/IF。根据设备的功能额外先决条件或限制,例如,这需要内核 2.6.38 或更高版本。
直接附加虚拟机的网络访问可以由主机物理计算机连接到的物理接口来管理。
如果交换机符合 IEEE 802.1Qbg 标准,接口可以还有其他参数。virtualport 元素的参数在 IEEE 802.1Qbg 标准中更详细地阐述。值特定于网络,应当由网络管理员提供。在 802.1Qbg 术语中,虚拟工作站(VSI)代表虚拟机的虚拟接口。
请注意,IEEE 802.1Qbg 需要 VLAN ID 的非零值。
表 20.18 “直接附加到物理接口的其他元素” 中描述了可操作的其他元素:

表 20.18. 直接附加到物理接口的其他元素

元素描述
manageridVSI Manager ID 标识包含 VSI 类型和实例定义的数据库。这是一个整数值,赋予值 0。
typeidVSI Type ID 标识 VSI 类型特征,以优化网络访问。VSI 类型通常由网络管理员管理。这是一个整数值。
typeidversionVSI Type Version 允许多个 VSI 类型版本。这是一个整数值。
InstanceID在创建 VSI 实例(这是虚拟机虚拟接口)时,将生成 VSI 实例 ID 标识符。这是全局唯一标识符。
profileid配置集 ID 包含要应用于此接口的端口配置集的名称。此名称由端口 profile 数据库解析为来自端口配置集的网络参数,这些网络参数将应用到此接口。
域 XML 中的其他参数包括:

图 20.42. devices - 网络接口直接附加到物理接口附加参数


  ...
  <devices>
    ...
    <interface type='direct'>
      <source dev='eth0.2' mode='vepa'/>
      <virtualport type="802.1Qbg">
        <parameters managerid="11" typeid="1193047" typeidversion="2" instanceid="09b11c53-8b5c-4eeb-8f00-d84eaa0aaa4f"/>
      </virtualport>
    </interface>
  </devices>
  ...
如果交换机符合 IEEE 802.1Qbh 标准,接口可以有其他参数,如下所示。值特定于网络,应当由网络管理员提供。
域 XML 中的其他参数包括:

图 20.43. devices - 网络接口直接附加到物理接口的其他参数


  ...
  <devices>
    ...
    <interface type='direct'>
      <source dev='eth0' mode='private'/>
      <virtualport type='802.1Qbh'>
        <parameters profileid='finance'/>
      </virtualport>
    </interface>
  </devices>
  ...
profileid 属性包含要应用到此接口的端口配置集的名称。此名称由端口 profile 数据库解析为来自端口配置集的网络参数,这些网络参数将应用到此接口。