November
19
Linux: ISCSI initiator initial setup (This was specifically for Oracle Linux 7 Server to PureX20)
1. Install needed software
yum install iscsi-initiator-utils
yum install device-mapper-multipath
2. Get IQN of the host initiator:
cat /etc/iscsi/initiatorname.iscsi
3. Add the iscsi initiater name into your tagets device configuration to accept your connection
An example of IQN returned:
InitiatorName=iqn.1994-05.com.redhat:bffc5f96a7fb
4. Configure your NIC(S) on the same iscsi subnet of your target device. I this is a mutli nic configuration on the same subnet do the following:
Create a bond. In our case bond2:
cd /etc/sysconfig/network-scripts/
nano ifcfg-bond2
DEVICE=bond2
IPADDR=10.1.200.51
NETMASK=255.255.255.0
GATEWAY=10.1.200.1
ONBOOT=yes
BOOTPROTO=none
NM_CONTROLLED=no
BONDING_OPTS="mode=1 miimon=250 use_carrier=1 updelay=500 downdelay=500 primary_reselect=2"
MTU=9000
nano ifcfg-bond2_p1p1
DEVICE=p1p1
TYPE=Ehternet
NAME=bond2_p1p1
ONBOOT=yes
MASTER=bond2
SLAVE=yes
NM_CONTROLLED=no
MTU=9000
nano ifcfg-bond2_p5p1
DEVICE=p5p1
TYPE=Ehternet
NAME=bond2_p5p1
ONBOOT=yes
MASTER=bond2
SLAVE=yes
NM_CONTROLLED=no
MTU=9000
5. Remove uneeded device configurations
mv ifcfg-p1p1 /root
mv ifcfg-p5p1 /root
6. reboot
7. Setup the multipath base config
mpathconf --enable --with_multipathd y
mpathconf --enable
8. Modify multipath.conf
--------------------------------------------------------------------------
/etc/multipath.conf
# This is a basic configuration file with some examples, for device mapper
# multipath.
#
# For a complete list of the default configuration values, run either
# multipath -t
# or
# multipathd show config
#
# For a list of configuration options with descriptions, see the multipath.conf
# man page
## By default, devices with vendor = "IBM" and product = "S/390.*" are
## blacklisted. To enable mulitpathing on these devies, uncomment the
## following lines.
#blacklist_exceptions {
# device {
# vendor "IBM"
# product "S/390.*"
# }
#}
## Use user friendly names, instead of using WWIDs as names.
defaults {
user_friendly_names yes
find_multipaths yes
polling_interval 10
}
##
## Here is an example of how to configure some standard options.
##
#
#defaults {
# polling_interval 10
# path_selector "round-robin 0"
# path_grouping_policy multibus
# uid_attribute ID_SERIAL
# prio alua
# path_checker readsector0
# rr_min_io 100
# max_fds 8192
# rr_weight priorities
# failback immediate
# no_path_retry fail
# user_friendly_names yes
#}
##
## The wwid line in the following blacklist section is shown as an example
## of how to blacklist devices by wwid. The 2 devnode lines are the
## compiled in default blacklist. If you want to blacklist entire types
## of devices, such as all scsi devices, you should use a devnode line.
## However, if you want to blacklist specific devices, you should use
## a wwid line. Since there is no guarantee that a specific device will
## not change names on reboot (from /dev/sda to /dev/sdb for example)
## devnode lines are not recommended for blacklisting specific devices.
##
blacklist {
wwid 26353900f02796769
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st|nbd)[0-9]*"
devnode "^hd[a-z][0-9]*"
devnode "^etherd"
devnode "^nvme.*"
devnode "^xvd[a-z]*" # here
devnode "^zram[0-9]*" # here
}
#multipaths {
# multipath {
# wwid 3600508b4000156d700012000000b0000
# alias yellow
# path_grouping_policy multibus
# path_selector "round-robin 0"
# failback manual
# rr_weight priorities
# no_path_retry 5
# }
# multipath {
# wwid 1DEC_____321816758474
# alias red
# }
#}
#devices {
# device {
# vendor "COMPAQ "
# product "HSV110 (C)COMPAQ"
# path_grouping_policy multibus
# path_checker readsector0
# path_selector "round-robin 0"
# hardware_handler "0"
# failback 15
# rr_weight priorities
# no_path_retry queue
# }
# device {
# vendor "COMPAQ "
# product "MSA1000 "
# path_grouping_policy multibus
# }
#}
#blacklist {
#}
######################### for rhel6+ ###############################
####devices {
#### device {
#### vendor "PURE"
#### path_selector "queue-length 0"
#### path_grouping_policy group_by_prio
#### path_checker tur
#### fast_io_fail_tmo 10
#### dev_loss_tmo 60
#### no_path_retry 0
#### hardware_handler "1 alua"
#### prio alua
#### failback immediate
#### }
####}
######################### for rhel7+ ###############################
devices {
device {
vendor "PURE"
product "FlashArray"
path_grouping_policy "multibus"
path_selector "queue-length 0"
path_checker "tur"
features "0"
hardware_handler "0"
prio "const"
failback immediate
fast_io_fail_tmo 10
dev_loss_tmo 60
user_friendly_names no
}
}
--------------------------------------------------------------------------
9. Start iscsi
systemctl enable iscsi
systemctl start iscsi
systemctl status iscsi
10. Start and enable multipathd
systemctl start multipathd
systemctl enable multipathd
systemctl status multipathd
11. Query the IP of the iscsi target
iscsiadm -m discovery -t sendtargets -p 10.1.206.14
iscsiadm -m discovery -t st -p 10.1.206.14.10 automatic
12. Setup the iscsi initiator for automatic connectivity
iscsiadm -m node -L automatic
13. Verify sessions
iscsiadm -m session
14. Verify disk connectivity
multipath -ll
dmsetup info -c -o name,blkdevname,devnos_used,blkdevs_used,UUID