From ce17c78717b81cc7deafaee13a03b2298db72050 Mon Sep 17 00:00:00 2001 From: Samy Mahmoudi Date: Sat, 27 Nov 2021 18:46:03 -0500 Subject: Improve 'iscsid.conf' --- etc/iscsid.conf | 93 +++++++++++++++++++++++++++++++-------------------------- 1 file changed, 50 insertions(+), 43 deletions(-) (limited to 'etc') diff --git a/etc/iscsid.conf b/etc/iscsid.conf index f21ed3d..2dc412f 100644 --- a/etc/iscsid.conf +++ b/etc/iscsid.conf @@ -18,10 +18,13 @@ # maintainers. If you leave the iscsid daemon running all # the time then leave this attribute commented out. # -# Default for Fedora and RHEL. (uncomment to activate). +# Default for Fedora and RHEL. Uncomment to activate. # iscsid.startup = /bin/systemctl start iscsid.socket iscsiuio.socket # -# Default if you are not using systemd (uncomment to activate) +# Default for Debian and Ubuntu. Uncomment to activate. +# iscsid.startup = /bin/systemctl start iscsid.socket +# +# Default if you are not using systemd. Uncomment to activate. # iscsid.startup = /usr/bin/service start iscsid # Check for active mounts on devices reachable through a session @@ -38,10 +41,10 @@ # Startup settings #***************** -# To request that the iscsi initd scripts startup a session set to "automatic". +# To request that the iscsi service scripts startup a session, use "automatic": # node.startup = automatic # -# To manually startup the session set to "manual". The default is manual. +# To manually startup the session, use "manual". The default is manual. node.startup = manual # For "automatic" startup nodes, setting this to "Yes" will try logins on each @@ -57,9 +60,10 @@ node.leading_login = No # to CHAP. The default is None. #node.session.auth.authmethod = CHAP -# To configure which CHAP algorithms to enable set -# node.session.auth.chap_algs to a comma seperated list. -# The algorithms should be listen with most prefered first. +# To configure which CHAP algorithms to enable, set +# node.session.auth.chap_algs to a comma separated list. +# The algorithms should be listed in order of decreasing +# preference — in particular, with the most preferred algorithm first. # Valid values are MD5, SHA1, SHA256, and SHA3-256. # The default is MD5. #node.session.auth.chap_algs = SHA3-256,SHA256,SHA1,MD5 @@ -74,7 +78,7 @@ node.leading_login = No #node.session.auth.username_in = username_in #node.session.auth.password_in = password_in -# To enable CHAP authentication for a discovery session to the target +# To enable CHAP authentication for a discovery session to the target, # set discovery.sendtargets.auth.authmethod to CHAP. The default is None. #discovery.sendtargets.auth.authmethod = CHAP @@ -114,31 +118,36 @@ node.conn[0].timeo.login_timeout = 15 node.conn[0].timeo.logout_timeout = 15 # Time interval to wait for on connection before sending a ping. +# The value is in seconds and the default is 5 seconds. node.conn[0].timeo.noop_out_interval = 5 # To specify the time to wait for a Nop-out response before failing # the connection, edit this line. Failing the connection will # cause IO to be failed back to the SCSI layer. If using dm-multipath # this will cause the IO to be failed to the multipath layer. +# The value is in seconds and the default is 5 seconds. node.conn[0].timeo.noop_out_timeout = 5 -# To specify the time to wait for abort response before -# failing the operation and trying a logical unit reset edit the line. +# To specify the time to wait for an abort response before +# failing the operation and trying a logical unit reset, edit the line. # The value is in seconds and the default is 15 seconds. node.session.err_timeo.abort_timeout = 15 # To specify the time to wait for a logical unit response -# before failing the operation and trying session re-establishment +# before failing the operation and trying session re-establishment, # edit the line. # The value is in seconds and the default is 30 seconds. node.session.err_timeo.lu_reset_timeout = 30 # To specify the time to wait for a target response -# before failing the operation and trying session re-establishment +# before failing the operation and trying session re-establishment, # edit the line. # The value is in seconds and the default is 30 seconds. node.session.err_timeo.tgt_reset_timeout = 30 +# The value is in seconds and the default is 60 seconds. +node.session.err_timeo.host_reset_timeout = 60 + #****** # Retry @@ -146,7 +155,7 @@ node.session.err_timeo.tgt_reset_timeout = 30 # To specify the number of times iscsid should retry a login # if the login attempt fails due to the node.conn[0].timeo.login_timeout -# expiring modify the following line. Note that if the login fails +# expiring, modify the following line. Note that if the login fails # quickly (before node.conn[0].timeo.login_timeout fires) because the network # layer or the target returns an error, iscsid may retry the login more than # node.session.initial_login_retry_max times. @@ -160,8 +169,7 @@ node.session.err_timeo.tgt_reset_timeout = 30 # The default node.session.initial_login_retry_max is 8 and # node.conn[0].timeo.login_timeout is 15 so we have: # -# node.conn[0].timeo.login_timeout * node.session.initial_login_retry_max = -# 120 seconds +# node.conn[0].timeo.login_timeout * node.session.initial_login_retry_max = 120s # # Valid values are any integer value. This only # affects the initial login. Setting it to a high value can slow @@ -174,12 +182,12 @@ node.session.initial_login_retry_max = 8 # session and device queue depth ################################ -# To control how many commands the session will queue set +# To control how many commands the session will queue, set # node.session.cmds_max to an integer between 2 and 2048 that is also # a power of 2. The default is 128. node.session.cmds_max = 128 -# To control the device's queue depth set node.session.queue_depth +# To control the device's queue depth, set node.session.queue_depth # to a value between 1 and 1024. The default is 32. node.session.queue_depth = 32 @@ -187,9 +195,9 @@ node.session.queue_depth = 32 # MISC SYSTEM PERFORMANCE SETTINGS ################################## -# For software iscsi (iscsi_tcp) and iser (ib_iser) each session +# For software iscsi (iscsi_tcp) and iser (ib_iser), each session # has a thread used to transmit or queue data to the hardware. For -# cxgb3i you will get a thread per host. +# cxgb3i, you will get a thread per host. # # Setting the thread's priority to a lower value can lead to higher throughput # and lower latencies. The lowest value is -20. Setting the priority to @@ -197,8 +205,8 @@ node.session.queue_depth = 32 # the iscsi or scsi threads dominate the use of the CPU then you may want # to set this value higher. # -# Note: For cxgb3i you must set all sessions to the same value, or the -# behavior is not defined. +# Note: For cxgb3i, you must set all sessions to the same value. +# Otherwise the behavior is not defined. # # The default value is -20. The setting must be between -20 and 20. node.session.xmit_thread_priority = -20 @@ -228,28 +236,28 @@ node.session.iscsi.InitialR2T = No # To enable immediate data (i.e., the initiator sends unsolicited data # with the iSCSI command packet), uncomment the following line: # -# The default is Yes +# The default is Yes. node.session.iscsi.ImmediateData = Yes # To specify the maximum number of unsolicited data bytes the initiator # can send in an iSCSI PDU to a target, edit the following line. # # The value is the number of bytes in the range of 512 to (2^24-1) and -# the default is 262144 +# the default is 262144. node.session.iscsi.FirstBurstLength = 262144 # To specify the maximum SCSI payload that the initiator will negotiate # with the target for, edit the following line. # # The value is the number of bytes in the range of 512 to (2^24-1) and -# the defauls it 16776192 +# the defauls it 16776192. node.session.iscsi.MaxBurstLength = 16776192 # To specify the maximum number of data bytes the initiator can receive # in an iSCSI PDU from a target, edit the following line. # # The value is the number of bytes in the range of 512 to (2^24-1) and -# the default is 262144 +# the default is 262144. node.conn[0].iscsi.MaxRecvDataSegmentLength = 262144 # To specify the maximum number of data bytes the initiator will send @@ -266,12 +274,12 @@ node.conn[0].iscsi.MaxXmitDataSegmentLength = 0 # following line. # # The value is the number of bytes in the range of 512 to (2^24-1) and -# the default is 32768 -# +# the default is 32768. discovery.sendtargets.iscsi.MaxRecvDataSegmentLength = 32768 # To allow the targets to control the setting of the digest checking, -# with the initiator requesting a preference of enabling the checking, uncomment# one or both of the following lines: +# with the initiator requesting a preference of enabling the checking, +# uncomment one or both of the following lines: #node.conn[0].iscsi.HeaderDigest = CRC32C,None #node.conn[0].iscsi.DataDigest = CRC32C,None # @@ -295,41 +303,40 @@ discovery.sendtargets.iscsi.MaxRecvDataSegmentLength = 32768 # # For multipath configurations, you may want more than one session to be -# created on each iface record. If node.session.nr_sessions is greater +# created on each iface record. If node.session.nr_sessions is greater # than 1, performing a 'login' for that node will ensure that the # appropriate number of sessions is created. node.session.nr_sessions = 1 -# When iscsid starts up it recovers existing sessions, if possible. +# When iscsid starts up, it recovers existing sessions (if possible). # If the target for a session has gone away when this occurs, the # iscsid daemon normally tries to reestablish each session, # in succession, in the background, by trying again every two -# seconds, until all sessions are restored. This configuration +# seconds until all sessions are restored. This configuration # variable can limits the number of retries for each session. # For example, setting reopen_max=150 would mean that each session # recovery was limited to about five minutes. -# node.session.reopen_max = 0 #************ # Workarounds #************ -# Some targets like IET prefer after an initiator has sent a task -# management function like an ABORT TASK or LOGICAL UNIT RESET, that -# it does not respond to PDUs like R2Ts. To enable this behavior uncomment -# the following line (The default behavior is Yes): +# Some targets like IET prefer that an initiator does not respond to PDUs like +# R2Ts after it has sent a task management function like an ABORT TASK or a +# LOGICAL UNIT RESET. To adopt this behavior, uncomment the following line. +# The default is Yes. node.session.iscsi.FastAbort = Yes -# Some targets like Equalogic prefer that after an initiator has sent -# a task management function like an ABORT TASK or LOGICAL UNIT RESET, that -# it continue to respond to R2Ts. To enable this uncomment this line +# Some targets like Equalogic prefer that an initiator continue to respond to +# R2Ts after it has sent a task management function like an ABORT TASK or a +# LOGICAL UNIT RESET. To adopt this behavior, uncomment the following line. # node.session.iscsi.FastAbort = No -# To prevent doing automatic scans that would add unwanted luns to the system +# To prevent doing automatic scans that would add unwanted luns to the system, # we can disable them and have sessions only do manually requested scans. # Automatic scans are performed on startup, on login, and on AEN/AER reception -# on devices supporting it. For HW drivers all sessions will use the value -# defined in the configuration file. This configuration option is independent -# of scsi_mod scan parameter. (The default behavior is auto): +# on devices supporting it. For HW drivers, all sessions will use the value +# defined in the configuration file. This configuration option is independent +# of the scsi_mod.scan parameter. The default is auto. node.session.scan = auto -- cgit v1.2.1