【问题标题】:How to force iscsid to reconnect target?如何强制 iscsid 重新连接目标?
【发布时间】:2013-08-21 23:11:23
【问题描述】:

我已经安装了 open-iscsi,并且已经登录了几个目标。设备已安装,并执行一些 IO。
但是我想断开initiator和target的tcp连接,强制iscsid运行recovery并重新连接。
这个怎么做?

我已经使用 tcpkill 杀死了一些 tcp 连接,iscsid 将运行恢复并重新连接到目标。但我不知道哪个 tcp 连接属于哪个目标。所以如果我想重新连接target1,我可能会终止target2的tcp连接。
如何识别与目标的 tcp 连接?

【问题讨论】:

    标签: linux amazon-web-services linux-kernel linux-device-driver iscsi


    【解决方案1】:

    如果您的目标有不同的 IP 地址,您可以使用 netstat 和 grep 端口 3260 (iscsi)。

    $ netstat -nap | grep 3260
    (Not all processes could be identified, non-owned process info
     will not be shown, you would have to be root to see it all.)
    tcp        0      0 172.16.10.16:48471          172.16.10.201:3260          ESTABLISHED -    
    

    然后在本地端口和目标IP上使用tcpkill:

    $ sudo tcpkill -9 -i eth1 "port 48471 and host 172.16.10.201"
    

    如果您的目标没有不同的 IP 地址,最好的方法是将 iscsid 的日志记录级别提高到 2 以便您可以看到此消息连接。

     log_debug(1, "connected local port %s to %s:%s",
               lserv, conn->host, serv);
    

    似乎没有其他方法可以将启动器端端口从 iscsid 中​​取出。

    【讨论】:

    • 最后我在iscsiadm中添加了一个命令来获取某个连接的src ip和src端口。
    猜你喜欢
    • 2017-10-12
    • 1970-01-01
    • 2022-12-06
    • 2014-12-10
    • 2012-01-27
    • 1970-01-01
    • 2018-01-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多