01-正文
本章节下载: 01-正文 (3.26 MB)
本文主要介绍H3C Uniserver B16000刀箱内IB交换模块(BX1020B)与IB网卡(IB1040i)的配置方法及常见问题处理。
由于IB交换模块没有管理串口,管理员需要IB网卡配合才能管理IB交换模块。因此对于IB交换模块的管理操作,需要先将IB交换模块和带有IB网卡的刀片服务器安装到刀箱中,然后在刀片服务器的Linux操作系统下进行(本文以服务器安装Redhat 7.5系统为例)。集群(包含IB网卡和IB交换模块在内的整个刀箱环境)中只需要有一台满足要求的刀片服务器,即可管理所有IB交换模块。
刀箱IB配置是基于IB集群化的概念,通过启用SM(子网管理器,后面章节有详细描述),来统一管理当前集群下的所有IB设备(本文指IB交换模块和IB网卡)。IB集群分为物理层和逻辑层,刀箱内IB交换模块与IB网卡均在位连接时,物理层为linkup状态,只有启用SM,逻辑层链路才能正常使用。
本章节主要介绍了配置子网管理器的方法,子网管理器是将整个IB集群的设备进行统一管理,运行在刀箱内的一台安装了IB网卡的刀片服务器上,在配置子网管理器之前, 需要在当前的服务器上对IB网卡进行驱动升级,及MFT工具包进行安装,MFT是一套固件管理工具,用于生产标准化或定制化Mellanox固件镜像、查询固件信息、烧录固件镜像。为了保证子网管理器正常使用,需要确认IB交换模块和IB网卡正常物理连接。根据业务需求可给IB网卡端口设置IP地址。
请联系技术支持,根据版本配套表下载IB网卡的驱动安装包。
IB网卡的驱动安装包的文件名请以实际情况为准,本文中以“MLNX_OFED_LINUX-4.7-1.0.0.1-rhel7.5-x86_64.tgz”举例。
(1) 使用ftp或者SSH工具将驱动包上传到节点服务器的/home目录下。
(2) 在当前/home路径下对IB网卡进行解压:
参考命令:tar –xvf MLNX_OFED_LINUX-4.7-1.0.0.1-rhel7.5-x86_64.tgz
(3) 进入MLNX_OFED_LINUX-4.7-1.0.0.1-rhel7.5-x86_64/目录下,执行命令:./mlnxofedinstall,进行IB网卡的驱动安装。
(4) 驱动安装成功后,重启服务器。
安装完成IB网卡驱动并重启,需要为IB端口配置一个IP地址,配置方法和以太网端口的IP配置方法一样,步骤如下:
(1) 在IB网卡所在的刀片服务器的/etc/sysconfig/network-scripts/下修改配置文件ifcfg-ib0,配置IP地址和子网掩码。
(2) 配置完成后重启网络服务使IP生效,执行命令:systemctl restart network.service
(3) 配置子网管理器
IB网络使用子网管理器(Subnet Manager,下文简称SM)管理网络路由,SM可以运行在刀片服务器或者具有管理功能的IB交换模块上(本文介绍运行在服务器节点上)。SM启用时,会统一将集群中的设备根据GUID(globally unique identifier,全局唯一标识符)进行LID号(Local Identifier,端口标识符)分配,LID号是唯一的,无特殊情况下不进行回收。
MLNX_OFED(官方驱动名称)驱动中集成了子网管理器SM,安装MLNX_OFED驱动后, SM已默认安装。SM可以运行在一台或者多台服务器节点上,但同时只有一台处于Active状态,为了确保当前集群的正常运行。当主的SM处于down的状态,备的SM会接替主的SM。主备切换间隙暂不会影响业务,但当SM未启用时,集群内的所有的IB网卡端口的逻辑层会处于初始化状态,会影响业务运行。
(4) 启用子网管理器
在服务器节点上开启子网管理功能
· 方法一:执行命令:/etc/init.d/opensmd start
此方法会默认将当前服务器上第一个IB网卡Active的端口作为SM管理口,如果集群中需要备的SM,可以在集群中其他服务器中执行/etc/init.d/opensm start。
· 方法二:执行opensm –B –g <GUID> -p <sm_priority>命令为IB网卡端口设置优先级,优先级最高且处于Active状态的端口将被选择为主SM,其余端口为备SM。其中<GUID>表示IB网卡的GUID号,可以通过ibstat命令查询;<sm_priority>表示SM的优先级,取值范围为0~14,数值越大优先级越高。
MFT是一套固件管理工具,用于生产标准化或定制化Mellanox固件镜像、查询固件信息、烧录固件镜像。请自行上网获取MFT工具。
MFT工具包的文件名请以实际情况为准,本文中以“mft-4.13.0-104-x86_64-rpm.tgz”举例。
(1) 通过FTP或者SSH工具将MFT工具包上传到刀片服务器的/home目录下
(2) 执行命令:tar -xvf mft-4.13.0-104-x86_64-rpm.tgz解压IB通用的MFT工具包。
(3) 进入/home/ mft-4.13.0-104-x86_64-rpm /,执行命令:./install.sh --oem,安装MFT工具
(4) MFT工具安装成功后,执行命令:mst start,确认工具已安装成功,并且能运行。
子网管理器设置成功后,就可以对当前集群下的所有的IB设备进行统一管理。
(1) 节点服务器启动mst服务,执行命令:mst start。如已执行请跳过。
(2) 自动将集群中的所有IB设备加入子网管理器中统一管理,执行命令:mst ib add
(3) 查看集群中添加的IB设备,命令mst status –v(截图中的Inband devices表示已添加的设备)
(4) 设备加入集群中后可以对当前的设备进行升级、查询,具体使用方法可以参考3.11 IB交换模块和IB网卡固件升级。
本命令用于查看IB网卡的基本信息。
【命令】
ibstat
【举例】
【信息说明】
CA ‘mlx5_0’:网卡端口名称,用于指定端口打流时多带的参数。
Firmware version:当前网卡的固件版本。
State:逻辑层网卡连接状态。
Physical state:物理层网卡连接状态。
Rate:速率。
Base lid:SM分配的LID号。
SM lid:当前SM的LID号。
Port GUID:网卡每个端口的GUID号,可用来指定SM。
本命令用于查看当前系统下网卡名称与系统下ib端口名称的对应关系及状态。
【命令】
ibdev2netdev
ibdev2netdev -v
【举例】
本命令用于将集群中所有的IB网卡设备进行罗列。
【命令】
ibhosts
【举例】
【信息说明】
0xe41d2d0030570ce6 :IB网卡的端口GUID号。
wlp-node8 HCA-1:服务器系统下IB网卡的名称。
本命令用于查看网卡端口的详细信息,与ibstat功能类似,多了PSID(board_id)信息。
【命令】
ibv_devinfo
【举例】
【信息说明】
board_id:PSID厂家信息编码。
本命令用于查看服务器系统下网卡的Node GUID号。
【命令】
ibv_devices
【举例】
本命令用于查询当前集群下SM的GUID号,表明当前SM设备已经被指定。
【命令】
sminfo
【举例】
本命令用于集群内开始mst服务,该命令用于启动注册访问程序,列出可用mst设备。
【命令】
mst start
【举例】
本命令用于将集群中所有的IB设备加入到当前的集群中,进行统一管理。
【命令】
mst ib add
【举例】
【信息说明】
Added 6 ib-band devices:当前集群中可以加入的设备数量(包含交换IB交换模块和IB网卡)。
本命令用于查看集群中所有IB设备。
【命令】
mst status –v
【举例】
【信息说明】
DEVICE_TYPE:IB网卡设备的型号、设备全称、PCI号、相关联的CPU。
Inband devices:此处查看设备分配的lid号为16进制,需要转化成十进制。
本命令用于对当前集群下的设备进行管理使用,查询网卡或者IB交换模块的基本信息。
【命令】
flint -d <IB device> query
【参数说明】
<IB device>:表示IB交换模块和IB网卡名称,该名称可以通过mst status –v命令查询,如/dev/mst/SW_MT54000_Quantum_Mellanox_Technologies_lid-0x0001。IB交换模块名称以SW开头,IB网卡以网卡名称开头,例如mt4119_pciconf0。
【举例】
· IB交换模块固件版本查询举例:
· IB网卡固件版本查询举例:
本命令用于IB网卡和IB交换模块的固件升级。
【命令】
flint -d <IB device> -i < fw version> burn。
【参数说明】
<IB device>:表示IB交换模块和IB网卡名称,该名称可以通过mst status –v命令查询,如/dev/mst/SW_MT54000_Quantum_Mellanox_Technologies_lid-0x0001。IB交换模块名称以SW开头,IB网卡以网卡名称开头,例如mt4119_pciconf0。
< fw version>:表示固件版本。
详细参数可以输入flint --help进行参考。
【举例】
· IB交换模块固件版本升级,升级完成后IB交换模块需要断电重启生效。
· IB网卡固件版本升级,升级完成后请重启服务器生效。
本命令用于查询IB交换模块内部及外部口端口状态以及IB网卡本身的端口状态。
【命令】
查看IB网卡的端口状态:
mlxlink -d <IB device>
查看IB交换模块上端口状态:
mlxlink -d <IB device> -port <port number>
【参数说明】
<IB device>:表示IB交换模块和IB网卡名称,该名称可以通过mst status –v命令查询,如/dev/mst/SW_MT54000_Quantum_Mellanox_Technologies_lid-0x0001。IB交换模块名称以SW开头,IB网卡以网卡名称开头,例如mt4119_pciconf0。
<port number>:表示端口号,取值1~41。
详细参数可以输入mlxlink --help进行参考。
【举例】
· 查询当前IB网卡的端口状态及端口速率。
· 查看IB交换模块33号端口状态及速率。
【信息说明】
Speed:表示当前网卡支持的最大带宽速率。
Enabled Link Speed:表示当前网卡支持的协商速率。
Support Cable Speed:表示与IB交换模块连接的线缆支持的协商速率(红色字体表示为内部连接无cable)。
本命令用于设置IB网卡的端口的up/down,仅适用于当前服务器下的IB网卡。
【命令】
mlxlink -d <IB device> -a <up/down>
【参数说明】
<IB device>:表示IB网卡名称,该名称可以通过mst status –v命令查询,如mt4119_pciconf0。
<up/down>:端口的up/down状态,取值为:UP或DN,DN表示down。
【举例】
· 设置IB网卡端口为down状态。
· 设置IB网卡端口为UP状态。
本命令用于查看IB交换模块的所有端口的连接状态。此命令会将集群内所有的IB交换模块都进行列举。
【命令】
iblinkinfo
【举例】
【信息说明】
① 表示这台交换机的GUID号,唯一区分交换机的标识。
② LID号,集群创建时SM分配的唯一便于管理的lid号。
③ 表示1-20号口为IB交换模块与网卡连接的内部端口,其中11-12、17-18为预留口。
④ 表示21-40为IB交换模块外部连接口。
⑤ 表示41号口为虚拟机口,为集群跑压力的自由路由端口。
⑥ 表示当前端口的连接速率:4X*25.78125=100Gpbs(EDR)。
⑦ 表示网卡端口的lid号及所对应的服务器。
⑧ 表示IB交换模块外部连接口的lid号、端口序列号、对端连接设备的名称。
本命令用于对当前集群下的设备进行管理使用,查询网卡或者IB交换模块的基本信息,详细介绍请参见3.10 IB交换模块和IB网卡设备信息查询。
本命令用于IB网卡和IB交换模块的固件升级,详细介绍请参见3.11 IB交换模块和IB网卡固件升级。
本命令用于查看集群内IB交换模块设备的情况。
【命令】
ibnetdiscover
【举例】
【信息说明】
① 表示交换机的GUID号,用于区别集群中的IB交换模块。
② 表示与当前交换机连接的设备信息及连接端口。
本命令用于查看当前集群的IB交换模块,此命令会将集群中所有的设备一一列举。
【命令】
ibswitches
【举例】
【信息说明】
显示当前IB交换模块的总端口数量以及集群下lid号。
本命令用于将IB交换模块端口up/down/reset。
【命令】
ibportstate <LID> <Port> <port state>
【参数说明】
<LID>:表示端口所在设备的LID号。
<Port>:端口号。
<port state>:包括enable、disable等状态,enable表示端口UP,disable表示端口DOWN。
详细参数可以输入ibportstate --help进行参考。
【举例】
· 查看LID为1的设备的33号端口状态。
· 设置LID为1的设备的33号端口状态为Down。
· 设置LID为1的设备的33号端口状态为UP。
本命令用于检测当前集群下物理链路的健康情况,利用快速查看环境下链路状态。
执行此命令之后log信息都在/var/tmp/ibdiagnet2/目录下。
【命令】
ibdiagnet
【参数说明】
详细参数可以输入ibdiagnet --help进行参考。
【举列】
本命令用于收集IB交换模块端口日志信息。
【命令】
mlxdump -d <IB device> snapshot --mode full -o <log name>
【参数说明】
<IB device>:表示IB交换模块和IB网卡名称,该名称可以通过mst status –v命令查询。
<log name >:表示日志文件的名称,如Quantum_mlxdump1.log。
详细参数可以输入flint --help进行参考。
【举例】
诊断步骤:
(1) 排查IB卡与服务器的兼容性
· 如果使用非标准系统,请联系具体OS研发解决。
· 如果IB卡版本不配套,请先升级。
(2) 排查PCIe硬件设备是否可以见(lspci |grep Mellanox)
· 如果PCIe设备不可见,看相应CPU是否在位;IB网卡是否未安装到位;更换IB网卡的槽位
· 如果PCIe设备可见,但是网口不可见,可使用ifconfig –a /ifconfig ibN up,然后重新安装驱动,重启系统。
诊断步骤:
(1) 排查IB网卡是否up,且状态为link。
· 如果是,查看IP是否设置正确网口上,相关命令:ifconfig ibN up,ibstat。
· 如果否,建议检查集群中的opensm功能是否开启,相关命令:/etc/init.d/opensm start , /etc/init.d/opensm status。
(2) 重新对IB网卡更换槽位,检查是否正常。
(3) 查看与当前网卡连接的IB交换模块是否在位可用。
诊断步骤:
(1) 排查当前IB网卡是否可以支持当前所需要协商的速率。
· 如果否,请更换支持的IB Mezz网卡。
· 如果是,排查端口是否被协商降速,具体命令参考:3.12 端口速率及状态查询
(2) 更换当前的网卡槽位,检查是否正常。
该IB命令在驱动还未加载的情况下被调用,执行命令:/etc/init.d/openibd start。
表5-1 IB交换模块常见故障诊断方法
故障种类 |
故障现象 |
故障原因及处理方法 |
LEDs |
面板端口指示灯为琥珀色常亮 |
这个状态标明端口仅物理层UP: 确认SM已经运行在当前网络中:/etc/init.d/opensm status; 将当前线缆进行更换,确认非线缆问题。 |
面板端口指示灯闪烁(琥珀色) |
这个状态可能说明线缆有问题: 将当前的线缆进行更换,确认非线缆问题; 更换面板其他端口,确认非端口问题。 |
|
IB交换模块指示灯闪红色 |
这个状态说明交换机有告警信息: 确认风扇正常使用,未导致IB交换模块温度过高; |
|
IB交换模块系统指示灯长灭 |
这个状态说明可能IB交换模块未正常上电: 确认OM电源正常使用,且可正常给IB交换模块上电; 确认IB交换模块固件版本正确,GUID设备号正确烧录。 |
不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!