ページ

2012年7月24日火曜日

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

参考公式サイト ココココ

■ インストール


# yum -y install targetcli

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


# targetcli

■ バージョンの確認


/> version
targetcli version 2.0rc1.fb8

■ 簡単な使い方


基本的に全てコマンドベースで作成していく。

・ルートからのディレクトリ階層

/> ls
o- / ........................................................... [...]
  o- backstores ................................................ [...]
  | o- block ...................................... [0 Storage Object]
  | o- fileio ..................................... [0 Storage Object]
  | o- pscsi ...................................... [0 Storage Object]
  | o- ramdisk .................................... [0 Storage Object]
  o- ib_srpt ............................................. [Not found]
  o- iscsi ................................................ [0 Target]
  o- loopback ............................................. [0 Target]
  o- qla2xxx ............................................. [Not found]
  o- tcm_fc .............................................. [Not found]


ヘルプは使用出来るコマンドの一覧が表示されるが、ディレクトリ階層で異なる。

・ルートディレクトリからのヘルプ

/> help

GENERALITIES
============
This is a shell in which you can create, delete and configure
configuration objects.

The available commands depend on the current path or target
path you want to run a command in: different path have
different sets of available commands, i.e. a path pointing at
an iscsi target will not have the same availaible commands as,
say, a path pointing at a storage object.

The prompt that starts each command line indicates your
current path. Alternatively (useful if the prompt displays
an abbreviated path to save space), you can run the
pwd command to display the complete current path.

Navigating the tree is done using the cd command. Without
any argument, cd will present you wil the full objects
tree. Just use arrows to select the destination path, and
enter will get you there. Please try help cd for navigation
tips.

COMMAND SYNTAX
==============
Commands are built using the following syntax:

[TARGET_PATH] COMMAND_NAME [OPTIONS]

The TARGET_PATH indicates the path to run the command from.
If ommited, the command will be run from your current path.

The OPTIONS depend on the command. Please use help
COMMAND to get more information.


AVAILABLE COMMANDS
==================
The following commands are available in the
current path:

  - bookmarks action [bookmark] 
  - cd [path] 
  - clearconfig [confirm] 
  - exit 
  - get [group] [parameter...] 
  - help [topic] 
  - ls [path] [depth] 
  - pwd 
  - refresh 
  - restoreconfig [savefile] [clear_existing] 
  - saveconfig [savefile] 
  - sessions [action] [sid] 
  - set [group] [parameter=value...] 
  - status 
  - version 
/> 


・backstoresへ移動

/> cd backstores
/backstores> ls
o- backstores .................................................. [...]
  o- block ........................................ [0 Storage Object]
  o- fileio ....................................... [0 Storage Object]
  o- pscsi ........................................ [0 Storage Object]
  o- ramdisk ...................................... [0 Storage Object]
/backstores>

・backstoresディレクトリからのヘルプ(一部抜粋)

/backstores> help

・・・ 抜粋 ・・・

AVAILABLE COMMANDS
==================
The following commands are available in the
current path:

  - bookmarks action [bookmark] 
  - cd [path] 
  - exit 
  - get [group] [parameter...] 
  - help [topic] 
  - ls [path] [depth] 
  - pwd 
  - refresh 
  - set [group] [parameter=value...] 
  - status 
/backstores> 


■ iSCSIを作成する


公式に書いてあるけれど、よくわからない。
作成後の自動移動?もしかしたらそのままの意味かも。とりあえず変更しておく。
/> set global auto_cd_after_create=false

作成出来るデバイスとして、投稿時点では4種類あります。

  • block   … 主に物理デバイス(HDD)を使用する
  • fileio   … ファイルを仮想ディスクとして使用する
  • pscsi   … 恐らくSCSIデバイスを使用する(未確認)
  • ramdisk … 自身のメモリを消費してRAM Diskとして利用する


・block作成の場合のサンプル例

/backstores> cd /backstores/block
/backstores/block> create name=myblock dev=/dev/disk/by-id/scsi-xxxx-part-1


・fileio作成の場合のサンプル例

/backstores> cd /backstores/fileio
/backstores/fileio> create name=myscsi file_or_dev=/root/myscsi.img buffered=true

/backstores/fileio> help
create name file_or_dev [size] [buffered] [sparse] 

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


・pscsi作成の場合のサンプル例

手持ちにSCSIデバイスが無いので未確認です。
使い方は他と変わらないのでSCSIデバイスを指定してあげれば行けるかも知れない。
/backstores> cd /backstores/pscsi
/backstores/pscsi> create name=xxxx dev=/dev/xxxx


・ramdisk作成の場合のサンプル例

RAM Diskとして自身のメモリをiSCSIデバイスとして提供出来ます。
物理メモリが沢山搭載されている場合に有効なデバイスだと思います。
RAM Diskとしての特性があると思うので、
データバックアップ・リストアを自分で行う必要有りです。
/backstores> cd /backstores/ramdisk
/backstores/ramdisk> create name=myram size=2G


・iSCSI Target情報の作成

デバイス作成した後はiSCSI Targetとしての設定を行う。
デバイス作成でname指定した名称へ移動する。
※以降、fileioとして記載します。
/backstores/fileio/myscsi> /iscsi create
Created target iqn.2003-01.org.linux-iscsi.hoge.x8664:sn.d2f860cab8b1.
Created TPG 1.
Entering new node /iscsi/iqn.2003-01.org.linux-iscsi.hoge.x8664:sn.d2f860cab8b1/tpg1


・LUNを設定する

/iscsi/iqn.20...60cab8b1/tpg1> cd /
/> 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.
Entering new node /iscsi/iqn.2003-01.org.linux-iscsi.hoge.x8664:sn.d2f860cab8b1/tpg1/luns/lun0


・iSCSI TargetのIPアドレスを設定する

/iscsi/iqn.20...60cab8b1/tpg1> portals/ create 192.168.2.109
Using default IP port 3260
Created network portal 192.168.2.109:3260.


・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 の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
Existing file /etc/target/saveconfig.json backed up to saveconfig.json.backup
Configuration saved to /etc/target/saveconfig.json
/> exit


・LIOを起動させる

# systemctl start targetcli.service
# systemctl enable targetcli.service


・再設定する場合

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

0 件のコメント:

コメントを投稿