跳过导航链接
退出打印视图
| Oracle VM Server for SPARC 2.0 管理指南

搜索范围:

- 本文档
- 整个文档库

### 配置巨型帧

Logical Domains 虚拟交换机 (`vsw`) 和虚拟网络 (`vnet`) 设备现在可以支持有效负荷大小大于 1500 字节的以太网帧。此更改使这些驱动程序能够增加网络吞吐量。

# 配置虚拟网络和虚拟交换机设备以使用巨型帧

可通过指定虚拟交换机设备的最大传输单元 (maximum transmission unit, MTU) 启用巨型帧。在这种情况下，虚拟交换机设备和绑定到虚拟交换机设备的所有虚拟网络设备都使用指定的 MTU 值。

在某些情况下，您可以直接在虚拟网络设备上指定 MTU 值。如果虚拟网络设备所需的 MTU 值应小于虚拟交换机支持的值，则可以执行此操作。

注 - 在 Oracle Solaris 10 5/09 OS 上，必须将物理设备的 MTU 配置为与虚拟交换机的 MTU 相匹配。有关配置特定驱动程序的更多信息，请参见 Oracle Solaris 参考手册的 7D 部分中与此驱动程序对应的手册页。例如，要获取有关 `nxge` 驱动程序的信息，请参见 `nxge`(7D) 手册页。

1. 登录到控制域。
2. 成为超级用户或承担等效角色。

   角色包含授权和具有一定权限的命令。有关角色的更多信息，请参见《系统管理指南：安全性服务》中的"配置 RBAC（任务列表）"。

3. 确定要用于虚拟网络的 MTU 值。

   您可以指定从 1500 到 16000 字节的 MTU 值。指定的 MTU 必须匹配分配给虚拟交换机的物理网络设备的 MTU。

4. 指定虚拟交换机设备或虚拟网络设备的 MTU 值。

   执行以下操作之一：

   - 通过将 MTU 指定为 `mtu` 属性的值，在服务域中的新虚拟交换机设备上启用巨型帧。

         # ldm add-vsw mtu=value vswitch-name ldom

     除配置虚拟交换机外，此命令也会更新将要绑定到此虚拟交换机的每个虚拟网络设备的 MTU 值。

   - 通过将 MTU 指定为 `mtu` 属性的值，在服务域中的现有虚拟交换机设备上启用巨型帧。

         # ldm set-vsw mtu=value vswitch-name

     除配置虚拟交换机外，此命令也会更新将要绑定到此虚拟交换机的每个虚拟网络设备的 MTU 值。

   在少数情况下，您可以能需要使用 `ldm add-vnet` 或 `ldm set-vnet` 命令为虚拟网络设备指定与虚拟交换机的 MTU 值不同的 MTU 值。例如，如果您通过虚拟网络设备配置 VLAN 且最大的 VLAN MTU 小于虚拟交换机上的 MTU 值，则可以更改虚拟网络设备的 MTU 值。对于仅使用默认 MTU 值的域，可能不需要支持巨型帧的 `vnet` 驱动程序。但是，如果在域中虚拟网络设备已绑定到使用巨型帧的虚拟交换机，请确保 `vnet` 驱动程序支持巨型帧。

   如果您在虚拟网络设备上使用 `ldm set-vnet` 命令指定 `mtu` 值，则不会将对虚拟交换机设备的 MTU 值的后续更新传播到此虚拟网络设备。要重新使虚拟网络设备从虚拟交换机设备获取 MTU 值，请运行以下命令：

       # ldm set-vnet mtu= vnet-name ldom

   请注意，为虚拟网络设备启用巨型帧会自动为分配给此虚拟网络设备的任何混合 IO 资源启用巨型帧。

   在控制域中，Logical Domains Manager 将由 `ldm set-vsw` 和 `ldm set-vnet` 命令启动的 MTU 值作为延迟重新配置操作更新。要在控制域以外的域中更新 MTU，您必须先停止域，然后再运行 `ldm set-vsw` 或 `ldm set-vnet` 命令修改 MTU 值。

示例 8-2 在虚拟交换机和虚拟网络设备上配置巨型帧

- 以下示例显示了如何添加使用 MTU 值 9000 的新虚拟交换机设备。此 MTU 值将从虚拟交换机设备传播到所有客户机虚拟网络设备。

  首先，`ldm add-vsw` 命令创建 MTU 值为 9000 的虚拟交换机设备 `primary-vsw0`。请注意，网络设备 `nxge0` 的实例 0 被指定为 `net-dev` 属性的值。

      # ldm add-vsw net-dev=nxge0 mtu=9000 primary-vsw0 primary

  下一步，`ldm add-vnet` 命令将客户机虚拟网络设备添加到此虚拟交换机 `primary-vsw0`。请注意，虚拟网络设备的 MTU 是从此设备绑定到的虚拟交换机中隐式分配的。因此，`ldm add-vnet` 命令不需要您指定 `mtu` 属性的值。

      # ldm add-vnet vnet01 primary-vsw0 ldom1

  `ifconfig` 命令激活 (plumb) 服务域 `primary` 中的虚拟交换机接口。`ifconfig vsw0` 命令输出显示 `mtu` 属性的值是 9000。

      # ifconfig vsw0 plumb
      # ifconfig vsw0 192.168.1.100/24 up
      # ifconfig vsw0
      vsw0: flags=201000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,CoS> mtu 9000 index 5
              inet 192.168.1.100 netmask ffffff00 broadcast 192.168.1.255
              ether 0:14:4f:fa:0:99

  `ifconfig` 命令激活 (plumb) 来宾域 `ldom1` 中的虚拟网络接口。`ifconfig vnet0` 命令输出显示 `mtu` 属性的值是 9000。

      # ifconfig vnet0 plumb
      # ifconfig vnet0 192.168.1.101/24 up
      # ifconfig vnet0
      vnet0: flags=201000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,CoS> mtu 9000 index 4
              inet 192.168.1.101 netmask ffffff00 broadcast 192.168.1.255
              ether 0:14:4f:f9:c4:13

- 以下示例显示如何使用 `ifconfig` 命令将接口的 MTU 更改为 4000。

  请注意，只能将接口的 MTU 更改为小于由 Logical Domains Manager 分配的设备的 MTU。已配置 VLAN 且每个 VLAN 接口需要不同的 MTU 时，此方法非常有用。

      # ifconfig vnet0 mtu 4000
      # ifconfig vnet0
      vnet0: flags=1201000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4,CoS,FIXEDMTU>
      mtu 4000 index 4
              inet 192.168.1.101 netmask ffffff00 broadcast 192.168.1.255
              ether 0:14:4f:f9:c4:13

#### 与 `vnet` 和 `vsw` 驱动程序的早期（巨型帧无感知）版本的兼容性

支持巨型帧的驱动程序可以与同一系统上不支持巨型帧的驱动程序交互操作。只要创建虚拟交换机时不启用巨型帧支持，就可以实现该互操作性。

注 - 如果与虚拟交换机关联的任何来宾域或服务域不使用支持巨型帧的 Logical Domains 驱动程序，请不要设置 `mtu` 属性。

可通过更改虚拟交换机的 `mtu` 属性的默认值 1500 来启用巨型帧。在这种情况下，早期驱动程序版本会忽略 `mtu` 设置并继续使用默认值。请注意，`ldm list` 输出将显示您指定的 MTU 值，而不是默认值。任何大于默认 MTU 的帧均不会被发送到这些设备，并被新的驱动程序丢弃。这种情况可能会导致仍然使用早期驱动程序版本的这些来宾域的网络行为不一致。这适用于客户机来宾域和服务域。

因此，启用巨型帧时，请确保已将 Logical Domains 网络中的所有虚拟设备升级为使用支持巨型帧的新驱动程序。此外，请确保至少升级到 Logical Domains 1.2，以便可以配置巨型帧。

版权所有 © 2007, 2010, Oracle 和/或其附属公司。 保留所有权利。 法律声明 |