Erinevus lehekülje "ISCSI kasutamine" redaktsioonide vahel
112. rida: | 112. rida: | ||
mille abil on võimalik kasutada võrgus paiknevat iSCSI targetit. | mille abil on võimalik kasutada võrgus paiknevat iSCSI targetit. | ||
− | |||
bash# iscsiadm add discovery-address iscsi.tartu.loomaaed.ee:3260 | bash# iscsiadm add discovery-address iscsi.tartu.loomaaed.ee:3260 | ||
bash# iscsiadm modify discovery --sendtargets enable | bash# iscsiadm modify discovery --sendtargets enable |
Redaktsioon: 25. august 2007, kell 21:08
iSCSI tehnoloogia võimaldab üle tavalise TCP/IP võrgu ühendada klientarvutile külge nn block-device'i vastavat teenust pakkuvast serverist. Klientarvutit nimetatakse iSCSI initiatoriks ning serverit iSCSI target'iks.
See tehnoloogia on suhteliselt uus ja seetõttu ei maksa ehk vaba tarkvaralistest implementatsioonidest erilist stabiilsust oodata, arvestades lisaks asjaolu, et tegu on block-device teenusega, millega tegeletakse juurkasutajana. Aga teema on siiski väga integreeriv ja põnev! Kuna erinevates operatsioonisüsteemides on kasutusel erinevad implementatsioonid, siis universaalsuse huvides kirjeldame, kuidas lähtetekstidest seda tarkvara kasutada. Pala lõpus on ka viited operatsioonisüsteemide poolt pakutavatele võimalustele.
Tarkvara
Tundub, et initiatori osas on suurem arendajate tähelepanu koondunud projektile [http://www.open-iscsi.org/ ] ning targeti osas projektile [http://iscsitarget.sourceforge.net/].
iSCSI targeti paigaldamine
Target koosneb kahest osast
- iSCSI targeti utiliidid - deemon, tema seadistusfail ning juhtprogramm, vastavalt ietd, ietd.conf ning ietdadm
- kerneli moodulid - iscsi_trgt
Eelduseks on, et paigaldatud on 2.6.14 versioonist uuem Linuxi crypto võimega tuum ning tuuma lähtetekstid, sellisena nagu nad peale tuuma kompileerimist jäid, oleksid alles. Seejärel anda IET lähtetekstide kataloogis käsk 'make'.
Millegi katsetamiseks sobib selline ietd deemoni seadistusfail, eeldusel, et /dev/hda3 on katsetamiseks vaba partitsioon (block-device).
Target iqn.2006-01.com.example:storage.disk3 Lun 0 Path=/dev/hda3,Type=fileio Alias Test
Ning käivitada deemon
/etc/init.d/iscsi-target start
Targeti elutegevusest saab aimu sedasi
bash# cat /proc/net/iet/volume /proc/net/iet/session tid:1 name:iqn.2006-01.com.example:storage.disk3 lun:0 state:0 iotype:fileio path:/dev/hda3 tid:1 name:iqn.2006-01.com.example:storage.disk3 sid:3660274212864512 initiator:iqn.1987-05.com.cisco:01.b5f4204e93f cid:0 ip:192.168.10.26 state:active hd:none dd:none
iSCSI initiatori paigaldamine
Initiator koosneb kahest osast
- iSCSI initiatori utiliidid - deemon, tema seadistusfail ning juhtprogramm, vastavalt iscsid, inititatorname.conf ning iscsiadm
- kerneli moodulid - scsi_transport_iscsi, iscsi_tcp
Eelduseks on, et paigaldatud on 2.6.14 versioonist uuem Linuxi crypto võimega tuum ning tuuma lähtetekstid, sellisena nagu nad peale tuuma kompileerimist jäid, oleksid alles. Seejärel anda lähtetekstide kataloogis käsk 'make'.
- (Serveris moodustada iSCSI shared ning anonüümselt subnetile välja jagada.)
- tekitada fail /etc/initiatorname.iscsi, nt sellise sisuga 'InitiatorName=iqn.1987-05.com.cisco.01.6727f456fe3f50c8274f4484bd7862d2'
- laadida moodulid scsi_transport_iscsi ja iscsi_tcp
- käivitada iscsid (seda saab käivitada logima ja nii et ta backgroundi ei lähe, vastavalt vajadusele), /etc/init.d/open-iscsi start | stop
- vaadake, mis shared on välja jagatud
bash# iscsiadm -m discovery -t sendtargets -p 192.168.10.19:3260 192.168.10.19:3260,1 iqn.2006-01.com.example:storage.disk1 192.168.10.19:3260,1 iqn.2006-01.com.example:storage.disk2 192.168.10.19:3260,1 iqn.2006-01.com.example:storage.disk3
Targeti registreerimine kettana klientmasinas (initiator)
bash# iscsiadm -m node -T iqn.2006-01.com.example:storage.disk1 -p 192.168.10.19:3260 -l
Targeti lahtiühendamine
bash# iscsiadm -m node -T iqn.2006-01.com.example:storage.disk1 -p 192.168.10.19:3260 -u
Valmislahendused
Aadressil [http://www.openfiler.com] jagatakse arvutipõhist nö storage lahendust, lisaks iSCSI targeti tekitamise võimalusele tegeleb see ka CIFS ja NFS'iga. Olemas on ka spetsiaalsed riistvaralised iSCSI targeteid ja nende manageerimise vahendeid sisaldavad kastid erinevatelt tootjatelt, nt EMC ja NetApp.
iSCSI ietd targeti paigaldamine Debian Etch puhul
2007 aastal on see õnnelik aeg, kui ietd versioon 0.4.15 sobib kokku Debian Etchiga kaasneva 2.6 tuumaga. ietd serveri ehk targeti lähtetekstist kompileerimiseks tuleb esmalt paigaldada vajalikud vahendid, toimetame Xen tuuma näitel (kui on kasutusel mõni muu tuum, siis saab tuuma nime kindlaks teha 'uname -a' käsuga, muu tegevus on sarnane)
bash# cd /usr/src bash# apt-get source linux-image-2.6.18-4-xen-686 bash# apt-get build-dep linux-image-2.6.18-4-xen-686 bash# apt-get install linux-headers-2.6.18-4-xen-686 bash# apt-get install libssl-dev bash# tar zxf iscsitarget-0.4.15.tar.gz bash# cd iscsitarget-0.4.15
Tarkvara kompileerimiseks ning paigaldamiseks tuleb öelda
bash:/usr/src/iscsitarget-0.4.15# make KSRC=/usr/src/linux-headers-2.6.18-4-xen-686 bash:/usr/src/iscsitarget-0.4.15# make KSRC=/usr/src/linux-headers-2.6.18-4-xen-686 install install: creating directory `/lib/modules/2.6.18-4-xen-686/kernel/iscsi' `kernel/iscsi_trgt.ko' -> `/lib/modules/2.6.18-4-xen-686/kernel/iscsi/iscsi_trgt.ko' depmod -aq `usr/ietd' -> `/usr/sbin/ietd' `usr/ietadm' -> `/usr/sbin/ietadm' `etc/initd/initd.debian' -> `/etc/init.d/iscsi-target' `etc/ietd.conf' -> `/etc/ietd.conf' `etc/initiators.allow' -> `/etc/initiators.allow' `etc/initiators.deny' -> `/etc/initiators.deny' `doc/manpages/ietadm.8' -> `/usr/share/man/man8/ietadm.8' `doc/manpages/ietd.8' -> `/usr/share/man/man8/ietd.8' `doc/manpages/ietd.conf.5' -> `/usr/share/man/man5/ietd.conf.5' install: creating directory `/usr/share/doc/iscsitarget' `ChangeLog' -> `/usr/share/doc/iscsitarget/ChangeLog' `COPYING' -> `/usr/share/doc/iscsitarget/COPYING' `README' -> `/usr/share/doc/iscsitarget/README' `README.vmware' -> `/usr/share/doc/iscsitarget/README.vmware'
Kuigi antud juhul on tegu mõne tuuma mooduli, seadistusfaili ning programmifailiga ei ole üldiselt ilma paketihalduseta tarkvara paigaldamine korrektne.
Debian Etch puhul sobib paketihalduse 2.6 tuumaga kasutada operatsioonisüsteemi paketihalduses olevat open-iscsi initiatorit.
Initiatori kasutamine operatsioonisüsteemiga Solaris
Solaris 10 11/06 sisaldab pakette
system SUNWiscsiu Sun iSCSI Management Utilities (usr) system SUNWiscsir Sun iSCSI Device Driver (root)
mille abil on võimalik kasutada võrgus paiknevat iSCSI targetit.
bash# iscsiadm add discovery-address iscsi.tartu.loomaaed.ee:3260 bash# iscsiadm modify discovery --sendtargets enable
Ning kui seejärel seadmetele lingid tekitada, siis ongi lisandunud ressursi ligipääs paista
bash# devfsadm -i iscsi bash# format 9. c15t2d0 <IET-VIRTUAL-DISK-0 cyl 1905 alt 2 hd 64 sec 256> /iscsi/disk@0000iqn.2007-08.ee.tartu.loomaaed.iscsi%3Astorage.disk30001,0
Klienti poolt saab targetiga peetava ühenduse andmeid vaadata selliselt
bash# iscsiadm list target -v iqn.2007-08.ee.tartu.loomaaed.iscsi:storage.disk3 Target: iqn.2007-08.ee.tartu.loomaaed.iscsi:storage.disk3 Alias: - TPGT: 1 ISID: 4000002a0000 Connections: 1 CID: 0 IP address (Local): 10.0.7.6:42003 IP address (Peer): 10.0.6.74:3260 Discovery Method: SendTargets Login Parameters (Negotiated): Data Sequence In Order: yes Data PDU In Order: yes Default Time To Retain: 20 Default Time To Wait: 2 Error Recovery Level: 0 First Burst Length: 65536 Immediate Data: yes Initial Ready To Transfer (R2T): yes Max Burst Length: 262144 Max Outstanding R2T: 1 Max Receive Data Segment Length: 8192 Max Connections: 1 Header Digest: NONE Data Digest: NONE
Ühenduse lõpetamiseks tuleb ressurss lahti ühendada, tavalise failisüsteemi puhul umount ning ZFS pooli puhul
bash# zpool export poolinimi
ning öelda
bash# iscsiadm modify discovery --sendtargets disable bash# iscsiadm remove discovery-address iscsi.tartu.loomaaed.ee:3260
Samas või mõnes muus arvutis selle ZFS pooli sisaldav ressursi uuesti kasutusevõtmisel tuleb öelda
bash# zpool import poolinimi