iSCSI and Multipath
# apt-get install open-iscsi multipath-tools multipath-tools-boot
# nano -w /etc/iscsi/iscsid.conf
node.startup = automatic
# /etc/init.d/open-iscsi restart
Configure kernel modules required by storage. # nano -w /etc/initramfs-tools/modules
+ scsi_dh_alua
+ dm_multipath
+ dm_round_robin
+ scsi_dh_rdac
+ sd_mod
# update-initramfs -v -u -k all
# modprobe scsi_dh_alua
# modprobe dm_multipath
# modprobe dm_round_robin
# modprobe scsi_dh_rdac
# modprobe sd_mod
# /etc/init.d/multipath-tools restart
Identify wwid of local disk. # /lib/udev/scsi_id --whitelisted --device=/dev/cciss/c0d0 3600508b100104a395355303447480011 # /lib/udev/scsi_id --whitelisted --device=/dev/cciss/c0d1 3600508b100104a395355303447480013 Configure multipath blacklist. # nano -w /etc/multipath.conf
defaults {
user_friendly_names yes
path_grouping_policy group_by_prio
path_checker rdac
polling_interval 5
path_selector "round-robin 0"
failback immediate
no_path_retry 30
prio rdac
rr_min_io 100
#getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
}
blacklist {
# /lib/udev/scsi_id --whitelisted --device=/dev/cciss/c0d0
wwid 3600508b100104a395355303447480011
# /lib/udev/scsi_id --whitelisted --device=/dev/cciss/c0d1
wwid 3600508b100104a395355303447480013
}
devices {
device {
vendor "DELL"
product "MD38xxi"
hardware_handler "1 rdac"
features "2 pg_init_retries 50"
}
}
# service multipath-tools restart
Connect storage. # iscsiadm -m discovery -t st -p 192.168.10.100
# iscsiadm -m node -T iqn.xxxxxx --login
# iscsiadm -m session -P 1
Target: iqn.xxxxxx
Current Portal: 192.168.10.100:3260,1
Persistent Portal: 192.168.10.100:3260,1
**********
Interface:
**********
Iface Name: default
Iface Transport: tcp
...
Current Portal: 192.168.10.101:3260,2
Persistent Portal: 192.168.10.101:3260,2
**********
Interface:
**********
Iface Name: default
Iface Transport: tcp
...
WWID discovery # lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 200G 0 disk └─mpatha 252:3 0 200G 0 mpath sdb 8:16 0 200G 0 disk └─mpatha 252:3 0 200G 0 mpath ... # /lib/udev/scsi_id --whitelisted --device=/dev/sda 3600a0980005ceb2400000efa5643b840 # /lib/udev/scsi_id --whitelisted --device=/dev/sdb 3600a0980005ceb2400000efa5643b840 Configure multipath. # nano -w /etc/multipath.conf
defaults {
user_friendly_names yes
path_grouping_policy group_by_prio
path_checker rdac
polling_interval 5
path_selector "round-robin 0"
failback immediate
no_path_retry 30
prio rdac
rr_min_io 100
#getuid_callout "/lib/udev/scsi_id --whitelisted --device=/dev/%n"
}
blacklist {
# /lib/udev/scsi_id --whitelisted --device=/dev/cciss/c0d0
wwid 3600508b100104a395355303447480011
# /lib/udev/scsi_id --whitelisted --device=/dev/cciss/c0d1
wwid 3600508b100104a395355303447480013
}
multipaths {
multipath {
wwid 3600a0980005ceb2400000efa5643b840
alias Backup
}
}
devices {
device {
vendor "DELL"
product "MD38xxi"
hardware_handler "1 rdac"
features "2 pg_init_retries 50"
}
}
# service multipath-tools restart
# multipath -ll
Backup (3600a0980005ceb2400000efa5643b840) dm-3 DELL,MD38xxi
size=200G features='3 queue_if_no_path pg_init_retries 50' hwhandler='1 rdac' wp=rw
|-+- policy='round-robin 0' prio=14 status=active
| `- 4:0:0:0 sdb 8:16 active ready running
`-+- policy='round-robin 0' prio=9 status=enabled
`- 3:0:0:0 sda 8:0 active ready running
|