使用 bnx2fc 操作 FCoE

Broadcom 通过 bnx2fc 实现的 FCoE 卸载是完全有状态的硬件卸载,它与 Linux 生态系统为 FC/FCoE 和 SCSI 控制器提供的所有接口协同工作。 因此,一旦启用 FCoE 功能,它在很大程度上是透明的。 在 SAN 上发现的设备将自动向上层存储层注册和注销。

尽管 Broadcom 的 FCoE 卸载是完全卸载的,但它确实依赖于网络接口的状态才能运行。 因此,与 FCoE 卸载发起程序关联的网络接口(例如,eth0)必须处于“up”状态。 建议将网络接口配置为在启动时自动启动。

此外,Broadcom FCoE 卸载解决方案会创建 VLAN 接口来支持已发现的用于 FCoE 操作的 VLAN(例如,eth0.1001-fcoe)。 不要删除或禁用这些接口,否则 FCoE 操作将会中断。

驱动程序使用模型:

  1. 确保已安装 fcoe-utils 包。

2. 配置 bnx2fc 驱动程序需要在其上运行的接口。以下是配置步骤

  1. cd /etc/fcoe

  2. 如果需要在 eth5 上启用 FCoE,则将 cfg-ethx 复制到 cfg-eth5。

  3. 对所有需要启用 FCoE 的接口重复此操作。

  4. 编辑所有 cfg-eth 文件,将 DCB_REQUIRED** 字段设置为“no”,并将 AUTO_VLAN 设置为“yes”。

  5. 其他配置参数应保留为默认值

  1. 确保“bnx2fc”位于 /etc/fcoe/config 中的 SUPPORTED_DRIVERS 列表中。

4. 启动 fcoe 服务。(service fcoe start)。如果系统中存在 Broadcom 设备,bnx2fc 驱动程序将自动声明接口,启动 vlan 发现并登录到目标。

5. 如果 bnx2fc 已声明接口,则 ‘fcoeadm -i’ 输出中的“符号名称”将显示。

例如

[root@bh2 ~]# fcoeadm -i
   Description:      NetXtreme II BCM57712 10 Gigabit Ethernet
   Revision:         01
   Manufacturer:     Broadcom Corporation
   Serial Number:    0010186FD558
   Driver:           bnx2x 1.70.00-0
   Number of Ports:  2

       Symbolic Name:     bnx2fc v1.0.5 over eth5.4
       OS Device Name:    host11
       Node Name:         0x10000010186FD559
       Port Name:         0x20000010186FD559
       FabricName:        0x2001000DECB3B681
       Speed:             10 Gbit
       Supported Speed:   10 Gbit
       MaxFrameSize:      2048
       FC-ID (Port ID):   0x0F0377
       State:             Online
  1. 通过运行 ifconfig 验证是否执行了 vlan 发现,并注意自动创建了 <INTERFACE>.<VLAN>-fcoe 接口。

有关 fcoeadm 操作以创建/销毁接口或显示 lun/目标信息的更多信息,请参阅 fcoeadm 手册页。

注意

** Broadcom 具有 FCoE 功能的设备在芯片上实现了一个 DCBX/LLDP 客户端。 每个接口只允许一个 LLDP 客户端。 为了正常运行,必须禁用所有基于主机的软件 DCBX/LLDP 客户端(例如 lldpad)。 要在给定的接口上禁用 lldpad,请运行以下命令

lldptool set-lldp -i <interface_name> adminStatus=disabled