此案例适用于SUSE10、CentOS5.X、RedHat5.X、OEL5.X、OEL6.X操作系统。
主机超时参数采集
- 设备登录成功后,发送cat /etc/*-release命令获取操作系统版本号,如果为SUSE Linux Enterprise Server 10,继续执行步骤2。
linux-8jmd:~ # cat /etc/*-release
SUSE Linux Enterprise Server 10 (x86_64)
VERSION = 10
PATCHLEVEL = 4
LSB_VERSION="core-2.0-noarch:core-3.0-noarch:core-2.0-x86_64:core-3.0-x86_64"
- 发送ls /sys/class/fc_host命令获取host列表。
ls /sys/class/fc_host
host3 host4 host5 host6 host7 host8
- 依次发送cat /sys/class/fc_host/hostX/port_state命令获取端口状态,其中hostX中的“X”表示HBA卡端口号。也可使用host*,记录所有为Online的 host信息。

- 通过步骤3记录的hostX信息,执行如下命令cat /sys/class/scsi_host/hostX/model*name,其中hostX中的“X”表示HBA卡端口号,依次获取每一个host的HBA卡型号,并记录映射关系。也可使用host*,查询所有host的HBA卡型号,确认卡类型为Emulex卡还是Qlogic卡。若为Qlogic卡。
图1 HBA卡类型为Emulex卡
图2 HBA卡类型为Qlogic卡
- 根据不同HBA卡类型,执行命令采集超时参数。
- 如果HBA卡类型为E卡(Lpe)开头,通过如下方式查询E卡的超时参数。
- 汇总所有的E卡对应的host列表,执行cat /sys/class/scsi_host/hostX/lpfc_devloss_tmo依次获取每一个host的HBA卡超时时间,其中hostX中的“X”表示HBA卡端口号。也可使用host*,采集全部FC端口超时时间。

- 通过如下命令cat /sys/class/fc_host/hostX/port_name依次获取host的wwpn号,报错时使用,其中hostX中的“X”表示HBA卡端口号。
[root@centos5 host0]# cat /sys/class/fc_host/host3/port_name
0x10000000c9aa552a
- 如果HBA卡类型为Q卡(QLE开头),通过如下方式查询所有Q卡的超时参数:
- 发送qaucli命令,此需要安装插件才能执行。发送qaucli命令后,如果命令回文中存在Please Enter Selection,则命令执行成功,继续执行下面步骤;否则收集到超时时间设定为Unknown,结束收集。

- 命令以Please Enter Selection结束时,输入2(配置适配器参数)。

- 命令以Please Enter Selection:结束时,输入3(HBA卡参数)。

- 命令以Please Enter Selection:结束时,截取命令回文中的如下信息,获取HBA Model、Port、WWPN的信息(此处排除掉Link Down的端口信息,如果为Link Down则不需要查询)。

- 针对每个端口号(此例中为1、2、3、4)依次执行如下步骤。
- 输入端口号:此例为1。

- 输入1(Display HBA Parameters)查询HBA卡相关信息,获取Link Down Timeout (seconds)字段的值为HBA卡超时时间。

- 端口查询完后,输入0退出到上一级的选择目录。继续输入下一个端口进行查询。全部查询完成后:输入quit退出。
- 如果为其他厂商的卡(HBA卡型号:非Lpe和QLE开头的卡),尝试以E卡的收集方式来收集。
HBA卡超时评估报错
注意: HBA查询过程中,如果命令执行失败,收集时报错,并且在html文档中增加“命令执行失败:执行出错!”。Txt文档中增加报错信息。Excel文档中的HBA卡超时时间用“Error”来代替。其他的卡要继续收集。


- E卡超时时间检查不通过,报错信息如下:
HBA卡的端口(HBA model: LPe11002, host ID: host3,WWPN:0x10000000c9aa552a )超时时间检查不通过(Timeout:30);
HBA卡的端口(HBA model: LPe11002, host ID: host4,WWPN:0x10000000c9aa5456)超时时间检查不通过(Timeout:45);
- Q卡超时时间检查不通过,报错信息如下:
- 安装 QConvergeConsoleCLI插件情况下:
HBA卡的端口(HBA model: LPe11002, host ID: host3,WWPN:0x10000000c9aa552a)超时时间检查不通过(Timeout:30);
HBA卡的端口(HBA model: LPe11002, host ID: host4,WWPN:0x10000000c9aa5456)超时时间检查不通过(Timeout:45);
HBA卡的端口(HBA model: QLE2462, host ID: host1,WWPN:21-00-00-E0-8B-87-45-11)超时时间检查不通过(Timeout:30);
HBA卡的端口(HBA model: QLE2462, host ID: host2,WWPN:21-00-00-E0-8B-87-45-12)超时时间检查不通过( Timeout:45);
- 未安装 QConvergeConsoleCLI插件情况下:
HBA卡的端口(HBA model: LPe11002, host ID: host3,WWPN:0x10000000c9aa552a)超时时间检查不通过(Timeout:30);
HBA卡的端口(HBA model: LPe11002, host ID: host4,WWPN:0x10000000c9aa5456)超时时间检查不通过(Timeout:45);
- 未安装QConvergeConsoleCLI插件,无法获取所有Qlogic卡的超时时间,检查不通过;
其他厂商的卡检查不通过,报错信息如下:
{'Timeout': 'Error', 'HBAModel': 'HPAE312A', 'Host': {'PortID': 'host2', 'HBAName': 'NA'}, 'HBADriver': 'NA', 'WWPN': '0x50014380020021b0'},
修改HBA超时参数
- HBA卡为Emulex卡
执行echo X > /sys/class/scsi_host/hostY/lpfc_devloss_tmo, 修改HBA超时参数,X为超时参数,Y为FC端口号,如图所示,设置超时5s。

- HBA卡为Qlogic卡
请输入qaucli进行主机超时时间参数修改。

请选择2,Adapter Configuration。

请选择3,选择HBA参数。

- 请选择要修改超时时间参数的端口,此处以Port 1为例。

请选择2,配置HBA参数。

- 请设置超时时间参数,此处设置超时参数15s为例。

- 请选择19,提交修改。

- 如果为其他厂商的卡(HBA卡型号:非Lpe和QLE开头的卡),尝试以E卡的修改方式来修改。
验证超时参数修改生效
即时生效,重启失效。再次收集超时时间进行验证。
图3 验证Emulex卡超时时间修改
图4 验证Qlogic卡超时时间修改
修复建议
如果有其它异常或任何疑问,请联系技术支持工程师处理。