SAVE AS PDF
Lyve Mobile Array Command Line Interface (CLI) User Manual
Lyve Mobile Array Command Line Interface (CLI) 

Was this content helpful?

Linux iSCSI Network Setup for Lyve Mobile Rackmount Receiver

You can use lmacli to configure an iSCSI data path between a Linux host and a Lyve Mobile Rackmount Receiver connected to the same data network.

The following steps are required:

  1. Install the required packages on Linux.
  2. Configure the network interfaces used for iSCSI with static IP addresses on Linux.
  3. Configure Lyve Mobile Rackmount Receiver for iSCSI.
  4. Check for network connectivity between the host and the Lyve Mobile Rackmount Receiver.
  5. Connect the software iSCSI initiator on the host to the iSCSI target.
  6. Configure I/O multipath to improve I/O bandwidth.

Install Open-iSCSI and multipath-tools on Linux

Red Hat Enterprise Linux

To install Open-iSCSI and multipath tools:

  1. On the Linux station, open a terminal session.
  2. Enter the following command:

sudo yum install lsscsi device-mapper-multipath iscsi-initiator-utils

Ubuntu/Debian

To install Open-iSCSI and multipath tools:

  1. On the Linux station, open a terminal session.
  2. Enter the following command:

sudo apt install lsscsi multipath-tools open-iscsi

Configure host network interfaces

The iSCSI data path between the Linux host and the Lyve Mobile Rackmount Receiver is made of 1-4 network interfaces. On the Linux host, the network interfaces used to transport iSCSI traffic should be configured with static IP addresses.

 Configure the network ports on separate IP subnets unless you are familiar with iSCSI port binding.

Identify a network port

You can visually identify a network interface by blinking its LED.

To identify a network port:

  1. On the Linux station, open a terminal session.
  2. Enter the following command to visually identify a network interface:

sudo ethtool --identify interface name

where interface name is a network interface on the Linux host, for example:

sudo ethtool --identify eno1

Configure static IP addresses with netplan

Netplan is the network configuration abstraction renderer used by Ubuntu Server.

Below is a sample configuration file for Netplan to set static IP addresses on 4 network ports and enable jumbo frames of 9000 bytes.

Sample configuration file
network:
  version: 2
  ethernets:
    ens3f0np0:
      addresses: [192.168.0.1/24]
      mtu: 9000
    ens3f1np1:
      addresses: [192.168.1.1/24]
      mtu: 9000
    ens1f0np0:
      addresses: [192.168.2.1/24]
      mtu: 9000
    ens1f1np1:
      addresses: [192.168.3.1/24]
      mtu: 9000

Configure static IP addresses with NetworkManager

NetworkManager is the network management daemon used by Red Hat Enterprise Linux or Ubuntu Desktop.

nmcli is a command-line interface for the NetworkManager daemon. The following is an example of using nmcli to create a network connection with a static IP address and jumbo frames.

  1. On the Linux station, open a terminal session.
  2. Enter the following command to list network interfaces:

nmcli device

Example output
DEVICE          TYPE          STATE              CONNECTION
eno1             ethernet    connected         eno1
enp108s0f0  ethernet    disconnected      --
enp108s0f1  ethernet    disconnected      --
  1. Add a network connection by entering the following:

nmcli connection add type ethernet ifname interface name ipv4.method manual ipv4.addr "IP address" 802-3-ethernet.mtu 9000

where interface name is a Rackmount Receiver iSCSI port and IP address is a Rackmount Receiver port IP address, for example:

nmcli connection add type ethernet ifname enp108s0f0 ipv4.method manual ipv4.addr "192.168.0.1/24" 802-3-ethernet.mtu 9000

Example output
Connection 'ethernet-enp108s0f0' (93b21958-1e3e-49e8-9c38-0a63f0e6c77c) successfully added.
  1. Confirm that the settings have been applied by entering the following the following:

nmcli device show

Example output 
GENERAL.DEVICE: enp108s0f0
GENERAL.TYPE: ethernet
GENERAL.HWADDR: F4:E9:D4:73:AE:14
GENERAL.MTU: 9000
GENERAL.STATE: 100 (connected)
GENERAL.CONNECTION: ethernet-enp108s0f0
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/17
WIRED-PROPTERTIES.CARRIER:         on
IP4.ADDRESS[1]: 192.168.0.1/24
IP4.GATEWAY: --
IP4.ROUTE[1]: dst = 192.168.0.0/24, nh = 0.0.0.0, mt = 103
IP6.ADDRESS[1]: fe80::2b25:ace7:3d38:979a/64
IP6.GATEWAY: --
IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 103
IP6.ROUTE[2]: dst = ff00::/8, nh = ::, mt = 256, table=255

Configure Lyve Mobile Rackmount Receiver for iSCSI

 The following instructions assume you're familiar with using lmacli to discover your Lyve Mobile Array over the network and import its credentials from the Lyve Management Portal. See Entering Commands for details.

lmacli info with iSCSI

The connection type for your Lyve Mobile Array is displayed as iSCSI.

To view device details:

  1. On the Linux station, open a terminal session.
  2. Enter the following:

lmacli info IP address

where IP address is a Rackmount Receiver port IP address, for example:

lmacli info 192.168.0.100

Example output 
=== Identification ===  
Product : STJX46000400
Serial number : NB261234
Connection type : iSCSI
Name :
=== Disk encryption ===  
Status : Secured, unlocked
=== Pools ===  
Name : dg
Total size : 46.0TB
Available size : 0B
Number of volumes : 1
=== Volumes ===  
Name : volume-0
Pool name : dg
Size : 46.0TB
RAID level : RAID0
Status : OK
Mapped : No

Create the iSCSI configuration file for lmacli

lmacli reads the iSCSI configuration for a Lyve Mobile rackmount Receiver from a file. You can edit the file to modify the iSCSI configuration of a Lyve Mobile Rackmount Receiver.

An example iSCSI configuration file is included in the lmacli package.

  • Linux—The example iSCSI configuration file is installed in /usr/share/doc/lmacli/examples/lmacli-rackmount-iscsi.conf.
  • Windows—The example iSCSI configuration file is contained in lmacli's release Zip archive.

Copy the example iSCSI configuration file and modify the copy to match your environment.

Note some important iSCSI parameters:

  • allowed_initiators—Contains the IQN of the initiators allowed to connect to the Lyve Mobile Array Rackmount Receiver iSCSI target.
    • Linux—The IQN of the software initiator is set in the following file: /etc/iscsi/initiatorname.iscsi.
    • Windows—The IQN of the software initiator can be obtained from the control panel: Control Panel > iSCSI Initiator > Configuration > Initiator name.
  • jumbo_frame—Enabling jumbo frames provides a performance boost.

Below is an iSCSI configuration file for LMACLI that enables jumbo frames and configures the network ports reserved for iSCSI traffic so that they all belong to different subnets.

Sample file 
#  
# Sample iSCSI configuration file for `lmacli rackmount-setup`  
#  
# The parameters specified in this file are used to configure the  
# network ports and the iSCSI target service of a Lyve Mobile  
# Rackmount Receiver.  
#  
# The iSCSI configuration can be applied with:  
# $ lmacli rackmount-setup --iscsi-config FILE DESTINATION  
#  
   
#  
# iSCSI target parameters.  
#  
[iscsi]  
# At least one initiator must be specified.  
# To determine the iSCSI initiator name  
# * Linux : cat /etc/iscsi/initiatorname.iscsi  
   
# * Windows : Control Panel > iSCSI Initiator > Configuration > Initiator name  
allowed_initiators = ["iqn.2001-04.com.example:initiator", ]  
# Be sure to enable jumbo frames in your network adapter before  
# setting the following "jumbo_frame" parameter to true.  
jumbo_frame = true  
   
#  
# Network ports configuration.  
# Up to 4 network ports, numbered from 0 (leftmost) to 3 (rightmost).  
# Please comment-out any port you do not want to use.  
#  
[[ports]]  
index = 0  
ip = "192.168.0.100"  
netmask = "255.255.255.0"  
# gateway =  
   
[[ports]]  
index = 1  
ip = "192.168.1.100"  
netmask = "255.255.255.0"  
# gateway =  
   
[[ports]]  
index = 2  
ip = "192.168.2.100"  
netmask = "255.255.255.0"  
# gateway =  
   
[[ports]]  
index = 3  
ip = "192.168.3.100"  
netmask = "255.255.255.0"  
# gateway =  

Apply the iSCSI configuration with lmacli

To apply the iSCSI configuration:

  1. On the Linux station, open a terminal session.
  2. Enter the following:

lmacli rackmount-setup --iscsi-config my-server.conf IP address

where IP address is a Rackmount Receiver port IP address, for example:

lmacli rackmount-setup --iscsi-config my-server.conf 192.168.0.100

Example output
Checking device configuration (iSCSI)
Checking iSCSI configuration file
Clearing existing rackmount configuration
Creating new rackmount configuration

Check for network connectivity between the host and Rackmount Receiver

Checking for network connectivity between the host and the Lyve Mobile Rackmount Receiver may eliminate future issues. Each rackmount receiver port declared in the iSCSI configuration file should be tested with the ping command.

 If ethernet jumbo frames are enabled, the packet size must be set to 8972 bytes. The IP header (20 bytes) and ICMP header (8 bytes) combined are 28 bytes. Thus, the resulting payload size equals the jumbo frame MTU: 9000 bytes.

To check network connectivity for jumbo frames:

  1. On the Linux station, open a terminal session.
  2. Enter the following command:

ping -s 8972 IP address

where IP address is a Rackmount Receiver port IP address declared in the iSCSI configuration file, for example:

ping -s 8972 192.168.0.100

Example output
PING 192.168.0.100 (192.168.0.100) 8972(9000) bytes of data.
8980 bytes from 192.168.0.100: icmp_seq=1 ttl=64 time=0.150 ms
8980 bytes from 192.168.0.100: icmp_seq=2 ttl=64 time=0.150 ms

Connect the iSCSI initiator on the host to the iSCSI target

Discover the iSCSI target

The iSCSI target on the Lyve Mobile Rackmount Receiver can be discovered with the iscsiadm command. The --portal parameter should be set to one of the IP addresses declared in lmacli's iSCSI configuration file.

To discover the iSCSI target:

  1. On the Linux station, open a terminal session.
  2. Enter the following command:

sudo iscsiadm --mode discovery --type sendtargets --portal IP address

where IP address is a Rackmount Receiver port IP address declared in the iSCSI configuration file, for example:

sudo iscsiadm --mode discovery --type sendtargets --portal 192.168.0.100

Example output
192.168.0.100:3260,1 iqn.1995-03.com.dothill:01.array.00c0fff39296-624ebda2.a
192.168.1.100:3260,2 iqn.1995-03.com.dothill:01.array.00c0fff39296-624ebda2.a
192.168.2.100:3260,3 iqn.1995-03.com.dothill:01.array.00c0fff39296-624ebda2.a
192.168.3.100:3260,4 iqn.1995-03.com.dothill:01.array.00c0fff39296-624ebda2.a

Log in to the iSCSI target

The iscsiadm command can also be used to connect the iSCSI initiator to the iSCSI target through all its portals.

To log in to the iSCSI target:

  1. On the Linux station, open a terminal session.
  2. Enter the following command:

sudo iscsiadm --mode node --target IQN --login

where IQN is an iSCSI Qualified Name obtained from the discover command, for example:

sudo iscsiadm --mode node --target iqn.1995-03.com.dothill:01.array.00c0fff39296-624ebda2.a --login

Example output
Logging in to [iface: default, target: iqn.1995-03.com.dothill:01.array.00c0fff39296-624ebda2.a, portal: 192.168.2.100,3260] (multiple)
Logging in to [iface: default, target: iqn.1995-03.com.dothill:01.array.00c0fff39296-624ebda2.a, portal: 192.168.1.100,3260] (multiple)
Logging in to [iface: default, target: iqn.1995-03.com.dothill:01.array.00c0fff39296-624ebda2.a, portal: 192.168.3.100,3260] (multiple) Logging in to [iface: default, target: iqn.1995-03.com.dothill:01.array.00c0fff39296-624ebda2.a, portal: 192.168.0.100,3260] (multiple)
Login to [iface: default, target: iqn.1995-03.com.dothill:01.array.00c0fff39296-624ebda2.a, portal: 192.168.2.100,3260] successful.
Login to [iface: default, target: iqn.1995-03.com.dothill:01.array.00c0fff39296-624ebda2.a, portal: 192.168.1.100,3260] successful.
Login to [iface: default, target: iqn.1995-03.com.dothill:01.array.00c0fff39296-624ebda2.a, portal: 192.168.3.100,3260] successful.
Login to [iface: default, target: iqn.1995-03.com.dothill:01.array.00c0fff39296-624ebda2.a, portal: 192.168.0.100,3260] successful.

The lsscsi command can be used to display the block devices. Each block device listed represents a path to the same LUN.

Example output 
[5:0:0:0] enclosu SEAGATE STJX46000400 M100 -
[5:0:0:1] disk SEAGATE STJX46000400 M100 /dev/sdc
[6:0:0:0] enclosu SEAGATE STJX46000400 M100 -
[6:0:0:1] disk SEAGATE STJX46000400 M100 /dev/sde
[7:0:0:0] enclosu SEAGATE STJX46000400 M100 -
[7:0:0:1] disk SEAGATE STJX46000400 M100 /dev/sdd
[8:0:0:0] enclosu SEAGATE STJX46000400 M100 -
[8:0:0:1] disk SEAGATE STJX46000400 M100 /dev/sdf

The multiple paths to the device are coalesced by the device mapper multipath daemon.

See below for details on configuring I/O multipath for a Lyve Mobile Rackmount Receiver.

Configure I/O multipath to improve I/O bandwidth

The role of the device mapper multipath daemon is to detect and coalesce multiple paths to devices, for fail-over or performance reasons.

To display the list of multipath devices:

  1. On the Linux station, open a terminal session.
  2. Enter the following:

sudo multipath -ll

Example output
mpatha (3600c0ff000f390bace61ac6201000000) dm-1 SEAGATE,STJX46000400
size=40T features='0' hwhandler='1 alua' wp=rw
|-+- policy='service-time 0' prio=50 status=active
| `- 5:0:0:1 sdc 8:32 active ready running
|-+- policy='service-time 0' prio=50 status=enabled
| `- 6:0:0:1 sde 8:64 active ready running
|-+- policy='service-time 0' prio=50 status=enabled
| `- 8:0:0:1 sdf 8:80 active ready running
`-+- policy='service-time 0' prio=50 status=enabled
`- 7:0:0:1 sdd 8:48 active ready running

To improve I/O bandwidth, it is recommended to change the path_grouping_policy parameter from the default failover to group_by_prio. To set the path_grouping_policy to group_by_prio for all Lyve Mobile Arrays, add the following snippet to /etc/multipath.conf:

Example output
devices {
          device {
                    vendor "SEAGATE"
                    product "STJX.*"
                    path_grouping_policy "group_by_prio"
          }
}

After restarting the device mapper multipath daemon, the output of multipath -ll appears as follows:

Example output
mpatha (3600c0ff000f390bac420bb6201000000) dm-1 SEAGATE,STJX46000400
size=40T features='0' hwhandler='1 alua' wp=rw
`-+- policy='service-time 0' prio=50 status=active
   |- 5:0:0:1 sdc 8:32 active ready running
   |- 6:0:0:1 sdd 8:48 active ready running
   |- 7:0:0:1 sde 8:64 active ready running
   `- 8:0:0:1 sdf 8:80 active ready running

The first line starts with the multipath device name (mpatha in the example above). The full path to the device is /dev/mapper/mpatha.