16 以太网光纤通道储存:FCoE #
许多企业数据中心的 LAN 和数据流量都依赖于以太网,而其储存基础设施则依赖于光纤通道网络。开放以太网光纤通道 (FCoE) 发起端软件允许配有以太网适配器的服务器经由以太网网络连接光纤通道储存子系统。而在以前,只允许配有光纤通道适配器的系统经由光纤通道架构进行连接。FCoE 技术通过支持网络融合降低了数据中心的复杂度。这有助于保护您在光纤通道储存基础设施方面的现有投资,并简化网络管理。
Open-FCoE 可让您在主机上而不是主机总线适配器上的专有硬件上运行光纤通道协议。它专用于 10 Gbps(每秒千兆位)以太网适配器,但也可用于任何支持暂停帧的以太网适配器。发起端软件提供光纤通道协议处理模块以及基于以太网的传输模块。Open-FCoE 模块充当 SCSI 的低级驱动程序。Open-FCoE 传输使用 net_device
发送和接收包。数据中心桥接 (DCB) 驱动程序提供 FCoE 的服务质量。
FCoE 是一种封装协议,它可以通过以太网连接移动光纤通道协议流量而无需更改光纤通道数据帧。如此一来,您的网络安全和流量管理基础设施就可以像使用光纤通道一样使用 FCoE。
如果存在下列情况,您可以选择在您的企业中部署 FCoE:
贵企业已有光纤通道储存子系统,并拥有具备光纤通道技能和知识的管理员。
您的网络中部署的是 10 Gbps 以太网。
本章说明如何在您的网络中设置 FCoE。
16.1 在安装过程中配置 FCoE 接口 #
如果在交换器上为服务器与光纤通道储存基础结构之间的连接启用了 FCoE,则可以通过适用于 SUSE Linux Enterprise Server 的 YaST 来在操作系统安装期间设置 FCoE 磁盘。有些类型的系统 BIOS 能够自动检测到 FCoE 磁盘,并向 YaST 安装软件报告该磁盘。但不是所有类型的 BIOS 都支持 FCoE 磁盘自动检测。在此情况下若要启用自动检测,您可以在开始安装时将 withfcoe
选项添加到内核命令行:
withfcoe=1
当检测到 FCoE 磁盘时,YaST 安装便会在当时提供配置 FCoE 实例的选项。在“磁盘激活”页面上,选择第 16.3 节 “使用 YaST 管理 FCoE 服务”。
,以访问 FCoE 配置。有关配置 FCoE 接口的信息,请参见引导期间,FCoE 设备将异步显示。虽然 initrd 可确保为根文件系统正确设置这些设备,但对于任何其他文件系统或挂载点(例如 /usr
),并无此类保证。因此,任何系统挂载点(例如 /usr
或 /var
)都不受支持。要使用这些设备,请确保正确同步相应的服务和设备。
16.2 安装 FCoE 和 YaST FCoE 客户端 #
您可以通过在交换机上为服务器的连接启用 FCoE,来于储存基础设施中设置 FCoE 磁盘。如果在安装 SUSE Linux Enterprise Server 操作系统时 FCoE 磁盘可用,系统会在那时自动安装 FCoE 发起端软件。
如果 FCoE 发起端软件和 YaST FCoE 客户端软件均未安装,请使用下列程序通过下面的命令手动安装它们:
tux >
sudo
zypper in yast2-fcoe-client fcoe-utils
也可以使用 YaST 软件管理器来安装以上所列软件包。
16.3 使用 YaST 管理 FCoE 服务 #
您可以使用“YaST FCoE 客户端配置”选项为光纤通道储存基础设施中的 FCoE 磁盘创建、配置和删除 FCoE 接口。若要使用此选项,必须安装并运行 FCoE 发起端服务(fcoemon
守护程序)和“链路层发现协议”代理守护程序 (llpad
),并且必须在支持 FCoE 的交换器上启用 FCoE 连接。
启动 YaST 并选择
› 。在
选项卡上,可按需要查看或修改 FCoE 服务和 Lldpad(链路层发现协议代理守护程序)服务启动时间。启动以太网光纤通道 (FCoE) 服务:: 指定是在服务器引导时启动以太网光纤通道服务
fcoemon
守护程序还是手动启动。该守护程序用于控制 FCoE 接口,并可与llpad
守护程序创建连接。可用值为 (默认)或 。启动 Lldpad 服务:: 指定是在服务器引导时启动“链路层发现协议”代理
llpad
守护程序,还是手动启动该守护程序。llpad
守护程序会向fcoemon
守护程序报告数据中心桥接功能和 FCoE 接口配置的相关信息。可用值为 (默认)或 。
如果修改设置,则单击
保存并应用更改。在
选项卡上,可查看有关服务器上所有检测到的网络适配器的信息,包括有关 VLAN 和 FCoE 配置的信息。您也可以创建 FCoE VLAN 接口、更改现有 FCoE 接口的设置,或删除 FCoE 接口。请使用
列来确定 FCoE 是否可用:- 接口名
如果将
eth4.200
之类名称指派给接口,则 FCoE 在交换机上可用,并会为该适配器激活 FCoE 接口。- 未配置:
如果状态为
,则表示在交换机上启用 FCoE 但尚未为适配器激活 FCoE 接口。选择适配器,然后单击 ,以在适配器上激活接口。- 不可用:
如果状态为
,则表示因为没有在交换机上为该连接启用 FCoE,所以 FCoE 对适配器不可用。
若要设置未经设置的支持 FCoE 的适配器,予以选中,然后单击
。对出现的问题请单击 确认。该适配器现在会以某个接口名称列在
列中。若要更改已设置适配器的设置,请在列表中选择它,然后单击
。可设置下列选项:
启用或禁用为适配器创建 FCoE 实例。
指定适配器是否需要数据中心桥接(通常会需要)。
指定
fcoemon
守护程序是否自动创建 VLAN 接口。
如果修改设置,则单击
保存并应用更改。设置将写入/etc/fcoe/cfg-ethX
文件。fcoemon
守护程序会在初始化时读取每个 FCoE 接口的配置文件。若要去除已设置的接口,请从列表中选择它。单击
,然后单击 确认。FCoE 接口值将更改为 。在
选项卡上,可查看或修改 FCoE 系统服务的常规设置。您可以从 FCoE 服务脚本和fcoemon
守护程序中启用或禁用调试消息,并可指定是否将消息发送至系统日志。单击
保存并应用更改。
16.4 使用命令配置 FCoE #
打开一个终端控制台。
使用 YaST 配置以太网网络接口卡,例如
eth2
。启动“链接层发现协议”代理守护程序 (
llpad
)。tux >
sudo
systemctl start lldpad在以太网适配器上启用数据中心桥接。
tux >
dcbtool sc eth2 dcb on Version: 2 Command: Set Config Feature: DCB State Port: eth2 Status: Successful启用并设置数据中心桥接的优先级流量控制 (PFC) 设置。
tux >
sudo
dcbtool sc eth<x> pfc e:1 a:1 w:1参数设置值为:
- e:<0|1>
控制功能的启用。
- a:<0|1>
控制是否通过数据中心桥接交换协议向对等体推广功能。
- w:<0|1>
控制功能是否希望根据从对等体接收到的反馈来更改其操作配置。
启用数据中心桥接,以接受交换机的 FCoE 优先级设置。
tux >
sudo
dcbtool sc eth2 app:fcoe e:1 Version: 2 Command: Set Config Feature: Application FCoE Port: eth2 Status: Successful将默认的 FCoE 配置文件复制到
/etc/fcoe/cfg-eth2
。tux >
sudo
cp /etc/fcoe/cfg-ethx /etc/fcoe/cfg-eth2启动 FCoE 发起端服务。
systemctl start fcoe.service
将“链接层发现协议”代理守护程序 (
llpad
) 和 FCoE 发起端服务设置为引导时启动。tux >
systemctl enable llpad fcoe
16.5 使用 FCoE 管理工具管理 FCoE 实例 #
fcoeadm
实用程序是以太网光纤通道 (FCoE) 管理工具。可以使用该工具创建、销毁和重置指定网络接口上的 FCoE 实例。fcoeadm
实用程序通过套接字接口将命令发送给正在运行的 fcoemon
进程。有关 fcoemon
的相关信息,请参见 man 8 fcoemon
。
fcoeadm
实用程序可让您查询 FCoE 实例的以下相关信息:
接口
目标 LUN
端口统计数字
fcoeadm
实用程序是 fcoe-utils
软件包的组成部分,该命令的一般语法如下所示:
fcoeadm [-c|--create] [<ethX>] [-d|--destroy] [<ethX>] [-r|--reset] [<ethX>] [-S|--Scan] [<ethX>] [-i|--interface] [<ethX>] [-t|--target] [<ethX>] [-l|--lun] [<ethX>] [-s|--stats <ethX>] [<interval>] [-v|--version] [-h|--help]
有关细节,请参见 man 8 fcoeadm
。
示例#
fcoeadm -c eth2.101
在 eth2.101 上创建 FCoE 实例。
fcoeadm -d eth2.101
删除 eth2.101 上的 FCoE 实例。
fcoeadm -i eth3
显示接口
eth3
上所有 FCoE 实例的相关信息。如果未指定任何接口,则会显示所有已创建 FCoE 实例的接口的相关信息。下面的示例显示连接 eth0.201 的相关信息:tux >
sudo
fcoeadm -i eth0.201 Description: 82599EB 10-Gigabit SFI/SFP+ Network Connection Revision: 01 Manufacturer: Intel Corporation Serial Number: 001B219B258C Driver: ixgbe 3.3.8-k2 Number of Ports: 1 Symbolic Name: fcoe v0.1 over eth0.201 OS Device Name: host8 Node Name: 0x1000001B219B258E Port Name: 0x2000001B219B258E FabricName: 0x2001000573D38141 Speed: 10 Gbit Supported Speed: 10 Gbit MaxFrameSize: 2112 FC-ID (Port ID): 0x790003 State: Onlinefcoeadm -l eth3.101
显示在连接 eth3.101 上发现到的所有 LUN 的详细信息。如果未指定任何连接,则会显示在所有 FCoE 连接上发现到的所有 LUN 的相关信息。
fcoeadm -r eth2.101
重设置 eth2.101 上的 FCoE 实例。
fcoeadm -s eth3 3
以三秒的时间间隔显示具有 FCoE 实例的特定 eth 3 端口的统计信息。每隔一段时间会显示一行统计数字。若未指定时间间隔,则使用默认值一秒。
fcoeadm -t eth3
显示从具有 FCoE 实例的指定 eth3 端口发现到的所有目标的相关信息。每一个已发现目标后面列出了所有关联的 LUN。若未指定实例,则显示来自具有 FCoE 实例的所有端口的目标。下面的示例显示来自 eth0.201 连接的目标的相关信息:
tux >
sudo
fcoeadm -t eth0.201 Interface: eth0.201 Roles: FCP Target Node Name: 0x200000D0231B5C72 Port Name: 0x210000D0231B5C72 Target ID: 0 MaxFrameSize: 2048 OS Device Name: rport-8:0-7 FC-ID (Port ID): 0x79000C State: Online LUN ID Device Name Capacity Block Size Description ------ ----------- ---------- ---------- ---------------------------- 40 /dev/sdqi 792.84 GB 512 IFT DS S24F-R2840-4 (rev 386C) 72 /dev/sdpk 650.00 GB 512 IFT DS S24F-R2840-4 (rev 386C) 168 /dev/sdgy 1.30 TB 512 IFT DS S24F-R2840-4 (rev 386C)
16.6 更多信息 #
有关信息,请参见以下文档:
有关 Open-FCoE 服务守护程序的信息,请参见
fcoemon(8)
手册页。有关 Open-FCoE 管理工具的信息,请参见
fcoeadm(8)
手册页。有关数据中心桥接配置工具的信息,请参见
dcbtool(8)
手册页。有关链路层发现协议代理守护程序的信息,请参见
lldpad(8)
手册页。