出现connection9060:0: detected conn error信息时的问题定位分析

    在使用iscsi设备时(open-iscsi+iscsitarget),在kern.log内核日志中发现了大量的conn error信息:

Jan 13 10:20:47 localhost kernel: [11724968.627194]  connection9060:0: detected conn error (1020)
Jan 13 10:20:50 localhost kernel: [11724971.630087]  connection9060:0: detected conn error (1020)
Jan 13 10:20:53 localhost kernel: [11724974.632964]  connection9060:0: detected conn error (1020)
Jan 13 10:20:56 localhost kernel: [11724977.636364]  connection9060:0: detected conn error (1020)
Jan 13 10:20:59 localhost kernel: [11724980.639286]  connection9060:0: detected conn error (1020)
Jan 13 10:21:02 localhost kernel: [11724983.642603]  connection9060:0: detected conn error (1020)
Jan 13 10:21:05 localhost kernel: [11724986.645804]  connection9060:0: detected conn error (1020)
Jan 13 10:21:08 localhost kernel: [11724989.649207]  connection9060:0: detected conn error (1020)
Jan 13 10:21:11 localhost kernel: [11724992.652387]  connection9060:0: detected conn error (1020)
Jan 13 10:21:14 localhost kernel: [11724995.655345]  connection9060:0: detected conn error (1020)
Jan 13 10:21:17 localhost kernel: [11724998.658605]  connection9060:0: detected conn error (1020)

如果量大一直不处理,很有可能会造成日志把空间撑满的情况。

上述日志是在/var/log/kern.log中看到的,这是内核的日志,现在查看/var/log/syslog信息,发现里有iscsid的用户态的错误信息:

Jan 13 10:35:10 localhost kernel: [11725831.173647]  connection9060:0: detected conn error (1020)
Jan 13 10:35:10 localhost iscsid: conn 0 login rejected: initiator error - target not found (02/03)

既然是报的target not found,就是表示open-iscsi去连接一个不存在的的target。

通过sudo iscsiadm -m session -P3查看现在有哪些target,但是有可能得到的target比较多,怎么能够快速的找出是那个target不存在呢?

    观察kern.log中的内核出错日志发现,“connection9060:0: detected conn error (1020)”这条信息一直在重复,而且数字一直是9060没有改变,
说明有可能是个什么id,直接从sudo iscsiadm -m session -P3的输出信息中搜9060这个数字,发现

Target: iqn.com.test.1
    Current Portal: 192.168.9.10:3260,1
    Persistent Portal: 192.168.9.10:3260,1
        **********
        Interface:
        **********
        Iface Name: default
        Iface Transport: tcp
        Iface Initiatorname: iqn.1993-08.org.debian:01:627d92f42f40
        Iface IPaddress: 
        Iface HWaddress: 
        Iface Netdev: 
        SID: 9060
        iSCSI Connection State: TRANSPORT WAIT
        iSCSI Session State: FREE
        Internal iscsid Session State: REOPEN
这个target里有9060,是SID,会不会是巧合呢?直接去192.168.9.10上通过cat /proc/net/iet/volume查看
发现确实没有这个target,通过查看open-iscsi的源代码,得知
9060是session id,0是connection id,
从iscsid中的“conn 0 login rejected: initiator error - target not found”可以看出确实conn id是0。

解决办法:

把这个不存在的target给logout掉,内核就不会再一直输出错误日志了。

sudo iscsiadm -m node -T iqn.com.test.1 --logout

你可能感兴趣的:(块设备)