====== iSCSI and Multipath ======
* Install package
# apt-get install open-iscsi multipath-tools multipath-tools-boot
* Configure iSCSI
# nano -w /etc/iscsi/iscsid.conf
node.startup = automatic
# /etc/init.d/open-iscsi restart
* Configure multipath (storage with double controller)
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