본문 바로가기
OS-OE Knowledge/Linux-Unix KB

[RHEL] qlaNxxx driver extended logging

by 스쳐가는인연 2021. 9. 17.

FC (SAN) 장애 증상 조사를 위해 보다 많은 정보를 얻고자 할 때,

 

[Troubleshooting] How do I turn on additional qla2xxx or qla4xxx driver extended logging and what logging is available?
https://access.redhat.com/articles/337813

Issue
how do I setup up qlogic driver 'extended_error_logging'
what are the steps for doing this for boot time logging
how can I get additional debug information from the driver
How to enable extended logging on QLogic HBAs?
How to turn-on Fiber Channel HBA extended logging on ?
How to setup logging level for SAN driver ?
How to setup logging level of HBA SAN driver to get better error messages ?

Environment
Red Hat Enterprise Linux (RHEL) 4, 5, 6, 7
Qlogic qla2xxx or qla4xxx drivers

Selecting a $MASK value (which extended events to enable)
qla2xxxx
RHEL 4, 5, and 6.0-6.2, only values 0 or 1 supported/available:
off: $MASK=0
on : $MASK=1

RHEL 6.3+ (2.6.32-279.el6 and later) plus all RHEL 7 releases,

different classes of event messages can be separately turned on or off per the table below for qla2xxx only. If unsure which event classes are needed, use 0x1e400000 which is equivalent to setting 1 in RHEL 4, 5, or 6. See driver sources for exactly what is logged within each class. The above mask value typically will not cause any excessive logging issues except on very large configurations (100s-100s of LUNs).

 

qla4xxx
RHEL 4, 5, and 6.0-6.2, only values 0 or 1 supported/available:
off: $MASK=0
on : $MASK=1

RHEL 6.3+ (2.6.32-279.el6 and later) plus all RHEL 7 releases,

only on ($MASK=2, instead of a value of 1 previously) or off ($MASK=0).

qla2xxx driver RHEL 6.3+ (2.6.32-279.el6 and later including all RHEL 7 versions)
$MASK        Source
Value        Code            Description
----------   --------------  ----------------------------------------------------------------
0x00000000                   default, no logging
0x00001000   ql_dbg_tgt_tmr  Target mode TMF (Task Management Functions such as reset target)
0x00002000   ql_dbg_tgt_mgt  Target mode management 
0x00004000   ql_dbg_tgt      Target mode
0x00008000   ql_dbg_verbose  More verbosity, might not apply to all levels       
0x00010000   ql_dbg_misc     Miscellaneous, everything not covered by other categories
0x00020000   ql_dbg_buffer   Buffer/registers Dump   
0x00040000   ql_dbg_vport    Virtual port debug
0x00080000   ql_dbg_p3p      P3P Specific 
0x00100000   ql_dbg_multiq   MultiQ
0x00200000   ql_dbg_aer      AER/EEH      
0x00400000   ql_dbg_taskm    Task Management
0x00800000   ql_dbg_user     User space    
0x01000000   ql_dbg_timer    Timer routines
0x02000000   ql_dbg_async     Async events
0x04000000   ql_dbg_dpc       DPC Thread
0x08000000   ql_dbg_io        IO tracing   
0x10000000   ql_dbg_disc      Device Discovery
0x20000000   ql_dbg_mbx      Mailbox Cmnds
0x40000000   ql_dbg_init     Module Init & Probe

0x7fffffff - For enabling all logs, can be too many logs
0x1e400000 - Preferred value for capturing essential debug information

                  (equivalent to old ql2xextended_error_logging=1,

                   setting it to 1 in RHEL7 results in this mask value being used)

1) Enable/disable/view during run-time:
qla2xxx:
Enable:  # echo $MASK > /sys/module/qla2xxx/parameters/ql2xextended_error_logging
Disable: # echo 0     > /sys/module/qla2xxx/parameters/ql2xextended_error_logging
View:    # cat          /sys/module/qla2xxx/parameters/ql2xextended_error_logging

qla4xxx:
Enable:  # echo $MASK > /sys/module/qla4xxx/parameters/ql4xextended_error_logging
Disable: # echo 0     > /sys/module/qla4xxx/parameters/ql4xextended_error_logging
View:    # cat          /sys/module/qla4xxx/parameters/ql4xextended_error_logging

2) Enable at boot time, change the driver options after which you need to recreate the initrd image file on RHEL 5 or the initramfs image file on RHEL 6 and 7.

RHEL 4,5-5.5: in /etc/modprobe.conf, update the appropriate qla driver options line, add the line if necessary:
qla2xxx: options qla2xxx {extended-logging-parameter-name}=1
qla4xxx: options qla4xxx {extended-logging-parameter-name}=1

RHEL 5.6-5.*: in /etc/modprobe.conf, update the appropriate qla driver options line, add the line if necessary:
qla2xxx: options qla2xxx ql2xextended_error_logging=1
qla4xxx: options qla4xxx ql4xextended_error_logging=1

RHEL 6.0-6.2: in /etc/modprobe.d/qla*.conf, update the qla options line. If the file doesn't exist, create it.
qla2xxx: options qla2xxx ql2xextended_error_logging=1
qla4xxx: options qla4xxx ql4xextended_error_logging=1

RHEL 6.3+ : in /etc/modprobe.d/qla*.conf, update the qla options line. If the file doesn't exist, create it.
qla2xxx: options qla2xxx ql2xextended_error_logging=$MASK
qla4xxx: options qla4xxx ql4xextended_error_logging=2

RHEL 7.* : in /etc/modprobe.d/qla*.conf, update the qla options line. If the file doesn't exist, create it.
qla2xxx: options qla2xxx ql2xextended_error_logging=$MASK
qla4xxx: options qla4xxx ql4xextended_error_logging=2


Additional/Detailed information need to refer Red Hot Documents

 

 

 

 

반응형