====== 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