Štítky:
balíčkovací systémy,
Content Management System,
distribuce,
FTP,
hardware,
Internet,
openSUSE,
řadiče,
SCSI,
software,
SUSE,
wiki,
YaST
Howto: iSCSI initiator
25.2.2007 16:16
| Přečteno: 5239×
| Linux
| poslední úprava: 26.2.2007 15:14
iSCSI - umožňuje zdielanie zariadení (prevažne diskov) po IP sieti tváriac sa pre lokálny systém ako SCSI zariadenia
Ahoj,
tento dokument by mal slúžiť ako jednoduché how-to pre iscsi initiator z balíku open-iscsi. Je to môj prvý dokument podobného rozsahu, z toho vyplíva, že tam mám určite nejaké nepresnosti, prípadne som niečo vynechal alebo málo rozvinul. Takže mi prosím do diskusie napíšte vaše názory a pripomienky. Finalnu verziu chcem neskôr umiestniť aj na opensuse wiki.
Dokument nemá zámer suplovať man stránky alebo vysvetlovanie princípu iSCSI všeobecne. To by som prípadne mohol urobiť v inom dokumente.
Pokiaľ sa tento spôsob osvedčí a bude záujem, budem pokračovať nasledujúcimi:
iSCSI target
Bootovanie s iSCSI
iSCSI initiator
1. Úvod
iSCSI - SCSI over IP
Umožňuje zdielanie zadiadení (prevažne diskov) po IP sieti tváriac sa pre lokálny systém ako SCSI zariadenia.
Predpokladám základnu znalosť iSCSI technológie, v opačnom prípade dokumentácia
wiki.
iSCSI terminológia :
initiator - klient, ten kto si iscsi disk/zariadenie pripája
target - serverová služba na portáli
- zväzok diskov ponúkaných "spolu"
portal - kombinácia IP:port, identifikátor služby na sieti
LUN - podskupina target-u, samostatný disk (Logical Unit Number)
2. Inštalácia
Pre správnu funkcionalitu iscsi initiatora potrebujeme kernelový modul iscsi_tcp, ktorý je súčastou SuSE distribučného jadra. V prípade, že používame iné jadro, je potrebné si tento modul skompilovať ručne.
Prítomnosť modulu skontrolujeme:
find /lib/modules/$(uname -r)/kernel -name iscsi_tcp.ko
Ďalej potrebujeme user-space čast - to je obsiahnuté v balíku open-iscsi. Ten sice nie je dostupný na instalačom CD/DVD, je však na ftp instalačných zdrojoch.
Balík obsahuje dokumentáciu, štartovací skript, defaultny konfiguračný súbor a binárne súbory :
fwparam_ibft - umozni nacitat iSCSI parametre ulozene v BIOSe, pokiaľ máme iBFT hardware
iscsi-gen-initiatorname, iscsi-iname - slúži na generovanie súboru initiatorname.iscsi (pomocou neho sa initiator identifikuje voči targetu)
iscsi_discovery - helper na získanie targetov, ponukaných portálom
iscsiadm - nástroj na všetky iSCSI operácie okrem doteraz uvedených
iscsid - daemon, ktory sprostredkuje komunikáciu medzi iscsiadm nástrojom a kernelovým modulom
V prípade, že chceme pouziť grafický front-end, potrebujeme balik yast2-iscsi-client. Tento balík si pri prvom spustení kontroluje existenciu balíka open-iscsi, takze v prípade ručnej kompilácie musíme vytvoriť open-iscsi fake-balík.
3. Ručná konfigurácia
Potrebný software máme nainštalovaný, teraz hurá na to. Predpokladám, že máme prístupný iscsi target, ktorého konfigurácii sa ale v tomto dokumente nevenujem.
Ešte pred spustením služby treba skontrolovať, či je v subore /etc/iscsi/initiatorname.iscsi definovaná položka InitiatorName. Pokiaľ nie, prípadne chceme hodnotu zmeniť, riadime sa RFC 3721.
Hint: /sbin/iscsi-iname -p iqn.$(date +%Y-%m).$(domainname|cut -d. -f1).$(domainname|cut -d. -f2):01
Teraz spustíme službu rcopen-iscsi start (link na /etc/init.d/open-iscsi - pre iné distribúcie).
Tento skript loadne kernelový modul, spustí daemona a pripojí targety, pokiaľ už sú nadefinované (v našom prípade zatiaľ nie).
Ok, služba bezí, máme IP adresu portálu, skúsime sa pozrieť, aké targety ponúka:
iscsiadm -m discovery -t st -p 192.168.111.11
[a3f400] 192.168.111.11:3260,1 iqn.2006-05.net.anything:store0
Druhý riadok je príklad výstupu. Tento výstup sa automaticky zapisuje do databázy, takže si môžme pozrieť vsetky doteraz prehliádané targety:
iscsiadm -m session
Zobrazený target si môžme pripojiť a to dvomi spôsobmi. Prvý spôsob je pomocou record ID, ktoré je v hranatých zátvorkách, tento spôsob je momentálne podporovaný len v openSUSE:
iscsiadm -m node -r a3f400 --login
Druhý spôsob je pomocou targetname:
iscsiadm -m node -T iqn.2006-05.net.anything:store0 -p 192.168.111.11:3260 --login
Všetky momentálne pripojené relácie môžme vidieť :
iscsiadm -m session
Všetky pripojené disky uvidíme príkazom
lsscsi.
Autentifikácia
Tažší prípad je autentifikácia. Pre discovery sa používajú autentifikačné údaje uvedené v /etc/iscsi/iscsid.conf
Pre
incoming autentifikáciu zeditujeme:
node.session.auth.username=meno
node.session.auth.password=heslo
Pre
outgoing:
discovery.sendtargets.auth.authmethod=CHAP
discovery.sendtargets.auth.username=meno
discovery.sendtargets.auth.password=heslo
Poznamka: Nezabudnite vratit hodnoty do povodneho stavu
Outgoing autentifikácia pri pripájaní:
iscsiadm -m node -T iqn.2006-05.net.anything:store0 -p 192.168.111.11:3260 --op=update --name=node.session.auth.authmethod --value=CHAP
iscsiadm -m node -T iqn.2006-05.net.anything:store0 -p 192.168.111.11:3260 --op=update --name=node.session.auth.username --value=
meno
iscsiadm -m node -T iqn.2006-05.net.anything:store0 -p 192.168.111.11:3260 --op=update --name=node.session.auth.password --value=
heslo
Incoming autentifikácia:
iscsiadm -m node -T iqn.2006-05.net.anything:store0 -p 192.168.111.11:3260 --op=update --name=node.session.auth.username_in --value=
meno
iscsiadm -m node -T iqn.2006-05.net.anything:store0 -p 192.168.111.11:3260 --op=update --name=node.session.auth.password_in --value=
heslo
4. Konfigurácia pomocou YaST
InitiatorName - identifikátor, ktorým sa initiator identifikuje voči targetu. Niekedy sa môže používať aj na autentifikaciu.
Môžme ho zmeniť, ale pokiaľ na to nie je dôvod, neodporúčam to. Pokiaľ pred spustením modulu InitiatorName nebol definovaný, YaST ho vygeneruje. V prípade, že je InitiatorName načítaný z iBFT (BIOS), hodnota sa nedá zmeniť.
Pokiaľ chceme mat pripojené disky hneď po nabootovaní, vybrať
When booting, inak
Manually. V druhom prípade službu spúšťame/zastavujeme pomocou
rcopen-iscsi start/stop, čo je v openSuSE link na /etc/init.d/open-iscsi.
Panel pripojených targetov. Okrem adresy portálu a názvu targetu tu môžme vidieť
start-up stav. Defaultne je nastavený na
manual, Tlačítkom
Toggle ho môžme prepnút do stavu
automatic, čo znamená, že tento target sa pripojí automaticky po zapnutí služby (pre zábudlivých - tú sme nastavovali v predchadzajúcom paneli).
Ďalej tu môžme odpojiť prihlásený target alebo pripojiťť nový.
Prihlasovací dialúg k portálu. IP adresa je povinná, port je nastavený na defaultnú hodnotu. Typ autentifikácie prípadne meno/heslo je určené len pre zobrazenie targetov, nie pre pripojenie. Pozor na typ autentifikácie -
Outgoing je autentifikácia voči servru, naopak
Incoming je autentifikácia servra voči klientovi.
Zoznam targetov na portáli. Okrem adresy a mena tu môžme vidiet stav pripojený/nepripojený. Doteraz nepripojené targety si môžme pripojiť, po stlačení
Connect sa zobrazí autentifikačný dialóg podobný predchádzajucemu, s výnimkou IP adresy a portu.
5. Zmeny SL10.1 -> 10.2
Pretože projekt open-iscsi je relatívne mladý, medzi verziami dostupnými pre verzie openSUSE 10.1 a 10.2 je niekoľko rozdielov. Tieto odlišnosti sú však "vychytané" post-instalačnymi skriptami a spätným backportom (oproti upstreamu), takže je dobre o nich vedieť, ale nemusíme sa báť
initiatorname.iscsi - zmena umiestnenia súboru z /etc/initiatorname.iscsi na /etc/iscsi/initiatorname.iscsi
- predtým zo starého miesta ukazoval link na aktuálne umiestnenie, teraz tento link už nie je a staré umiestnenie je vypustené aj z dokumentacie
databáza pripojených targetov - predtým boli v adresári /var/db/iscsi dva databazove súbory
- teraz su rovnaké data v adresari /etc/iscsi/nodes vo forme textových súborov
syntax iscsiadm - v upstreame sa targety prestali identifikovať pomocou record ID, podporovanáá je identifikácia portal+target
- v distribucii openSuSE je podpora pre túto syntax backportovaná, t.j. podporované su obidva spôsoby
Obrázky
Tiskni
Sdílej:
Komentáře
Vložit další komentář
26.2.2007 14:45
iji | skóre: 29
Re: Howto: iSCSI initiator
10.8.2007 16:47
z0ne
Re: Howto: iSCSI initiator