Multipath puust ja punaseks

Allikas: Kuutõrvaja
Redaktsioon seisuga 15. oktoober 2013, kell 23:55 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

Tekitame storagesse ühe 20 terabaidi suuruse ketta nimega disk1 ja haagime selle kaks korda üle erinevate võrgukaartide, switchide ja kummagi storage kontrolleri arvutile külge. Teoreetiliselt saaks ühte storage jaotist ülaloleva skeemi alusel isegi neli korda sama arvuti külge ühendada aga praktikas pole sellel enam erilist mõtet. Oleme juba isegi välistanud kõigi ahelas paikevate füüsiliste seadmete rikked.

Ühendame ketta üle esimese võrgukaardi

# iscsiadm -m node -T katsetaja.eenet.ee:storage.disk1 -p 192.168.1.20:3260 -u

Ja üle teise võrgukaardi

# iscsiadm -m node -T katsetaja.eenet.ee:storage.disk1 -p 192.168.2.21:3260 -u


Dmesg kinnitab, et oleme võtnud tõepoolest kahelt IP aadressilt ühe ja 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)

Nüüd läheb meil vaja multipath-tools nimelist paketti. Selle instaliks Debianis:

# apt-get install multipath-tools

multipath -ll käsk annab meile infot kõigi ketaste kohta

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

Lisaks muule infole võib näha, et multipath on meie äsja lisatud kaks ketast sarnase WWID (The World Wide Identifier) numbri tõttu paariks 3600143801259c4710000800002b20000 kokku liigitanud. WWID numbrit saab üldiselt vaadata käsurealt ka spetsiaalse utiliidiga näiteks:

/lib/udev/scsi_id -g -u -d /dev/sdab
3600143801259c4710000800002b20000

Selle mõlemale kettale ühise WWID numbri kirjutame järgnevalt blacklist expectionisse kui multipathi ülaloleva ID. Ülejäänud masinas leiduda võivad wwid ehk kettad 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). Aliase real määratu saab seadme nimeks.
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