Article 5B9TZ iSCSI is it possible to keep program I/O alive?

iSCSI is it possible to keep program I/O alive?

by
Nemesiz
from LinuxQuestions.org on (#5B9TZ)
Hello,

Right now I`m using SAMBA with connection option "hard". That keeps my programs away from loosing I/O operations while SAMBA try to reestablishing connection.

Now I want to move to iSCSI with the same possibilities.

To make the test I do

Code:#dd /dev/urandom | pv | dd of=/dev/[iscsi_disk]In that time I stop TGT service and
a) file copy hangs
b) iSCSI initiator try to reconnect.

After TGT shutdown and let say after 120 tries to reconnect I start TGT and then
a) iSCSI initiator reestablish connection
b) copy process gets error

Code:# dd if=/dev/urandom | pv | dd of=/dev/[iscsi_disk]
dd: writing to '/dev/[iscsi_disk]': Input/output error <=> ]
3.34MiB 0:09:32 [5.97KiB/s] [ <=> ]
6713+0 records in
6712+0 records out
3436544 bytes (3.4 MB, 3.3 MiB) copied, 573.013 s, 6.0 kB/sStrange thing is that doing directly with #pv thet problem did not appeared and write was continuing.

Going deeper I want to use iSCSI for ZFS. And the problem after I/O errors ZFS suspends pool and i cannot resume it. I have to export and import pool.

Code:# BEGIN RECORD 2.0-874
node.name = iqn.2020-12.xxx:xxx
node.tpgt = 1
node.startup = automatic
node.leading_login = No
iface.iscsi_ifacename = default
iface.transport_name = tcp
iface.vlan_id = 0
iface.vlan_priority = 0
iface.iface_num = 0
iface.mtu = 0
iface.port = 0
iface.tos = 0
iface.ttl = 0
iface.tcp_wsf = 0
iface.tcp_timer_scale = 0
iface.def_task_mgmt_timeout = 0
iface.erl = 0
iface.max_receive_data_len = 0
iface.first_burst_len = 0
iface.max_outstanding_r2t = 0
iface.max_burst_len = 0
node.discovery_address = xxx
node.discovery_port = 3260
node.discovery_type = send_targets
node.session.initial_cmdsn = 0
node.session.initial_login_retry_max = 8
node.session.xmit_thread_priority = -20
node.session.cmds_max = 128
node.session.queue_depth = 32
node.session.nr_sessions = 1
node.session.auth.authmethod = CHAP
node.session.auth.username = xxx
node.session.auth.password = xxx
node.session.timeo.replacement_timeout = -1
node.session.err_timeo.abort_timeout = 15
node.session.err_timeo.lu_reset_timeout = 30
node.session.err_timeo.tgt_reset_timeout = 30
node.session.err_timeo.host_reset_timeout = 60
node.session.iscsi.FastAbort = Yes
node.session.iscsi.InitialR2T = No
node.session.iscsi.ImmediateData = Yes
node.session.iscsi.FirstBurstLength = 262144
node.session.iscsi.MaxBurstLength = 16776192
node.session.iscsi.DefaultTime2Retain = 0
node.session.iscsi.DefaultTime2Wait = 2
node.session.iscsi.MaxConnections = 1
node.session.iscsi.MaxOutstandingR2T = 1
node.session.iscsi.ERL = 0
node.conn[0].address = xxx
node.conn[0].port = 3260
node.conn[0].startup = manual
node.conn[0].tcp.window_size = 524288
node.conn[0].tcp.type_of_service = 0
node.conn[0].timeo.logout_timeout = 15
node.conn[0].timeo.login_timeout = 15
node.conn[0].timeo.auth_timeout = 45
node.conn[0].timeo.noop_out_interval = 5
node.conn[0].timeo.noop_out_timeout = 5
node.conn[0].iscsi.MaxXmitDataSegmentLength = 0
node.conn[0].iscsi.MaxRecvDataSegmentLength = 262144
node.conn[0].iscsi.HeaderDigest = None
node.conn[0].iscsi.DataDigest = None
node.conn[0].iscsi.IFMarker = No
node.conn[0].iscsi.OFMarker = No
# END RECORDAnyone can say to me is it possible for fix/avoid this situation? Thankslatest?d=yIl2AUoC8zA latest?i=vK0ffMdYMDc:33FjLBzQsos:F7zBnMy latest?i=vK0ffMdYMDc:33FjLBzQsos:V_sGLiP latest?d=qj6IDK7rITs latest?i=vK0ffMdYMDc:33FjLBzQsos:gIN9vFwvK0ffMdYMDc
External Content
Source RSS or Atom Feed
Feed Location https://feeds.feedburner.com/linuxquestions/latest
Feed Title LinuxQuestions.org
Feed Link https://www.linuxquestions.org/questions/
Reply 0 comments