Differences between revisions 5 and 6
Revision 5 as of 2007-11-02 22:57:18
Size: 4540
Editor: FranklinPiat
Comment:
Revision 6 as of 2007-11-03 10:26:45
Size: 4590
Editor: FranklinPiat
Comment: Page covers IET (iscsitarget) only.
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from iSCSI/DebianIscsitarget

["iSCSI"] > Debian iSCSI target


Debian as an iSCSI Target

Remember, the target is the "server" (It's the one that actually have the disk).

  • <!> iscsitarget is only available in Debian/Testing (and sid)

Quickstart

1. Install IET's package and module

IET (iSCSI Enterprise Target) is made of two packages :

2. Configure

You need to configure /etc/ietd.conf (here's a simple test page)

  • # Example iscsi target configuration
    
    # a first account
    IncomingUser jdoe YourSecurePwd1
    # another one, for a windows user.
    IncomingUser iqn.1991-05.com.microsoft:JDOE-PC YourSecurePwd2
    
    #If mutual CHAP shall be employed, you need
    OutgoingUser jack YourSecurePwd2
    
    # The target name must be a globally unique name, the iSCSI
    # standard defines the "iSCSI Qualified Name" as follows:
    #
    # iqn.yyyy-mm.<reversed domain name>[:identifier]
    
    Target iqn.2007-01.org.debian.foobar:mydisk1
            IncomingUser joe YourSecurePwd1
            OutgoingUser jim YourSecurePwd2
            #make sure the partition isn't mounted :
            #Lun 0 Path=/dev/sdh,Type=fileio
    
    
    Target iqn.2007-01.org.debian.foobar:CDs
            IncomingUser joe YourSecurePwd1
            OutgoingUser jim YourSecurePwd2
            #make sure the partition isn't mounted :
            Lun 0 Path=/dev/scd0,Type=fileio,IOMode=ro
            Lun 1 Path=/dev/scd1,Type=fileio,IOMode=ro
            #Lun 2 Path=/dev/hdX,Type=fileio,IOMode=ro
            Lun 3 Path=/srv/debian-20070313-kfreebsd-i386-install.iso,Type=fileio,IOMode=ro

    You should refer to the ietd and ietd.conf manpages for more information..

3. Restart the daemon

  • invoke-rc.d iscsitarget restart

    That's It !

?Anchor(iscsitarget-module)

Building iscsitarget-module : iscsi_trgt

Let's compile the kernel module using [:ModuleAssistant:module-assistant] (which deserves it's name).

  • Due to bug 448195 , it's a little bit more complicated than it should be :

    apt-get install iscsitarget iscsitarget-source wget
    m-a prepare -t
    m-a update -t
    m-a clean iscsitarget  -t
    m-a unpack iscsitarget -t
    cd /usr/src/modules/iscsitarget/
    wget -O - 'http://bugs.debian.org/cgi-bin/bugreport.cgi?msg=20;filename=module-name.diff;att=1;bug=448195' | patch -p1 || exit
    m-a a-i iscsitarget --not-unpack -t

Online administration / Dynamic configuration

Adding a target / LUN

First, Let's add a Target.

  • ietadm --op new --tid=[id] --params Name=iqn.foo.bar:test1

[id] must be unused. You can get a list of the currently used Target IDs by: cat /proc/net/iet/session

Then add a LUN to a pre-existing target.

  • ietadm --op new --tid=[id] --params Path=/path/to/exported/file,Type=fileio

[id] must be an already existing Target ID (listed in /proc/net/iet/session)

refer to the manpage on how to disconnect a connexion, change the settings or remove a LUN or a target.

Adding a user

  • {i} If you use mutual CHAP authentication, you also need to configure --params=OutgoingUser=foobar user.

First, create a user for "discovery" :

  • ietadm --op new  --user --params=IncomingUser=jdoe,Password=Compl3xPassw00rd

Then, create a user for "iqn.foo.bar:test2" :

  • cat /proc/net/iet/session 
    tid:1 name:iqn.foo.bar:test1
    tid:2 name:iqn.foo.bar:test2
    
    ietadm --op new --tid=2 --user --params=IncomingUser=jdoe,Password=Compl3xPassw00rd

refer to the manpage on how to "delete" a user.

FAQ

How to share an ISO file with Windows ?
When should I use "fileio" vs "blockio" ?

more FAQs on [http://iscsitarget.sourceforge.net/wiki/index.php/FrequentlyAskedQuestions].

See also