iSCSI target’s en initiator…

Ik ben de laatste tijd aardig bezig om iscsi te gebruiken in mijn netwerk, de (handige) resultaten daarvan wil ik jullie niet onthouden… 

Mijn idee was om op 1 laptop een iscsi host (target, provider) te installeren, en twee virtuele VMware servers.  De iscsi-host bied dan schijven aan (van mijn externe USB-disk) aan de virtuele servers (de initiators).

Voordeel: op 1 (zuinige) laptop draait mijn complete serverpark.
Nadeel: De performance van een fysieke host naar een fysiek host gaat prima, van fysieke naar een virtuele host wordt al wat minder, maar als die virtuele host ook nog op de iSCSI host draait, dan is het niet meer vooruit te branden…. Dus helaas heb ik van deze weg af moeten stappen….

Maar desalnietemin was het zeker een leerzame ervaring..Cool

Deze pagina is nu nog 'under construction'! 

iSCSI Target:
De iSCSI target / c.q. VMware host is geinstalleerd op basis van SLES 10sp1.
Deze heeft standaard een iSCSI target package, en is ook in staat om de gratis versie van VM-ware server 1.0.4 te draaien..

De iSCISI target wordt geconfigureerd in het bestand /etc/ietd.conf:

Target iqn.2007-06.lan.doornenbal:disk1.part3
   Lun 0 Path=/dev/hdc3,Type=fileio
Target iqn.2007-06.lan.doornenbal:usb.disk.part2
   Lun 0 Path=/dev/sda2,Type=fileio

De naamgeving moet aan bepaalde standaarden voldoen, ik heb hem voor mij zo ingericht dat ik het begrijp..
In bovenstaand configuratie bestand worden twee iSCSI disken geconfigureerd
Target geeft de iSCSI naam weer: iqn.<datum>.rev.domainname:<eigen naam die ik begrijp..>
    Lun geeft de fysieke device aan.

Als de ietd deamon gestart (rciscsitarget start) is worden er 2 disken aangeboden.
Dit kun je controleren door  de volgende bestanden te raadplegen:

# cat /proc/net/iet/volume  (Laat de aangeboden disken zien)
tid:2 name:iqn.2007-06.lan.doornenbal:usb.disk.part2  (let op: deze tid heeft geen device, dus geen disk!)
tid:1 name:iqn.2007-06.lan.doornenbal:disk1.part3
        lun:0 state:0 iotype:fileio iomode:wt path:/dev/hdc3

 # cat /proc/net/iet/session   (Laat de huidige sessie's zien..)
tid:2 name:iqn.2007-06.lan.doornenbal:usb.disk.part2
        sid:282574492336640 initiator:nwoes.doornenbal.lan:06.10.2007
                cid:0 ip:192.168.1.11 state:active hd:none dd:none
tid:1 name:iqn.2007-06.lan.doornenbal:disk1.part3
        sid:564049469047296 initiator:nwoes.doornenbal.lan:06.10.2007
                cid:0 ip:192.168.1.11 state:active hd:none dd:none

iSCSI Initiator:
De iSCSI Initiator die ik gebruik is de standaard cisco initiator.  Deze heeft 3 configratie bestanden:

# cat /etc/initiatorname.iscsi
InitiatorName=iqn.2007-06.lan.doornenbal:nwoes

Dit bestand bepaald de naam van de initiator, deze moet altijd uniek zijn!  

# cat /etc/iscsi/iscsi.conf | grep -v "#"
DiscoveryAddress=192.168.1.15            # Ip adres van de iSCSI Target.
TargetName=iqn.2007-06.lan.doornenbal:usb.disk.part2   # De naam van de iSCSI disk die je wilt gebruiken

Als je bij het opstarten van iSCSI de disks direct wilt gebruiken, dan moet je deze in de iSCSI fstab zetten, anders wordt je disk niet automatisch 'gemount'.
Dit is slecht gedocumenteerd, maar zoals hieronder beschreven werkt het!

#cat /etc/fstab.iscsi
/dev/disk/by-id/iscsi-iqn.2007-06.lan.doornenbal:disk1.part3-0p1 /srv/www ext3 defaults 0 0
/dev/disk/by-id/iscsi-iqn.2007-06.lan.doornenbal:disk1.part3-0p2 /var/opt/novell/grpwise ext3 defaults 0 0

Je kunt op verschillende wijzen controleren of je iSCSI initiator werkt:

# cat /proc/scsi/scsi
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
  Vendor: VMware,  Model: VMware Virtual S Rev: 1.0
  Type:   Direct-Access                    ANSI SCSI revision: 02
Host: scsi0 Channel: 00 Id: 01 Lun: 00
  Vendor: VMware,  Model: VMware Virtual S Rev: 1.0
  Type:   Direct-Access                    ANSI SCSI revision: 02
Host: scsi1 Channel: 00 Id: 03 Lun: 00
  Vendor: IET      Model: VIRTUAL-DISK     Rev: 0
  Type:   Direct-Access                    ANSI SCSI revision: 04
Host: scsi1 Channel: 00 Id: 04 Lun: 00
  Vendor: IET      Model: VIRTUAL-DISK     Rev: 0
  Type:   Direct-Access                    ANSI SCSI revision: 04
 

Hierboven zie je dat er twee (VMware) schijven en 2 IET schijven aangeboden worden.  de IET schijven zijn onze iSCSI schijven.
Een andere plaats waar je kunt kijken is bijvoorbeeld op /dev/disk/by-id:
# ls /dev/disk/by-id
.
..
VMware_Virtual_IDE_CDROM_Driv_1000000000000000000
iscsi-iqn.2007-06.lan.doornenbal:disk1.part3-0
iscsi-iqn.2007-06.lan.doornenbal:disk1.part3-0-generic
iscsi-iqn.2007-06.lan.doornenbal:disk1.part3-0p1
iscsi-iqn.2007-06.lan.doornenbal:disk1.part3-0p2
iscsi-iqn.2007-06.lan.doornenbal:usb.disk.part2-0
iscsi-iqn.2007-06.lan.doornenbal:usb.disk.part2-0-generic
iscsi-iqn.2007-06.lan.doornenbal:usb.disk.part2-0p1

Zo kun je duidelijk zien dat inderdaad iscsi devices gevonden zijn. In de proc map zie je alleen maar of er een scsi device aangeboden wordt.