Copyright (c) 2008, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the
fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
iscsiadm subcommand direct-object [options] [operand]
The iscsiadm command enables management of the iSCSI (Internet SCSI) initiator on a host. iscsiadm is implemented as a set of subcommands, many with their own options, which are described in the section for that subcommand. Options not associated with a particular subcommand are described under OPTIONS.
iscsiadm works only when the following service is online:
svc:/network/iscsi/initiator:default
The iscsiadm command supports the following subcommands, which are described in detail in subsections that follow:
add
Adds element(s) to an object.
list
Lists element(s) of an object.
modify
Modifies attributes of an object.
remove
Removes an element from an object.
The iscsiadm subcommands operate on a direct-object. These are described in the section for each subcommand.
The iscsiadm command supports the Internet Storage Name Service (iSNS) for the discovery of iSCSI targets. The command supports the Challenge Handshake Authentication Protocol (CHAP) for authentication.
The syntax for the add subcommand is:
# iscsiadm add direct_object [operands...]
The add subcommand adds the following direct_objects:
discovery-address discovery-address [...]
Adds a target to a list of discovery addresses. A discovery address (as in the syntax shown below) is an IP address:port combination used in a SendTargets discovery session. Using this discovery approach, a target device can inform an initiator of the target address and target name of each target exposed by that device. Connection to a target is not attempted unless the SendTargets method of discovery has been enabled on the host. You enable this method with the modify subcommand. The discovery-address parameter is formatted as:
<IP address>[:port]If port is not specified, the default of 3260 will be used.
isns-server isns-server [...]
Add an iSNS server to the list of iSNS server addresses. An iSNS server address (specified in the syntax shown below) is an IP address-port combination used in an iSNS discovery session. By using iSNS discovery, an iSNS server can provide an initiator with information about a portal and the name of each target that belongs to the same discovery domain as that of the initiator. Connection to the iSNS server is not attempted unless the iSNS method of discovery has been enabled on the host. You enable this method with the modify subcommand, described below. The isns-server parameter is formatted as:
IP_address[:port]If a port is not specified, the default of 3205 is used.
static-config static_target [...]
Adds a target to the list of statically configured targets. A connection to the target will not be attempted unless the static configuration method of discovery has been enabled. The static_target parameter is formatted as:
<target-name>,<target address>[:port-number][,tpgt]<target-name> can be up to 223 characters.
The syntax for the list subcommand is:
# iscsiadm list direct-object [options]
The list subcommand displays data for the following direct-objects:
discovery
Lists the discovery methods and their current activation state, enabled or disabled. Discovery methods are:
iSNS (Internet Storage Name Service)
Static
SendTargets
initiator-node
Lists information for the initiator node on the host. The iSCSI initiator node represents a logical HBA and is a logical host connection point for iSCSI targets. The parameter values listed in the response are default parameter settings for the initiator. Each connected target for an initiator can have parameter values that differ from the parameter values on the initiator node.
static-config [static_target[, ...]]
Lists the target name and address for specified targets or, if no static targets are specified, all statically discovered targets.
target [-S] [-v] [target[, ...]]
Lists a target's current parameters, connection state, and which method was used for the target's discovery. Reports information for specified targets or, if no targets are specified, all targets that have been discovered or have had parameters modified by the modify target subcommand. When used with the -S option for a specified target, this subcommand returns:
target name
logical unit number
vendor ID
product ID
target-param [-v] target [...]
Lists a target's default and user-defined parameters.
discovery-address [-v] [discovery-address[, ...]]
Lists the discovery-address objects that have been added using the iscsiadm add discovery-address subcommand. When used with the -v option, lists all known targets at a specified discovery-address. The -v option returns one or more target names along with zero or more target addresses and associated target portal group tags (TPGT), if applicable.
isns-server [-v] [isns-server[, ...]]
Lists the isns-server objects that have been added using the iscsiadm add isns-server subcommand. When used with the -v option, this subcommand lists all known targets at a specified isns-server address. The -v option returns one of more target names along with zero or more target addresses and associated target portal group tags, if applicable.
The syntax for the modify subcommand is:
# iscsiadm modify direct_object [options]
The modify subcommand supports the following direct_objects:
discovery [options]
Enabling a discovery method initiates a discovery using that method. Disabling a discovery method that is currently enabled does not affect connections to any targets that have already been discovered by that method. Options for modify discovery are as follows:
-i, -iSNS enable | disable
Enable or disable iSNS discovery.
-s, --static enable | disable
Enable or disable static discovery.
-t, --sendtargets enable | disable
Enable or disable SendTargets discovery.
initiator-node [options]
Modifies an initiator's properties. If a target is currently connected, this operation can succeed. However, the modified set of parameters will not be in effect for that target until an existing connection session no longer exists and a new connection has been established. The options -C and --CHAP-secret require a CHAP secret entry in response to a prompt. For iSCSI booting when the Solaris I/O multipathing feature (formerly known as Sun StorEdge Traffic Manager [STMS] or MPxIO) is disabled, you can modify only the following initiator-node options:
-r, --radius-server
-R, --radius-access
-P, --radius-shared-secret
-h, --headerdigest
-d, --datadigest
-c, --configured-sessions
-A, --node-alias <initiator node alias>
Modifies the initiator node alias. Maximum length of 223 characters.
-a, --authentication chap | none
Sets the authentication mode.
-C, --CHAP-secret
Sets the CHAP secret value. There is no default value. Maximum length is 16 characters; minimum required length is 12 characters.
-c, --configured-sessions <num_sessions> | <IP address>[,<IP address>...]
Sets the number of configured iSCSI sessions that will be created for each iSCSI target. The feature should be used in combination with the Solaris I/O multipathing feature described in scsi_vhci(7D).
-d, --datadigest none | CRC32
Sets whether CRC32 is enabled to check SCSI data transfers.
-H, --CHAP-name CHAP name
Specifies a CHAP username. If you do not use this option, upon initialization, the CHAP name is set to the initiator node name. When the authentication method is set to CHAP (see -a/--authentication option, above), the CHAP username is displayed with the command iscsiadm list initiator-node.
-h, --headerdigest none | CRC32
Sets whether CRC32 is enabled to check SCSI packet headers.
-N, --node-name <initiator node name>
Modifies the initiator node name. Maximum of 223 characters.
Note -
During Solaris installation, the initiator node name is set to a globally unique value. Changing this value can adversely affect operation within the iSCSI network.
-P, --radius-shared-secret (exclusive)
Sets the RADIUS shared secret.
-R, --radius-access enable | disable
Sets whether a RADIUS server will be used.
-r, --radius-server <IP address>[:<port>]
Sets the IP address and port of the radius server to be used.
-T, --tunable-param <<tunable-prop>=<value>, ...>
Specify one or more tunable parameters for all targets that initiator node connected.
Note -
These values should only be modified by an administrator with a good working knowledge of the parameter's impact within the iSCSI network.
recv-login-rsp-timeout
Session Login Response Time The recv-login-rsp-timeout option specifies how long iSCSI initiator will wait for the response of iSCSI session login request from the iSCSI target. Valid value is from 0 to 60*60, default to 60 seconds.
conn-login-max
Maximized Connection Retry Time The conn-login-max option lets the iSCSI initiator reestablish the connection to the target in case of IO timeout or connection failure during the given time window. Valid value is from 0 to 60*60, default to 180 seconds.
polling-login-delay
Login Retry Time Interval The polling-login-delay option specifies the time interval between each login retry when iSCSI initiator to target IO timeout or connection failure. Valid value is from 0 to 60*60, default to 60 seconds.
target-param [options] target
Modifies a target's parameters. If a target is currently connected, the modify operation will succeed, although the modified settings might not take effect for a few seconds. To confirm that these settings are active, use iscsiadm list target -v. If a specified target is not associated with any discovery method, a target object is created with the specified parameters. After using this command to modify a target's parameters, the new parameters will persist until they are modified or removed with a iscsiadm remove target-param command on that target. The options -C and --CHAP-secret require a CHAP secret entry in response to a prompt. Options for modify target-param are as follows:
-B, --bi-directional-authentication enable | disable
Sets the bidirectional option. If set to enable, the initiator performs bidirectional authentication for the specified target.
-C, --CHAP-secret
Sets the target's CHAP secret value. There is no default value. Maximum acceptable length is 16 characters.
-c, --configured-sessions <num_sessions> | <IP address>[,<IP address>...]
Sets the number of configured iSCSI sessions that will be created for each iSCSI target. The feature should be used in combination with the Solaris I/O multipathing feature described in scsi_vhci(7D).
-d, --datadigest none | CRC32
Sets whether CRC32 is enabled or disabled for the data.
-H, --CHAP-name CHAP name
Sets a CHAP username. If you do not use this option, upon initialization, the CHAP name is set to the target name. When the authentication method is set to CHAP (see -a/--authentication option, under the initiator-node direct object, above), the CHAP username is displayed with the command iscsiadm list initiator-node.
-h, --headerdigest none | CRC32
Sets whether CRC32 is enabled or disabled for the header.
-p, --login-param
Specify one or more login parameter settings.
Note -
These values should only be modified by an administrator with a good working knowledge of the parameter's impact within the iSCSI network.
dataseqinorder
yes or no
defaulttime2retain
0-3600
defaulttime2wait
0-3600
firstburstlength
512 to 2^24-1
immediatedata
yes or no
initialr2t
yes or no
maxburstlength
512 to 2^24-1
datapduinorder
yes or no
maxoutstandingr2t
1 to 65535
maxrecvdataseglen
512 to 2^24-1
-T, --tunable-param <<tunable-prop>=<value>, ...>
Specify one or more tunable parameters for all targets that initiator node connected.
Note -
Tunable values should only be modified by an administrator with a good working knowledge of the parameter's impact within the iSCSI network.
recv-login-rsp-timeout
Session Login Response Time The recv-login-rsp-timeout option specifies how long iSCSI initiator will wait for the response of iSCSI session login request from the iSCSI target. Valid value is from 0 to 60*60, default to 60 seconds.
conn-login-max
Maximized Connection Retry Time The conn-login-max option lets the iSCSI initiator reestablish the connection to the target in case of IO timeout or connection failure during the given time window. Valid value is from 0 to 60*60, default to 180 seconds.
polling-login-delay
Login Retry Time Interval The polling-login-delay option specifies the time interval between each login retry when iSCSI initiator to target IO timeout or connection failure. Valid value is from 0 to 60*60, default to 60 seconds.
The syntax for the remove subcommand is:
# iscsiadm remove direct_object
The remove subcommand supports the following direct_objects:
discovery-address discovery-address, ...
Removes a target device from the list of discovery addresses. A discovery address (as in the syntax shown below) is an IP address-port combination used in a SendTargets discovery session. Using this discovery approach, a target device can inform an initiator of the target address and target name of each target exposed by that device. If any target exposed by the discovery address is currently mounted or there is active I/O on the device, an error of "logical unit in use" is returned and the operation fails. If the associated devices are not in use, they are removed. discovery-address must be formatted as:
<IP address>[:<port>]There are no options associated with this direct object.
isns-server isns-server, ...
Removes an iSNS server from the list of iSNS server addresses. An iSNS server address (specified in the syntax shown below) is an IP address-port combination used in an iSNS discovery session. By using iSNS discovery, an iSNS server can provide an initiator with information about a portal and the name of each target that belongs to the same discovery domain as that of the initiator. If any target discovered by means of iSNS is currently mounted or there is active I/O on the device, an error of "logical unit in use" is returned and the operation fails. If the associated devices are not in use, they are removed. isns-server must be formatted as:
IP_address[:port]There are no options associated with this direct object.
static-config static_target, ...
Removes a target from the list of statically discovered targets. If the target being removed is currently mounted or there is active I/O on the device, an error of "logical unit in use" is returned and the operation fails. If a device is not in use, it will be removed. static_target must be formatted as:
<target-name>,<target-address>[:port-number][,tpgt]There are no options associated with this direct object.
target-param target-name
Removes target specified by target-name. The target name is formatted as:
<target-name>
There are no options associated with this direct object. For iSCSI booting when
the Solaris I/O multipathing feature (formerly known as Sun StorEdge Traffic
Manager [STMS] or MPxIO) is enabled, you cannot remove the target.
Do not configure a target to be discovered by both static and dynamic discovery methods. The consequence of using redundant discovery methods might be slow performance when communicating with the iSCSI target device.
The following generic options are supported:
-V, --version
Displays version information. Stops interpretation of subsequent arguments.
-?, --help
Displays help information. Can be used following an iscsiadm command with no arguments, following a subcommand, or following a subcommand-direct object combination. Responds with help information appropriate for your entry. For example, if you enter:
# iscsiadm modify initiator-node --help
...iscsiadm responds with a display of the options available for that
combination of subcommand and direct object.
Example 1 Adding a Discovery Address
The following command uses the add subcommand to add a discovery address.
# iscsiadm add discovery-address 10.0.0.1:3260 10.0.0.2:3260
Example 2 Adding a Static Target
The following command uses the add subcommand to add a static target.
# iscsiadm add static-config \e
iqn.1999-08.com.array:sn.01234567,10.0.0.1:3260
Example 3 Listing Current Discovery Settings
The following command uses the list subcommand to list current discovery settings.
# iscsiadm list discovery
Discovery:
Static: enabled
Send Targets: disabled
iSNS: enabled
Example 4 Obtaining Verbose Discovery Output
The following commands uses the -v option (one with, one without) with the list subcommand to obtain verbose output.
# iscsiadm list discovery-address Discovery Address: 10.0.0.1:3260 Discovery Address: 10.0.0.2:3260 # iscsiadm list discovery-address -v 10.0.0.1:3260 Discovery Address: 10.0.0.1:3260 Target name: eui.210000203787d1f7 Target address: 10.0.0.1:3260 Target name: eui.210000203787a693 Target address: 10.0.0.1:3260
Example 5 Displaying Information on the Initiator
The following command uses the list subcommand to display information on the initiator.
# iscsiadm list initiator-node Initiator node name: iqn.1986-03.com.company.central.interopv20-1 Initiator node alias: interopv20-1 Login Parameters (Default/Configured): Header Digest: NONE/NONE Data Digest: NONE/NONE Authentication Type: CHAP CHAP Name: iqn.1986-03.com.company.central.interopv20-1 RADIUS Server: NONE RADIUS access: disabled Tunable Parameters (Default/Configured): Session Login Response Time: 60/- Maximum Connection Retry Time: 180/- Login Retry Time Interval: 60/- Configured Sessions: 1
Example 6 Displaying Static Configuration Information
The following command uses the list subcommand to display information about static configurations.
# iscsiadm list static-config
Static target: eui.210000203787a693,10.0.0.1:3260
Example 7 Displaying Target Information
The following commands show the use of the list subcommand with various options to display information about targets.
# iscsiadm list target Target: iqn.2004-05.com.abcStorage:Tgt-1 Alias: - TPGT: 12288 ISID: 4000002a0000 Connections: 1# iscsiadm list target -v iqn.2004-05.com.abcStorage:Tgt-1 Target: iqn.2004-05.com.abcStorage:Tgt-1 Alias: - TPGT: 12288 ISID: 4000002a0000 Connections: 1 CID: 0 IP address (Local): 10.4.52.158:32803 IP address (Peer): 10.4.49.70:3260 Discovery Method: SendTargets Login Parameters (Negotiated): Data Sequence In Order: yes Data PDU In Order: yes Default Time To Retain: 20 Default Time To Wait: 2 Error Recovery Level: 0 First Burst Length: 65536 Immediate Data: yes Initial Ready To Transfer (R2T): yes Max Burst Length: 262144 Max Outstanding R2T: 1 Max Receive Data Segment Length: 65536 Max Connections: 1 Header Digest: NONE Data Digest: NONE # iscsiadm list target -S iqn.2004-05.com.abcStorage:Tgt-1 Target: iqn.2004-05.com.abcStorage:Tgt-1 Alias: - TPGT: 12288 ISID: 4000002a0000 Connections: 1 LUN: 6 Vendor: ABCStorage Product: iSCSI Target OS Device Name: /dev/rdsk/c3t1d0s2 LUN: 5 Vendor: ABCStorage Product: iSCSI Target OS Device Name: /dev/rdsk/c3t0d0s2
Example 8 Displaying Target Parameter Information
The following command uses the list subcommand to display target information for a specific target.
# iscsiadm list target-param -v iqn.2004-05.com.abcStorage:Tgt-1 Target: iqn.2004-05.com.abcStorage:Tgt-1 Alias: - Bi-directional Authentication: disabled Authentication Type: NONE Login Parameters (Default/Configured): Data Sequence In Order: yes/- Data PDU In Order: yes/- Default Time To Retain: 20/- Default Time To Wait: 2/- Error Recovery Level: 0/- First Burst Length: 65536/- Immediate Data: yes/- Initial Ready To Transfer (R2T): yes/- Max Burst Length: 262144/- Max Outstanding R2T: 1/- Max Receive Data Segment Length: 65536/- Max Connections: 1/- Header Digest: NONE/- Data Digest: NONE/- Tunable Parameters (Default/Configured): Session Login Response Time: 60/- Maximum Connection Retry Time: 180/- Login Retry Time Interval: 60/- Configured Sessions: 1
Example 9 Enabling Static Discovery Method
The following command uses the modify subcommand to enable the static discovery method.
# iscsiadm modify discovery --static enable
Example 10 Setting the IP Address for the Radius Server
The following command uses the modify subcommand to set the IP address for the radius server, which will be used for CHAP authentication.
# iscsiadm modify initiator --radius-server 10.0.0.1
Example 11 Setting the Node Name for Initiator
The following command uses the modify subcommand to set the node name for the initiator node.
# iscsiadm modify initiator-node -N iqn.2004-10.com.SUN.host-1
Example 12 Changing Target Parameters
The following command uses the modify subcommand to change the target parameters for a specified target.
# iscsiadm modify target-param -d none -h none eui.210000203787a693
Example 13 Removing a Discovery Address
The following command uses the remove subcommand to remove a discovery address.
# iscsiadm remove discovery-address 10.0.0.1:3260
Example 14 Removing Target Parameters
The following command uses the remove subcommand to remove a set of target parameters.
# iscsiadm remove target-param eui.210000203787a693
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | Committed |
attributes(5), iscsi(7D), scsi_vhci(7D)
System Administration Guide: Devices and File Systems