JavaScript is required to for searching.
跳过导航链接
退出打印视图
管理 Oracle Solaris 11.1 网络性能     Oracle Solaris 11.1 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  网络性能管理介绍

2.  使用链路聚合

3.  使用 VLAN

4.  管理桥接网络(任务)

5.  IPMP 介绍

6.  管理 IPMP(任务)

7.  使用 LLDP 交换网络连接信息

8.  使用 Oracle Solaris 中的数据中心桥接功能

数据中心桥接 (Data Center Bridging, DCB) 概述

如何启用 DCBX

基于优先级的流量控制

与 PFC 相关的数据链路属性

基于优先级的流量控制 TLV 单元

如何为 DCB 定制基于优先级的流量控制

获取 PFC 配置信息

应用程序 TLV 单元

增强传输选择

与 ETS 相关的数据链路属性

增强传输选择 TLV 单元

如何为 DCB 定制增强传输选择

获取 ETS 配置信息

9.  Oracle Solaris 中的边缘虚拟桥接

10.  集成负载平衡器(概述)

11.  配置集成负载平衡器

12.  管理集成负载平衡器

13.  虚拟路由器冗余协议(概述)

A.  链路聚合类型:功能比较

B.  链路聚合和 IPMP:功能比较

索引

基于优先级的流量控制

PFC 扩展了标准 PAUSE 帧以包含 IEEE 802.1p CoS 值。使用 PFC,当发送 PAUSE 帧时不会停止链路上的所有通信,而是仅暂停 PFC 帧中启用的 CoS 值所对应的通信。为启用的优先级(具备此优先级的通信需要暂停)发送一个 PFC 帧。发送主机将停止该优先级的通信,而其他禁用的优先级的通信不受影响。经过 PFC 帧中指定的时间间隔之后,或者在发送主机接收到另一个 PFC 帧之后,将恢复这些包的传输。基于优先级暂停可确保不会丢弃该优先级的包。对于未定义任何优先级的包,不会发送 PAUSE 帧。因此,通信将继续进行,但在通信拥塞时可能会丢弃包。

优先级通过 pfcmap 数据链路属性中的 8 位掩码 (0–7) 表示。最低位表示优先级 0,而最高位表示优先级 7。此掩码中每位均可表示是否已为对应的优先级启用 PFC。缺省情况下,pfcmap 设置为 1111111,表示已为所有优先级启用 PFC。对于通过链路传输的任何包,如果在接收主机上产生拥塞,则将向发送主机发送 PFC 帧。

与 PFC 相关的数据链路属性

除了 pfcmap 属性,以下属性也提供有关优先级定义和映射的信息:

要使 PFC 帧能够正常发送,通信主机必须具有对称的 DCB 配置信息。Oracle Solaris 11 系统可以自动调整其 PFC 配置,以匹配远程对等方的 PFC 配置。

以上列出的两种属性间接指示对等方之间的 PFC 信息是否同步。对于本地和远程对等方之间 PFC 信息匹配的数据链路,不管将 pfcmap 设置为何值,pfcmap-lcl-effectivepfcmap-rmt-effective 的值均相同。如果在本地主机上禁用了同步功能,则 pfcmap-lcl-effective 将反映本地主机的 pfcmap 属性的值。

有关这些属性配置提供的 PFC 信息的示例,请参见获取 PFC 配置信息

基于优先级的流量控制 TLV 单元

PFC TLV 单元控制与从对等主机接收的信息有关的主机行为。此 TLV 单元只有一个可配置属性 willing。缺省情况下,该属性设置为 on,从而使本地主机可以将其 PFC 优先级定义与远程对等方上的 PFC 定义同步。通过将该属性切换为 off,可以防止自动同步特定代理的信息,如下所示:

# lldpadm set-agenttlvprop -p willling=off -a agent pfc

其中,agent 通过启用代理的数据链路进行标识。

如何为 DCB 定制基于优先级的流量控制

大多数情况下,PFC 的缺省配置已足够。启用 LLDP 时会自动设置此配置。但是,为了显示配置 PFC 时可以使用的其他选项,此过程列出了手动配置 PFC 的步骤。这些步骤假定不存在任何自动配置。为了便于理解这些步骤,将对 net0 执行所有配置。

  1. 确保已启用 DCBX。

    请参见如何启用 DCBX

  2. (可选)定制您要启用的 DCB 功能。

    缺省情况下,PFC、ETS 和边缘虚拟桥接 (edge virtual bridging, EVB) 已启用。假定您希望仅使用 PFC。那么,您必须从 LLDP 代理的 dot1–tlv 属性中删除其他两个值。有关 dot1–tlv 的可能值的列表,请参阅表 7-3

    # lldpadm set-agenttlvprop -p dot1-tlv-=etscfg,evb net0
  3. 确保数据链路的 flowctrl 属性设置为 pfc
    # dladm show-linkprop -p flowctrl net0

    如果该属性的值列表中不包含 pfc,请发出以下命令:

    # dladm set-linkprop -p flowctrl=pfc net0
  4. 如果不想使用缺省值 11111111,请根据需要设置 pfcmap 属性。

    例如,要仅启用 CoS 优先级 6,请键入以下命令:

    # dladm set-linkprop -p pfcmap=01000000 net0
  5. 确保主机可以将其 PFC 信息与远程对等方上的 PFC 信息同步。
    # lldpadm show-agenttlvprop -p willing -a net0 pfc

    如果 PFC TLV 属性 willing 设置为 off,请发出以下命令:

    # lldpadm set-agenttlvprop -p willing=on -a net0 pfc

获取 PFC 配置信息

本节包含配置 LLDP 和 DCB 后与 PFC 相关的信息的多个示例。

以下命令显示与 PFC 相关的信息:

以下示例说明先前列出的命令所显示的信息类型。

示例 8-1 显示与 PFC 相关的数据链路属性

此示例说明如何显示与基于优先级的流量控制相关的数据链路属性的状态。

# dladm show-linkprop -p pfcmap,pfc-lcl-effective,pfc-rmt-effective net0
LINK   PROPERTY               PERM   VALUE      DEFAULT    POSSIBLE
net0   pfcmap                 rw     11111111   11111111   00000000-11111111
net0   pfcmap-lcl-effective   r-     11111111   --         --
net0   pfcmap-rmt-effective   r-     01000000   --         --

该输出指示本地主机上的 PFC 映射使用缺省值,其中所有 8 个优先级都已启用。pfcmap-lcl-effectivepfcmap-rmt-effective 的值不匹配表示本地主机未将其 PFC 信息与远程对等方同步。此不匹配可能是由允许关闭同步的属性导致的。或者,对等方没有将 PFC TLV 单元发送到网络中。可以通过键入以下命令确认此配置:

示例 8-2 显示本地主机同步 PFC 信息的功能

此示例说明如何显示主机用于适应对等方 PFC 配置的功能的当前状态。

# lldpadm show-agenttlvprop -a net0 pfc
AGENT   TLVNAME   PROPERTY   PERM   VALUE   DEFAULT   POSSIBLE
net0    pfc       willing    rw     off     on        on,off

要启用同步,请发出以下命令:

# lldpadm set-agenttlvprop -p willing=on -a net0 pfc

# dladm show-linkprop -p pfcmap,pfc-lcl-effective,pfc-rmt-effective net0
LINK   PROPERTY               PERM   VALUE      DEFAULT    POSSIBLE
net0   pfcmap                 rw     11111111   11111111   00000000-11111111
net0   pfcmap-lcl-effective   r-     01000000   --         --
net0   pfcmap-rmt-effective   r-     01000000   --         --

在第二个输出中,本地主机丢弃了自己的 PFC 映射 (11111111),而是与对等方同步,现在其生效 PFC 映射与对等方的 PFC 映射完全一致。通过这种值的聚合,主机之间可以成功交换 PFC PAUSE 帧。

示例 8-3 验证主机和对等方之间的 PFC 信息的对称性

此示例说明如何在实际运行时验证主机和对等方之间的 PFC 信息是否同步,或者是否发生不匹配。

# lldpadm show-agent -lv -o "PFC Pending" net0
PFC Pending: True

如果主机和对等方之间的 PFC 信息未聚合,则 PFC Pending 会返回 True 状态。解决不匹配问题之后,PFC Pending 的状态将恢复为 False

要显示代理所通告的所有信息,请使用 lldpadm show-agent 命令的 verbose 选项:

# lldpadm show-agent -v agent

示例 8-4 显示 CoS 优先级定义

此示例说明如何显示特定数据链路上基于 pfcmap 属性值的当前 CoS 优先级定义。例如,假定 pfcmap 配置为 01000000。要显示物理链路上相应的优先级映射,请执行如下命令:

# dladm show-phys -D pfc net0
LINK       COS   PFC   PFC_EFFECT   CLIENTS
ixgbe0     0     YES           NO   net0,vnic1
           1     YES          YES   vnic2
           2     YES           NO   vnic3
           3     YES           NO   vnic4
           4     YES           NO   vnic5
           5     YES           NO   vnic6
           6     YES           NO   vnic7
           7     YES           NO   vnic8

对于物理链路 net0,为数据链路上配置的所有 VNIC 客户机启用了优先级。但是,本地主机将其 PFC 映射调整为对等方的 PFC 映射,如 PFC_EFFECT 字段的值所示,其中,已对 CoS 02-7 禁用优先级。因此,不会为除 vnic2 之外的任何 VNIC 上的通信交换 PFC 帧,无论资源是否可用。此配置允许对流经 vnic2 之外的任何 VNIC 的通信丢弃包。对于 vnic2 上的通信,在出现通信拥塞时将发送 PFC PAUSE 帧,以防止此客户机上发生包丢失。

应用程序 TLV 单元

应用程序 TLV 单元包含有关要用于主机上某应用程序的优先级的信息。该优先级在应用程序优先级表中进行定义。表中的每一个条目都包含应用程序的名称以及指定给该应用程序的优先级。应用程序 TLV 使用此表向其他主机传输应用程序优先级信息。

表中的条目使用以下格式:

protocol-id/selector/ priority

protocol-id/selector 对标识应用程序。Priority 包含 0 到 7 之间的值,用于标识相应应用程序的优先级。

要与其他主机交换此有关某应用程序优先级的信息,可按如下所示设置应用程序 TLV:

# lldpadm set-agenttlvprop -p property=value -a agent appln

例如,对于 FCoE 通信,协议 ID 为 0x8906,选择器 ID 为 1。假定为此应用程序指定优先级 4。根据表 7-3(列出了用于设置应用程序 TLV 的参数),键入以下命令:

# lldpadm set-agenttlvprop -p apt=8906/1/4 -a net0 appln
# lldpadm show-agenttlvprop -a net0 appln
AGENT   TLVNAME   PROPERTY   PERM   VALUE      DEFAULT   POSSIBLE
net0    appln     apt        rw     8906/1/4   --        --