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.

Steps
  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.

    node.session.timeo.replacement_timeout=20
  3. Make sure iscsid and (open-)iscsi services are on and enabled for boot.

    Red Hat Enterprise Linux 7, 8, and 9 (RHEL 7, RHEL 8, and RHEL9)

    # 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.

      Red Hat Enterprise Linux 7, 8, and 9 (RHEL 7, RHEL 8, and RHEL9)

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

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

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

      Edit:

      BOOTPROTO=none
      ONBOOT=yes
      NM_CONTROLLED=no

      Add:

      IPADDR=192.168.xxx.xxx
      NETMASK=255.255.255.0

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

      # vim /etc/sysconfig/network-scripts/ifcfg-<NIC port>
      Edit:
      BOOTPROTO=static
      ONBOOT=yes
      NM_CONTROLLED=no
      Add:
      IPADDR=192.168.xxx.xxx
      NETMASK=255.255.255.0
      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. Establish the iSCSI sessions between initiators and targets (four total).

    1. When using ifaces, 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.
    2. 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 192.168.0.1:3260 -I iface0 -P 1

      or

      # iscsiadm -m discovery -t sendtargets -p 192.168.0.1:3260
      The IQN looks like the following:
      iqn.1992-01.com.lenovo:2365.60080e50001bf1600000000531d7be3
    3. Create the connection between the iSCSI initiators and iSCSI targets.

      # iscsiadm -m node -T iqn.1992-01.com.lenovo:2365.60080e50001bf1600000000531d7be3
      -p 192.168.0.1:3260 -I iface0 -l

      or

      # iscsiadm -m node -L all
    4. List the iSCSI sessions established on the host.

      # iscsiadm -m session