HBA查看和设置
HBA能否被识别
主机上安装好HBA后,可以在主机上执行下面的命令,以便确认主机是否已经识别出安装的HBA。
bash-3.2# lsdev -Cc adapter | grep fc fcs0 Available 05-02 10 Gb FCoE PCI Express Dual Port Adapter (771001801410af03) fcs1 Available 05-03 10 Gb FCoE PCI Express Dual Port Adapter (771001801410af03) fcs2 Available 06-00 4Gb FC PCI Express Adapter (df1000fe) fcs3 Available 06-01 4Gb FC PCI Express Adapter (df1000fe)
上面的回显中,加粗字体部分就是已经找到的2个FC主机接口,速率为4Gbps。跟我们安装的HBA的情况是一致的(1张双口4Gbps的HBA)。这就表明主机已经正常识别出安装的HBA了。
通过上面的命令,还可以得到主机为HBA每个端口的分配的一个物理硬件标识,如上面的fcs2。这个标识在后续的查询命令中会使用到。
HBA WWN查询
当主机已经识别出安装的HBA后,可以使用下面的命令查看HBA的属性。
bash-3.2# lscfg -vpl fcs2 fcs2 U78AB.001.WZSGU6H-P1-C6-T1 4Gb FC PCI Express Adapter (df1000fe) Part Number.................10N7255 Serial Number...............1C047083C7 Manufacturer................001C EC Level....................D77040 Customer Card ID Number.....5774 FRU Number..................10N7255 Device Specific.(ZM)........3 Network Address.............10000000C9AD0B20 ROS Level and ID............02E8277F Device Specific.(Z0)........2057706D Device Specific.(Z1)........00000000 Device Specific.(Z2)........00000000 Device Specific.(Z3)........03000909 Device Specific.(Z4)........FFE01212 Device Specific.(Z5)........02E8277F Device Specific.(Z6)........06E12715 Device Specific.(Z7)........07E1277F Device Specific.(Z8)........20000000C9AD0B20 Device Specific.(Z9)........ZS2.71X15 Device Specific.(ZA)........Z1F2.70A5 Device Specific.(ZB)........Z2F2.71X15 Device Specific.(ZC)........00000000 Hardware Location Code......U78AB.001.WZSGU6H-P1-C6-T1 PLATFORM SPECIFIC Name: fibre-channel Model: LPe11002 Node: fibre-channel@0 Device Type: fcp Physical Location: U78AB.001.WZSGU6H-P1-C6-T1 bash-3.2#
上面的回显中,从Customer Card ID Number可以获取到HBA的型号,从Network Address可以获取到WWN。
HBA物理硬件标识属性查询
在AIX系统中,系统会为HBA的每个端口分配唯一的物理硬件标识(fcs#)和虚拟硬件标识(fscsi#)。这两个设备的属性会影响存储系统与AIX系统的交互,以及上层的业务应用。所以需要根据应用进行设置。
查看HBA的物理硬件标识的属性,可以使用下面的命令:
bash-3.2# lsattr -EHl fcs2 attribute value description user_settable bus_intr_lvl Bus interrupt level False bus_mem_addr 0xffe7e000 Bus memory address False bus_mem_addr2 0xffe7c000 Bus memory address False init_link al INIT Link flags True intr_msi_1 123461 Bus interrupt level False intr_priority 3 Interrupt priority False lg_term_dma 0x800000 Long term DMA True max_xfer_size 0x100000 Maximum Transfer Size True num_cmd_elems 200 Maximum number of COMMANDS to queue to the adapter True pref_alpa 0x1 Preferred AL_PA True sw_fc_class 2 FC Class for Fabric True tme yes Target Mode Enabled True bash-3.2#
上面的属性中,通常需要关注以下内容:
- init_link
表示此FC HBA端口模式,一般有三个值auto、al和pt2pt,分别表示自适应、同时支持仲裁环和点对点模式和仅点对点模式,主要影响链路的连接方式。大部分HBA卡默认值为al,仅有部分8G的HBA默认值为auto,具体可参见实际HBA卡的参数说明书。
- lg_term_dma
表示fcs#存放IO命令和数据的内存大小,默认为0x800000,即8MB,主要影响读写性能。
- max_xfer_size
表示fcs#的IO最大传输长度,默认为0x100000,即1MB,主要影响读写性能。
- num_cmd_elems
表示fcs#的IO并发大小,默认为200,主要影响读写性能。
上面的参数中,只有当主机和阵列无法建立连接或者是读写性能很差的时候,才需要调整,正常情况下不需要进行调整。
HBA虚拟硬件标识属性查询
查看HBA的虚拟硬件标识的属性,可以使用下面的命令:
bash-3.2# lsattr -EHl fscsi2
attribute value description user_settable
attach none How this adapter is CONNECTED False
dyntrk no Dynamic Tracking of FC Devices True
fc_err_recov delayed_fail FC Fabric Event Error RECOVERY Policy True
scsi_id Adapter SCSI ID False
sw_fc_class 3 FC Class for Fabric True
bash-3.2#
上面的参数中,通常需要关注以下内容:
- dyntrk
表示动态跟踪功能,默认为no。开启此功能时,能及时监测对应HBA卡业务状态。
- fc_err_recov
表示快速错误恢复功能,默认为delayed_fail。此参数的设置决定了HBA对于故障的处理时间。
交换机组网时,将fscsi逻辑设备属性dyntrk设置为yes,fc_err_recov设置为fast_fail。
在多路径情况下,这些参数会影响业务的路径选择,需要按照实际情况进行调整。详细的配置方法参见多路径配套的用户指南。
HBA参数调整
当我们需要调整HBA的某一个参数的时候,执行命令“lsattr –Rl fcs# –a 参数名”或者“lsattr -Rl fscsi# -a 参数名”查看该参数可以设置的值:
bash-3.2# lsattr -Rl fcs2 -a max_xfer_size
0x100000
0x200000
0x400000
0x800000
0x1000000
bash-3.2#
如上所示,我们可以看到fcs2的max_xfer_size这个属性中,可以设置成5种不同的值。
如果需要调整该参数值,则可以执行命令“ chdev –l fcs# –a 参数名=值”或“ chdev –l fscsi# –a 参数名=值 -P”,界面如下所示:
bash-3.2# chdev -l fcs2 -a max_xfer_size=0x1000000
修改完成后,需要使用“lsattr -EHl fcs#”或“lsattr -EHl fscsi#”命令确认一下修改已经成功。