如何强制iscsid重新连接目标?

时间:2013-08-16 08:37:33

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

我已安装open-iscsi,并已登录多个目标。设备已安装,并执行一些IO。
但我想断开启动器和目标的tcp连接,强制iscsid运行恢复和重新连接。
这该怎么做?

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

1 个答案:

答案 0 :(得分:0)

如果你的目标有不同的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。