zoukankan      html  css  js  c++  java
  • 服务器HBA卡常见问题

    服务器HBA卡常见问题

    一、概述:

    FC HBA,也即Fibre Channel Host Bus Adapter,光纤通道主机适配器,简称光纤适配器。在FC网络环境中,主机需要和FC网络、FC存储设备(SAN磁盘阵列)连接时需要使用一种接口卡,就如同连接以太网需要以太网卡一样,这种接口卡就叫做FC HBA,简称FC HBA卡。

    我司目前服务器上的的HBA卡主要有两种,属于不同厂家:

    Emulex   LPe31002

    驱动下载位置:

    https://www.broadcom.com/products/storage/fibre-channel-host-bus-adapters/lpe31002-m6

    Qlogic   Qle2692:

    驱动下载位置:

    https://driverdownloads.qlogic.com/QLogicDriverDownloads_UI/SearchByProduct.aspx?ProductCategory=39&Product=1259&Os=65#70

    二、常用命令:

    (1)      查看是否识别到硬件(两种卡是一致的):

    lspci |grep  -i  fibre (注意:如果没有lspci命令,需要装相应的包lspciutils)

    (2)      查看驱动版本:

    两个厂家的驱动名称不一样:Qlogic:qla2xxx

                                                Emulex:lpfc

    刚升级驱动还没有加载时,可以直接看:modinfo  lpfc  | more

                                                                   modinfo  qla2xxx|more

    已经加载上去之后可以:(需要先查看在哪个host上)

    cat /sys/class/scsi_host/host18/lpfc_drvr_version  (lpfc)

      Emulex LightPulse Fibre Channel SCSI driver 11.1.0.2

    cat /sys/class/scsi_host/host16/driver_version   (qla2xxx)

      10.00.00.06.07.6-k

    (3)      查看固件版本:

    可以查看系统信息:

    cat /sys/class/scsi_host/host15/fwrev(lpfc)

      12.6.182.8, sli-4:2:c

    cat /sys/class/scsi_host/host15/fw_version(qla2xxx)

      8.08.03 (d0d5)

                  emulex也可以用特定的工具查看:(需要先安装emulex固件,见下文)

                         /usr/sbin/linlpcfg/elxflash /q

    (4)      查看通道host(这里的通道相当于网卡的网口,一张网卡有两个网口,而一张HBA卡也有两个host)

    注意:实践发现,升级驱动之后,host会发生改变。

    ls  -l  /sys/class/fc_host

     

    (5)      查看通道状态

    cat /sys/class/fc_host/host*/port_stat

     

    (6)      HBA上也有独一无二的标识,:WWN(World Wide Name),FC HBA上的WWN有两种:

    ① Node WWN(WWNN):每块HBA有其独有的Node WWN;

    ② Port WWN(WWPN):每块HBA卡上每个port有其独一无二的Port WWN。

    由于通信是通过port进行的,因此多数情况下需要使用WWPN而不是WWNN。 WWN的长度为8bytes,用16进制表示并用冒号分隔,例如:50:06:04:81:D6:F3:45:42(用0x代表16进制)

    cat /sys/class/fc_host/host15/port_name

    0x100000109ba0e37e

                  cat /sys/class/fc_host/host16/node_name

    0x200000109ba0e37f

    (7)      这个命令是啥?

    cat /sys/class/fc_host/host16/statistics/error_frames

    0x0

    三、常用操作:

    (1)     Emulex升级固件

    1、解压升级工具

    gunzip elxflashOffline-linux-12.2.299.17-1.tgz

    tar -xf elxflashOffline-linux-12.2.299.17-1.tgz

    2、安装升级工具

    cd elxflashOffline-linux-12.2.299.17-1

    ./install.sh

    3、将固件lancerg6_A12.6.182.8.grp复制到/usr/sbin/linlpfcfg/firmware目录。

    4、执行命令进行固件更新,等待执行结束。

    #cd /usr/sbin/linlpcfg

    #./elxflash   /f   /update  /auto   

    5、使用命令./elxflash /q可以查看详细信息。

    cat /sys/class/scsi_host/hostX/fwrev  (X表示当前卡的host号)

    (2)     升级驱动

    源码升级

    /lib/modules/`uname -r`/modules.dep是一个依赖关系文件,也是一个数据库文件,相当于locatedb一样的东西。当系统需要加载内核驱动的时候需要先在这个文件中查找,如果没有系统就会因为找不到相应的文件而停下来并提示。这时,你需要把自己的编译的驱动文件加到/lib/modules/`uname -r`下,然后depmod,这个命令会告诉系统重新扫秒所有的驱动生成一个modules.dep文件。值得注意的是,当系统有多个驱动程序的时候,系统只会优先选择一个驱动当作默认驱动。所以当你更新一个驱动时只需要编译一个驱动,然后放在/lib/modules/`uname -r` 下面合适的位置,然后把原来的驱动删除掉。再depmod就可以了。

    如何编译呢?

    有多种编译方式,这里列出几种:

    1,src.rpm包安装方法elx-lpfc-12.2.383.0-1_rhel7u4.src.rpm

    参考:https://www.cnblogs.com/wrencai/p/4513116.html

    但是有几个问题:

    ① 实践的时候发现并不存在/usr/src/redhat/SPECS 这个目录。但是会在/root下会生成rpmbuild目录,将文中所说的内容换成/root/rpmbuild/SPEC就可以。

    ② 另一个问题是没有config文件,实践发现可以跳过,直接在相应目录下make&make install。

    ③ 如果发现此时驱动还是没变,那就在编译的这个目录下把驱动文件(例如lpfc.ko)拷贝到/lib/modules/`uname -r`,删除旧有的驱动程序,然后depmod。

    ④ 如果你不知到旧的驱动位置,可以modinfo 驱动名称|more 查看原有驱动文件的位置。

    ⑤ 有可能需要安装一些包:gcc、rpm-build、kernel-devel

    2,tar包安装qla2xxx-src-v8.08.00.08.07.5-k19.tar

    解压之后进入目录执行

    make -C /usr/src/kernels/3.10.0-957.5.1.e*  M=`pwd` modules

    会在当前目录下生成相应的驱动文件(这里是qla2xxx.ko)

    然后参考上面的操作

    3,据说还有一种老版本的升级方式

    参考链接:https://wenku.baidu.com/view/433e929f844769eae109ed84.html

    (3)     故障排错

    ①    最常见的就是刷屏报错,主要和存储侧有关系。

    ②    有时候会遇到开机能够切换,但是关机重启新版本不生效,还是安装系统时候的驱动版本。原因是开机的时候会收集驱动程序在initramfs中,当开机用到设备时就会自动加载initramfs中的驱动。所以需要重新生成initramfs文件。

    mkinitrd  -f  initramfs-`uname -r `.img   `uname  -r `

    或者dracut -f

    附:存储的原理图(来源华为存储手册)

     

  • 相关阅读:
    Linux 命令后台运行
    Linux Mint,Ubuntu 18 ,Deepin15.7 安装mysql 没有提示输入密码,修改root用户密码过程
    爬虫第一篇基本库的使用——urllib
    Python开发第五篇
    php 5.6 安装openssl extension 出现编译错误
    bash 中的变量可以这么用
    查表法现实数学函数
    封装boto3 api用于服务器端与AWS S3交互
    python 打包详解
    Python使用boto3操作AWS S3中踩过的坑
  • 原文地址:https://www.cnblogs.com/qiantang/p/13379130.html
Copyright © 2011-2022 走看看