ISCSI kasutamine Solarisega

Allikas: Kuutõrvaja

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

iSCSI targeti kasutamine Solarisega

Targeti saab moodustada kahel viisil, mis erinevad selle poolest kuidas nn iSCSI serveri andmeid hoitakse

  • kasutades failisüsteemi
  • kasutades ZFS voluumi

Target kasutab failisüsteemi

Esmalt tuleb välja vaadata piisavalt vaba ruumi sisaldav failisüsteem, moodustada sinna kataloog

 bash# mkdir /data/iscsi-targetid

ning öelda

 bash# iscsitadm modify admin -d /data/iscsi-targetid
 ..

Target kasutab ZFS voluumi

Moodustame targetile vastava zfs volume (alates Solaris 10/08 ehk u6 versioonist)

# zfs create -V 2g tank/v2
# zfs set shareiscsi=on tank/v2
# iscsitadm list target
Target: tank/v2
   iSCSI Name: iqn.1986-03.com.sun:02:4392122e-42d7-c319-befc-b115cfc605d0
   Connections: 0

Tulemuse kohta saab küsida infot sedasi

# zfs get all tank/v2
NAME     PROPERTY         VALUE                  SOURCE
tank/v2  type             volume                 -
tank/v2  creation         Fri Nov 21 15:38 2008  -
tank/v2  used             744M                   -
tank/v2  available        158G                   -
tank/v2  referenced       744M                   -
tank/v2  compressratio    1.00x                  -
tank/v2  reservation      2G                     local
tank/v2  volsize          2G                     -
tank/v2  volblocksize     8K                     -
tank/v2  checksum         on                     default
tank/v2  compression      off                    default
tank/v2  readonly         off                    default
tank/v2  shareiscsi       on                     local
tank/v2  copies           1                      default
tank/v2  refreservation   none                   default

ning

# iscsitadm list target
Target: tank/v2
   iSCSI Name: iqn.1986-03.com.sun:02:4392122e-42d7-c319-befc-b115cfc605d0
   Connections: 1

iSCSI kliendi arvutis tuleb öelda

# iscsiadm add discovery-address 10.0.6.170:3260
# iscsiadm modify discovery --sendtargets enable

Tulemus peaks olema näha selliselt

# iscsiadm list initiator-node
Initiator node name: iqn.1986-03.com.sun:01:00e000c4e136.454ce2d9
Initiator node alias: -
       Login Parameters (Default/Configured):
               Header Digest: NONE/-
               Data Digest: NONE/-
       Authentication Type: NONE
       RADIUS Server: NONE
       RADIUS access: unknown
       Configured Sessions: 1

Moodustame seadmed

# devfsadm -i iscsi

ning nüüd nt käsuga format peaks olema paista iSCSI seade, mida saab kasutada

# format
...
       9. c15t4d0 <SUN-SOLARIS-1-2.00GB>
         /iscsi/disk@0000iqn.1986-03.com.sun%3A02%3A4392122e-42d7-c319-befc-b115cfc605d00001,0

nt moodustada sinna zfs failisüsteem

# zpool create testiscsi c15t4d0

iSCSI kliendist targeti kasutamise lõpetamiseks tuleb öelda

# iscsiadm modify discovery --sendtargets disable
# iscsiadm remove discovery-address 10.0.6.170:3260

Tulemusena format enam ei esita iSCSI kettaressurssi.

iSCSI targeti arvutis targeti eemaldamiseks tuleb öelda

# zfs set shareiscsi=off tank/v2

Tulemusena ei ütle list target midagi

# iscsitadm list target
#

Ning eemaldada voluum

# zfs destroy tank/v2