Multipath puust ja punaseks

Allikas: Kuutõrvaja
Redaktsioon seisuga 15. oktoober 2013, kell 17:18 kasutajalt Jj (arutelu | kaastöö)

Ilmselt on allpool toodud skeemi alusel ühendamine kõige lollikindlam. Nii võib meil rikneda nii üks switch, storage kontroller kui ka võrgukaart ilma, et kaotaksime ühenduse storagega.

Iscsipath.png

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 tarkvara install Debianis.

# apt-get install multipath-tools

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.

# mõned vaikeseadistused, neid pole vaja üldiselt muuta.
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
}
# paneme absoluutselt kõik WWIDd musta nimekirja
blacklist {
        wwid *
}

# Teeme ühele WWIDle mida kasutama hakkame erandi
blacklist_exceptions {
        wwid "3600143801259c4710000800002b20000"
}

# defineerime WWID millega olevad kettad tuleb kokku üheks seadmeks liita (seesama millele enne erandi tegime).
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

Rohkem ja põhjalikumat juttu leiab samast kuutõrvaja tekstist DM-Multipath