Multipath puust ja punaseks
Dmesg ütleb, et oleme võtnud kahelt IP aadressilt sama iSCSI jaotise kaks korda arvutile külge
[ 7141.803287] sd 29:0:0:10: [sdab] 42949672960 512-byte logical blocks: (21.9 TB/20.0 TiB) [11607.430171] sd 31:0:0:10: [sdac] 42949672960 512-byte logical blocks: (21.9 TB/20.0 TiB)
multipath -ll käsk annab meile palju infot kõigi ketaste kohta muuseas ka
3600143801259c4710000800002b20000 dm-26 HP,HSV360 size=20T features='0' hwhandler='0' wp=rw |-+- policy='round-robin 0' prio=1 status=active |`- 29:0:0:10 sdab 65:176 active ready running `-+- policy='round-robin 0' prio=1 status=enabled `- 31:0:0:10 sdac 65:192 active ready running
Tundub, et multipath üritab oma tarkusega juba midagi valmis ehitada. See võiks toimuda aga organiseeritumalt.
Selleks küsime ketta unikaalse wwid numbrid. Igaks juhuks küsime seda mõlemalt kettalt, et olla kindel, et neil need kattuvad.
/lib/udev/scsi_id -g -u -d /dev/sdab 3600143801259c4710000800002b20000
/lib/udev/scsi_id -g -u -d /dev/sdac 3600143801259c4710000800002b20000
Nagu näha on mõlemal kettal tõesto sama ID. Ehk siis tõesti tegemist lihtsalt läbi erinevate võrkude külgevõetud sama storage viilakaga. Seega seadistusfaili kirjutame nii blacklist expectionisse kui multipathi ülaloleva ID. Kõik teised wwid keelame igaksjuhuks ära.
defaults { polling_interval 2 path_selector "round-robin 0" path_grouping_policy multibus getuid_callout "/lib/udev/scsi_id -g -u -d /dev/%n" rr_min_io 100 failback immediate no_path_retry queue } blacklist { wwid * } blacklist_exceptions { wwid "3600143801259c4710000800002b20000" }
multipaths { multipath { wwid "3600143801259c4710000800002b20000" alias multi0 } }
Teeme multipathi deemonile restardi
# /etc/init.d/multipath-tools restart Stopping multipath daemon: multipathd. Starting multipath daemon: multipathd.
Nüüd ei tohiks multipth -kk enam näita meile enam kõiki kettaid
# multipath -ll multi0 (3600143801259c4710000800002b20000) dm-26 HP,HSV360 size=20T features='1 queue_if_no_path' hwhandler='0' wp=rw |-+- policy='round-robin 0' prio=1 status=active | `- 29:0:0:10 sdab 65:176 active ready running `-+- policy='round-robin 0' prio=1 status=enabled `- 31:0:0:10 sdac 65:192 active ready running
Lisaks nagu näha on nimeks kenasti konfifailis defineeritud multi0
Anname käsu
# multipath -v3 Oct 15 15:10:47 | sdx: (IET:VIRTUAL-DISK) wwid blacklisted Oct 15 15:10:47 | directio checker refcount 6 Oct 15 15:10:47 | sdy: (IET:VIRTUAL-DISK) wwid blacklisted Oct 15 15:10:47 | directio checker refcount 5 Oct 15 15:10:47 | sdz: (IET:VIRTUAL-DISK) wwid blacklisted Oct 15 15:10:47 | directio checker refcount 4 Oct 15 15:10:47 | sdaa: (IET:VIRTUAL-DISK) wwid blacklisted Oct 15 15:10:47 | directio checker refcount 3 Oct 15 15:10:47 | sdab: (HP:HSV360) wwid whitelisted Oct 15 15:10:47 | sdac: (HP:HSV360) wwid whitelisted
Siit on näha, et vaid sdab ja sdac on konfifaili alusel whitelistud ja kõigi teiste ketastega multipathil tegelemine keelatud
# ls /dev/mapper/ control multi0
Kettale nt LVM viilaka saame tekitada käsuga:
# pvcreate /dev/mapper/multi0 Physical volume "/dev/mapper/multi0" successfully created