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
-
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
-
Change the
node.session.timeo.replacement_timeout
variable in the /etc/iscsi/iscsid.conf file to20
, from a default value of120
.node.session.timeo.replacement_timeout=20
-
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 anyiscsiadm
commands to have sessions persist after reboot. -
Get the host IQN initiator name, which will be used to configure the host to an array.
# cat /etc/iscsi/initiatorname.iscsi
-
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. -
Determine the iSCSI port names using the
# ifconfig -a
command. -
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> 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. -
Restart network services.
# systemctl restart network
-
Make sure the Linux server can ping all of the iSCSI target ports.
-
-
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
. -
Establish the iSCSI sessions between initiators and targets (four total).
-
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
The IQN looks like the following: iqn.1992-01.com.lenovo:2365.60080e50001bf1600000000531d7be3
-
Create the connection between the iSCSI initiators and iSCSI targets, using ifaces.
iscsiadm -m node -T iqn.1992-01.com.lenovo:2365.60080e50001bf1600000000531d7be3 -p 192.168.0.1:3260 -I iface0 -l
-
List the iSCSI sessions established on the host.
# iscsiadm -m session
-