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