To configure host-side networking, you must perform several steps.

About this task

You configure iSCSI networking on the host side by setting the number of node sessions per physical path, turning on the appropriate iSCSI services, configuring the network for the iSCSI ports, creating iSCSI face bindings, and establishing the iSCSI sessions between initiators and targets.

In most cases, you can use the inbox software-initiator for iSCSI CNA/NIC. You do not need to download the latest driver, firmware, and BIOS. Refer to Lenovo Storage Interoperation Center (LSIC) to determine code requirements.

  1. Check the node.session.nr_sessions variable in the /etc/iscsi/iscsid.conf file to see the default number of sessions per physical path. If necessary, change the default number of sessions to one session.

    node.session.nr_sessions = 1
  2. Change the node.session.timeo.replacement_timeout variable in the /etc/iscsi/iscsid.conf file to 20, from a default value of 120.

  3. Make sure iscsid and (open-)iscsi services are on and enabled for boot.

    Red Hat Enterprise Linux 7 and 8 (RHEL 7 and RHEL 8)

    # systemctl start iscsi
    # systemctl start iscsid
    # systemctl enable iscsi
    # systemctl enable iscsid

    SUSE Linux Enterprise Server 12 and 15 (SLES 12 and SLES 15)

    # systemctl start iscsid.service
    # systemctl enable iscsid.service

    Optionally, you set node.startup = automatic in /etc/iscsi/iscsid.conf before running any iscsiadm commands to have sessions persist after reboot.

  4. Get the host IQN initiator name, which will be used to configure the host to an array.

    # cat /etc/iscsi/initiatorname.iscsi
  5. Configure the network for iSCSI ports:

    In addition to the public network port, iSCSI initiators should use two or more NICs on separate private segments or vLANs.
    1. Determine the iSCSI port names using the # ifconfig -a command.

    2. Set the IP address for the iSCSI initiator ports. The initiator ports should be present on the same subnet as the iSCSI target ports.

      On Red Hat Enterprise Linux 7 and 8 (RHEL 7 and RHEL 8)

      # vim /etc/sysconfig/network-scripts/ifcfg-<NIC port>

      On SUSE Linux Enterprise Server 12 and 15 (SLES 12 and SLES 15)

      # vim /etc/sysconfig/network-scripts/ifcfg-<NIC port>
      Be sure to set the address for both iSCSI initiator ports.
    3. Restart network services.

      # systemctl restart network
    4. Make sure the Linux server can ping all of the iSCSI target ports.

  6. Configure the iSCSI interfaces by creating two iSCSI iface bindings.

    iscsiadm -m iface -I iface0 -o new
    iscsiadm -m iface -I iface0 -o update -n iface.net_ifacename -v <NIC port1>
    iscsiadm -m iface -I iface1 -o new
    iscsiadm -m iface -I iface1 -o update -n iface.net_ifacename -v <NIC port2>
    To list the interfaces, use iscsiadm -m iface.
  7. Establish the iSCSI sessions between initiators and targets (four total).

    1. Discover iSCSI targets. Save the IQN (it will be the same with each discovery) in the worksheet for the next step.

      iscsiadm -m discovery -t sendtargets -p -I iface0 -P 1
      The IQN looks like the following:
    2. Create the connection between the iSCSI initiators and iSCSI targets, using ifaces.

      iscsiadm -m node -T
      -p -I iface0 -l
    3. List the iSCSI sessions established on the host.

      # iscsiadm -m session