Я установил open-iscsi и имею логин для нескольких целей. Устройство смонтировано и выполняет несколько операций ввода-вывода.
Но я хочу отключить tcp-соединение инициатора и цели, заставить iscsid запустить восстановление и снова подключиться.
Как это сделать?
Я использовал tcpkill, чтобы убить некоторое соединение tcp, и iscsid запустит восстановление и снова подключится к цели. Но я не знаю, какое соединение tcp принадлежит целевой. Поэтому, если я хочу повторно подключить target1, я могу убить tcp-соединение target2.
Как определить соединения tcp с целями?Как заставить iscsid повторно подключить цель?
0
A
ответ
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 -
Затем используйте tcpkill на локальном порту и назначения IP:
$ sudo tcpkill -9 -i eth1 "port 48471 and host 172.16.10.201"
Если ваши цели не имеют разные IP-адреса, это выглядит как самый лучший способ повысить уровень протоколирования iscsid до , чтобы вы могли видеть это сообщение, которое регистрируется при подключении.
log_debug(1, "connected local port %s to %s:%s",
lserv, conn->host, serv);
Не существует другого способа получить порт стороны инициатора из iscsid.
Наконец, я добавил команду в iscsiadm, чтобы получить порт src ip и src некоторого соединения. – pengdu