ページ

2014年12月23日火曜日

Fedora 20 でLIO(Linux open source iSCSI target)のiSCSIを利用する

■ インストール

# yum install targetcli

■ 設定用のソフトを起動する

# targetcli

■ バージョンの確認

/> version
targetcli version 2.1.fb38

■ グローバル設定の変更

exit時にオートセーブされると参照時に困るので、変更する。
/> set global auto_save_on_exit=false
Parameter auto_save_on_exit is now 'false'.

ちなみにデフォルトのグローバル設定を見る場合は下記コマンドを実行する。
/> get global
GLOBAL CONFIG GROUP
===================
auto_add_mapped_luns=true
-------------------------
If true, automatically create node ACLs mapped LUNs after creating a new target LUN or a new node ACL

auto_cd_after_create=false
--------------------------
If true, changes current path to newly created objects.

auto_enable_tpgt=true
---------------------
If true, automatically enables TPGTs upon creation.

auto_save_on_exit=true
----------------------
If true, saves configuration on exit.

color_command=cyan
------------------
Color to use for command completions.

color_default=none
------------------
Default text display color.

color_keyword=cyan
------------------
Color to use for keyword completions.

color_mode=true
---------------
Console color display mode.

color_parameter=magenta
-----------------------
Color to use for parameter completions.

color_path=magenta
------------------
Color to use for path completions

completions_in_columns=true
---------------------------
If true, display completions in columns, not lines.

export_backstore_name_as_model=true
-----------------------------------
If true, the backstore name is used for the scsi inquiry model name.

logfile=/root/.targetcli/log.txt
--------------------------------
Logfile to use.

loglevel_console=info
---------------------
Log level for messages going to the console.

loglevel_file=debug
-------------------
Log level for messages going to the log file.

prompt_length=30
----------------
Max length of the shell prompt path, 0 for infinite.

tree_max_depth=0
----------------
Maximum depth of displayed node tree.

tree_round_nodes=true
---------------------
Tree node display style.

tree_show_root=true
-------------------
Whether or not to display tree root.

tree_status_mode=true
---------------------
Whether or not to display status in tree.


■ iSCSIを作成する

※以降、fileioとして記載します。

・fileio作成の場合のサンプル例
/backstores> cd /backstores/fileio
/backstores/fileio> create name=myscsi file_or_dev=/root/myscsi.img

使用するファイルは事前にddなどで作成しておく。
サンプル例は150GBのファイルを作成
# dd if=/dev/zero of=/root/myscsi.img bs=1G count=150


・iSCSI Target情報の作成
デバイス作成した後はiSCSI Targetとしての設定を行う。
※ターゲットのIPアドレスは自動的に設定される。
/backstores/fileio/myscsi> /iscsi create
Created target iqn.2003-01.org.linux-iscsi.hoge.x8664:sn.03e804a17a22.
Created TPG 1.
Created default portal listening on all IPs (0.0.0.0), port 3260.

ターゲット名が既に決まっている場合は指定が出来る。
/backstores/fileio> /iscsi create iqn.2003-01.org.linux-iscsi.hoge.x8664:sn.d2f860cab8b1
Created target iqn.2003-01.org.linux-iscsi.hoge.x8664:sn.d2f860cab8b1.
Created TPG 1.
Created default portal listening on all IPs (0.0.0.0), port 3260.

・LUNを設定する
/backstores/fileio> cd /iscsi/iqn.2003-01.org.linux-iscsi.hoge.x8664:sn.d2f860cab8b1/tpg1
/iscsi/iqn.20...60cab8b1/tpg1> luns/ create /backstores/fileio/myscsi
Created LUN 0.

・ACLを設定する
iSCSI Initiator側のイニシエータ名を指定します。
/iscsi/iqn.20...60cab8b1/tpg1> acls/ create iqn.1991-05.com.microsoft:zzz-pc
Created Node ACL for iqn.1991-05.com.microsoft:zzz-pc
Created mapped LUN 0.

・ターゲットシークレットを設定する
Windows7/8 のiSCSIイニシエーターだと認証無しだと
通過出来なかったのでユーザーとパスワードを設定します。
/iscsi/iqn.20...60cab8b1/tpg1> cd acls/iqn.1991-05.com.microsoft:zzz-pc
/iscsi/iqn.20...icrosoft:zzz-pc> set auth userid=hogeuser
Parameter userid is now 'hogeuser'.
/iscsi/iqn.20...icrosoft:zzz-pc> set auth password=mytargetsecret
Parameter password is now 'mytargetsecret'.

・設定情報を保存する
/iscsi/iqn.20...icrosoft:zzz-pc> cd /
/> saveconfig
Last 10 configs saved in /etc/target/backup.
Configuration saved to /etc/target/saveconfig.json

/> exit

・LIOを起動させる
# systemctl start target
# systemctl enable target

・再設定する場合
再度targetcliを行ってlsコマンドを打つと初期化状態に戻る時があります。
そんな時は下記のコマンドで設定状態を戻す。
/> restoreconfig /etc/target/saveconfig.json