iSCSI Enterprise Target

これ (iSCSI Target – Solaris Express) をみたので Linux (Fedora Core 6) でやってみました。

設定にあたってこの辺を参考にしました。3つめのページには Microsoft iSCSI Software Initiator についても書かれています。

iSCSI enterprise target project Wiki
A Quick Guide to iSCSI on Linux
Going Enterprise – setup your FC4 iSCSI target in 5 minutes

準備

利用するにあたって以下のものが必要です。

  • kernel-development パッケージ
  • kernel コンフィグの “Cryptographic options” の “Cryptographic API” が有効になっていること
  • OpenSSL ライブラリ

ソースを checkout します。

# mkdir /usr/local/src/iscsitarget
# cd /usr/local/src/iscsitarget
# svn co svn://svn.berlios.de/iscsitarget/trunk .
# cd  iscsitarget
# make && make install

/etc/ietd.conf を編集します(無ければ iscsitarget/etc/ietd.conf を /etc 以下にコピーします)。
Target を定義します。最初の一行目はターゲット名を指定します。
ietd.conf の man page には、

iqn.<yyyy-mm>.<tld.domain.some.host>[:<identifier>]

とありますので、<tld.domain.some.host> の部分を com.wanatabe にしました。
IncomingUser と OutcomingUser は initiator との認証(CHAP secrets)のための指定をしますが、認証なしで接続する場合は引数をつけません。
Lun には、割り当てるデバイスを指定します。Type には fileio(default)、blockio が指定できるようです。
最後の Alias には target のエイリアスを指定します。

結果として以下のようにしました。

Target iqn.2001-04.com.wanatabe:storage.lvm
# Leave them alone if you don't want to use authentication.
IncomingUser
OutgoingUser
Lun 0 Path=/dev/VolGroup00/oheya,Type=fileio
Alias OHEYA

他にもいくつかオプションがあります。current version ではまだ使用されていないものもあるようです。

デバイスの設定

新しい LogicalVolume に割り当てる容量がなかったので、500MB だけ確保しました。

# lvreduce -L-500M /dev/VolGroup00/LogVol00

oheya という Volume を 500MB で作成します。

# lvcreate -n oheya -L 500M VolGroup00

念のため確認します。

# lvdisplay /dev/VolGroup00/oheya
--- Logical volume ---
LV Name                /dev/VolGroup00/oheya
VG Name                VolGroup00
LV UUID                FerqfA-aHCu-ZYZs-Lpis-7pq7-p6zv-BAt3vh
LV Write Access        read/write
LV Status              available
# open                 0
LV Size                512.00 MB
Current LE             16
Segments               2
Allocation             inherit
Read ahead sectors     0
Block device           253:2

起動

iscsi-target スクリプトで ietd daemon を起動します。

# service iscsi-target start

起動した後に /proc/net/iet/volume で確認できます。

# cat /proc/net/iet/volume
tid:1 name:iqn.2001-04.com.wanatabe:storage.lvm
lun:0 state:0 iotype:fileio iomode:wt path:/dev/VolGroup00/oheya

initiator のセッションは /proc/net/iet/session で確認できます(Microsoft iSCSI Software Initiator からログインしています)。

# cat /proc/net/iet/session
tid:1 name:iqn.2001-04.com.wanatabe:storage.lvm
sid:281475899523136 initiator:iqn.1991-05.com.microsoft:wanatabe-b01b342bc
cid:1 ip:192.168.0.3 state:active hd:none dd:none

ietadm コマンド

target は ietadm コマンドでも設定できます。
でも /etc/ietd.conf に反映する手段がまだなさそうです。

これで target を作成します。

# ietadm --op new --tid=1 --params Name=iqn.2001-04.com.wanatabe:storage.lvm

作成した tid を指定して、lun を設定します。

# ietadm --op new --tid=1 --lun=0 --params Path=/dev/VolGroup00/oheya

認証の設定は以下のようにします。RFC 3720 によると、CHAP secrets は 96 bit(12文字) 以上 128 bit(16文字) 以内にしなさい、とのことです。

# ietadm --op new --tid=1 --user --params=IncomingUser=hogehoge,Password=hogegepassword
2008年 2月 7日 | Posted in Linux
タグ:
コメントは終了しています。