天天看点

iSCSI Target与Initiator的安装与使用

一,iSCSI安装包的查找:

1.首先用yum查看一下关于iscsi的安装包:命令yum search <keyword>

      输入yum search scsi

找到iscsi-initiator-utils 和scsi-target-utils 。它们分别对应Initiator和Target的安装包

2 Target的安装

yum -y install scsi-target-utils 

3启动服务,并添加到开机自启动:

etc/init.d/tgtd start

chkconfig tgtd on

4 命令行编辑 (重启失效)

#tgtadm --lld iscsi --op new --mode target --tid 2 -T iqn.2222.test:storage.disk2      添加一个iqn,设置其tid为2

   #tgtadm --lld iscsi --op new --mode logicalunit --tid 2 --lun 1 -b /dev/md50  

指定设备/dev/md50到方才的iqn中

#tgtadm --lld iscsi --op bind --mode target --tid 2 -I ALL                

给权限,让这个iqn接管所有连接恳求

另外的解释和命令

 添加一个新的target

   ietadm --op new --tid=[id] --params Name=iqn.foo.example

其中[id] 为数字,必须是没有使用过的。后面的 Name 需要自己自定义,也需要保证是唯一的。 

当然不知道自己本机所有target id 的话,可以使用这个命令查看当前的 target 状态和得到 target id

² 添加一个新的 lun 

Note: 在一个已经存在的 target 上加入一个 lun, 以便共享出来给外界。 

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

    [id] 必须是一个已经存在的 tid 号, [lun] 可以自己定义。 

    后面的path 就是共享的路径了。 

     NOTE: 通过这种方式添加的LUN 在重启服务之后会丢失。

² 停止某个Target 的某个 Connection 的连接

ietadm --op delete --tid=2 --sid=562950876233792 --cid=1 && ietadm --op delete --tid=2

² 停止所有Target 的连接

ietadm --op delete

² 删除某个Target (已经没有 Session 连接的)

ietadm --op delete --tid= 1

上面列出了ietadm 常用的命令,关于 ietadm 其余的命令,大家可以使用 ietadm --help 来查看更多的指令

5编辑配置

编辑配置文件/etc/tgt/targets.conf,并设置下iSCSI Qualified Name (IQN).

如果你是自己分区或者lvm,设置成自己的分区和lv即可。

<target iqn.2012-02.com.example:server.target1>

backing-store /dev/sda5 #share 1

backing-store /var/lib/tgtd/virtualization/virtimage2.img #share 2

write-cache off

</target>

重启服务,使修改后的配置生效。

[[email protected] ~]# /etc/init.d/tgtd restart

确定iscsi server是否成功。如果现实如下说明配置iscsi server已经OK。

[[email protected] ~]# tgt-admin --show

二。Initiator的安装

  1、安装Initiator

yum -y install iscsi-initiator-utils

2. 启动服务并添加到开机启动

# /etc/init.d/iscsid start

# chkconfig iscsid on

3.发现iscsi server 的共享分区

  输入:

# iscsiadm --mode discovery --type sendtargets --portal 192.168.1.8

得到回复

192.168.1.8:3260,1 iqn.2011-09.com.nfschina:nfs-storage24

  4. 列出所有的Target

iscsiadm -m node

5 登陆到iscsi server的共享分区

  连接所有的共享分区:iscsiadm -m node -L all

连接指定的Target: 

输入iscsiadm -m node -T iqn.2011-09.com.nfschina:nfs-storage24 -p 192.168.1.8 --login

回复:Logging in to [iface: default, target: iqn.2011-09.com.nfschina:nfs-storage24, portal: 192.168.1.8,3260] (multiple)

     Login to [iface: default, target: iqn.2011-09.com.nfschina:nfs-storage24, portal: 192.168.1.8,3260] successful.

6.查看 数据结构的树状信息

iscsiadm -m node -o show -T  iqn.2011-09.com.nfschina:nfs-storage24 

7 查看所有iSCSI的连接状态

iscsiadm -m session

8 查看去人已经增加的磁盘设备

ls /dev/sd*

9 断开所有Target 连接

iscsiadm -m node -U all

10 断开指定Target的连接

iscsiadm -m node -T iqn.2011-09.com.nfschina:nfs-storage24 -p 192.168.1.8 --logout

11 查看目前的连接状态

iscsiadm -m session

12 删除所有node信息

iscsiadm -m node --op delete

13 重新discovery

三。 其他说明:

  1 早版本的Target用的命令为 ietadm ,然后据说它有bug,后面的版本都用tgtdadm命令

  2 错误tgtadm: can't send the request to the tgt daemon, Transport endpoint is not connected

这是因为没有启动tgtd服务 需要启动服务 service tgtd restart

  参看http://bbs.linuxtone.org/thread-17115-1-1.html

继续阅读