In Oracle Solaris, the multiple sessions per target (MS/T) strategy provides better performance than multiple connections per session. Using MS/T and creating multiple TCP connections ensures better usage of the networking stack. This feature also ensures better performance by using multiple send and receive threads.
You can use the following procedure to create multiple iSCSI sessions that connect to a single target. This scenario is useful with iSCSI target devices that support login redirection or have multiple target portals in the same target portal group. You can achieve higher bandwidth by using multiple NICs on the host side to connect to multiple portals on the same target. When multiple iSCSI sessions are configured per target (MS/T), I/O multipathing combines these sessions to a single iSCSI device.
If there are multiple target portal groups configured on a target device, the configured number of sessions are created to each of these target portal groups. sendtarget discovery automatically detects the existence of multiple target portal group tag (TPGTs) and creates multiple target sessions.
Before You Begin
Confirm that the multipathing configuration parameter is enabled in the /etc/driver/drv/iscsi.conf file.
# cd /etc/driver/drv # grep mpxio iscsi.conf iscsi.conf iscsi.conf:mpxio-disable="no";
Also, confirm that multiple network connections are available and are configured by using IPMP.
# ipadm show-addr
For more information, see Using Your Assigned Administrative Rights in Securing Users and Processes in Oracle Solaris 11.4.
List the current parameter values of the iSCSI initiator.
For example:
initiator# iscsiadm list initiator-node Initiator node name: iqn.1986-03.com.sun:01:0003ba4d233b.425c293c Initiator node alias: zzr1200 . . . Configured Sessions: 1
List the current parameter values of the iSCSI target.
For example:
initiator# iscsiadm list target-param iqn.1986-03.com.sun:02:02380f80-ab3c-47a9-8882-d3cafc2c49ae Target: iqn.1986-03.com.sun:02:02380f80-ab3c-47a9-8882-d3cafc2c49ae Alias: - . . . Configured Sessions: 1
The value of the configured session parameter is the number of iSCSI sessions that is created for each target name in a target portal group.
Configure the initiator node to apply to all targets (globally) or apply to a specific target by providing the number of the configured session.
To apply the desired parameter value to the iSCSI initiator node:
initiator# iscsiadm modify initiator-node -c Number-of-configured session
For example:
initiator# iscsiadm modify initiator-node -c 4
To apply the desired parameter value to the iSCSI target:
initiator# iscsiadm modify target-param -c Number-of-configured session target-name
For example:
initiator# iscsiadm modify target-param -c 4 iqn.1992-08.com.abcstorage:sn.84186266
Configure the initiator node to apply to all targets (globally) or apply to a specific target by providing one or more local IP addresses.
In this method, you must supply one or more local IP addresses in a comma-separated list. Each IP address represents an iSCSI session. TCP connections associated with the session will bind to the particular local IP address. Binding multiple local addresses is a preferred configuration when used with IPMP.
To apply the desired parameter value to the iSCSI initiator node:
initiator# iscsiadm modify initiator-node -c IP address1, IP address2
For example:
initiator# iscsiadm modify initiator-node -c 192.0.2.1,198.51.100.1
To apply the desired parameter value to the iSCSI target:
initiator# iscsiadm modify target-param -c IP address1, IP address2 target-name
For example:
initiator# iscsiadm modify target-param -c 192.0.2.1,198.51.100.1 iqn.1992-08.com.abcstorage:sn.84186266
For information about routing when using multiple local addresses, see Maintaining IP Connectivity and Routing While Deploying IPMP in Administering TCP/IP Networks, IPMP, and IP Tunnels in Oracle Solaris 11.4.
Display the updated information for the initiator node.
For example:
initiator# iscsiadm list initiator-node Initiator node name: iqn.1986-03.com.sun:01:0003ba4d233b.425c293c Initiator node alias: zzr1200 . . . Configured Sessions: 4
Display the updated information for the target node.
For example:
initiator# iscsiadm list target-param -v iqn.1992-08.com.abcstorage:sn.84186266 Target: iqn.1992-08.com.abcstorage:sn.84186266 Alias: - . . . Configured Sessions: 4
Creating multiple sessions present multiple paths to Oracle Solaris I/O multipathing. To list the number of paths for each LU, use the following command.
initiator# mpathadm list lu