Go to main content

Managing SAN Devices and I/O Multipathing in Oracle® Solaris 11.4

Exit Print View

Updated: November 2020
 
 

Enabling Multiple iSCSI Sessions for a Single Target

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.

How to Enable Multiple iSCSI Sessions per Target

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
  1. Become an administrator.

    For more information, see Using Your Assigned Administrative Rights in Securing Users and Processes in Oracle Solaris 11.4.

  2. List the current parameter values of the iSCSI initiator and target.
    • 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.

  3. Modify the number of configured sessions. You can modify the configured session by using either of the following methods.
    • 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.

  4. Verify if the parameter is modified.

    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