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