Skip to main content

Configure host-side networking

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 the Interoperability Matrix document 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.
    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 (RHEL 7)
    # systemctl start iscsi
    # systemctl start iscsid
    # systemctl enable iscsi
    # systemctl enable iscsid

    SUSE Linux Enterprise Server 12 (SLES 12)
    # systemctl start iscsid.service
    # systemctl enable iscsid.service

  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:
    Note
    In addition to the public network port, iSCSI initiators should use two NICs or more 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.
      # vim /etc/sysconfig/network-scripts/ifcfg-<NIC port>Edit: BOOTPROTO=none
      ONBOOT=yes
      NM_CONTROLLED=no
      Add: IPADDR=192.168.xxx.xxx
      NETMASK=255.255.255.0

      Note
      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>

    Note
    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 192.168.0.1:3260 –I iface0 –P 1

      Note
      The IQN looks like the following:
      iqn.2002-09.lenovo:de-series.600a098000af40fe000000005b565ef8

    2. Create the connection between the iSCSI initiators and iSCSI targets, using ifaces.
      iscsiadm –m node –T iqn.2002-09.lenovo:de-series.600a098000af40fe000000005b565ef8
      –p 192.168.0.1:3260 –I iface0 -l
    3. List the iSCSI sessions established on the host.
      # iscsiadm -m session