iSCSI Target和Initiator安装与操作步骤详解

iSCSI Target 编译安装过程

1. 解压: tar zxvf iscsitarget-1.4.18 .t ar.gz

2. cd iscsitarget-1.4.18

3. Linux2.6.32的内核太新了最新的 iSCSI Target 版本 1.4.18 还没有支持,网上有高手做了相应的补丁,于是打上补丁 patch -p1 <iscsitarget-1.4.18+linux-2.6.32.patch

4. 编译: make KSRC= /usr/src /linux-2.6.32.2

5. 安装: make install /usr/src /linux-2.6.32.2

 

iSCSI Target 配置和常用操作详解

1. 修改配置文件

vi /etc/ietd.conf

 

2. 使用IET 管理命令行 
         

²   添加一个新的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 来查看更多的指令。


3. 常用操作命令 
查看当前虚拟单元清单 
cat /proc/net/iet/volume

tid:2 name:200M.img

        lun:1 state:0 iotype:fileio iomode:wt path:/work/janco/VirtualDisk/test.iso

tid:1 name:windows.iso

        lun:0 state:0 iotype:fileio iomode:wt path:/work/janco/VirtualDisk/windows.iso 
 


      查看当前服务器 ISCSI target 服务以及连接状态命令 
     cat /proc/net/iet/sessions

tid:2 name:200M.img

        sid:562950876233792 initiator:iqn.1991-05.com.microsoft:admin-pc

                cid:1 ip:192.168.1.240 state:active hd:none dd:none

        sid:281475899523136 initiator:jacko

                cid:1 ip:192.168.1.60 state:active hd:none dd:none

tid:1 name:windows.iso 
 

 

启动、停止、重启iscsi-target 服务

/etc/init.d/iscsi-target start

/etc/init.d/iscsi-target stop

/etc/init.d/iscsi-target restart

 

iSCSI Initiator编译安装过程

1. 解压:tar -xzvf open-iscsi-2.0-870.tar.gz

2. cd open-iscsi-2.0-870

3. 编译:make KSRC=/usr/src/linux-headers-$(uname -r)

4. 安装:make install KSRC=/usr/src/linux-headers-$(uname -r)

 

iSCSI Initiator配置和常用操作详解

² 配置可以通过编辑/etc/iscsi/ 目录下的 iscsid.conf 文件进行,相关操作 iscsid.conf 文件内有详细的编写范例和说明。

 

² 开启、停止、重启Initistor 服务

/etc/init.d/open-iscsi start

/etc/init.d/open-iscsi stop

/etc/init.d/open-iscsi restart

² 探测某台机器的Target

iscsiadm -m discovery -t sendtargets -p 192.168.5.35

192.168.5.35:3260,1 iqn.2010-03.com.Datastore:C3560:iSCSI.100G.634879

192.168.5.35:3260,1 iqn.2010-03.com.Datastore:C3560:iSCSI.Q.634879

² 列出所有 Target 
iscsiadm -m node

192.168.5.35:3260,1 iqn.2010-03.com.Datastore:C3560:iSCSI.Q.634879

192.168.5.35:3260,1 iqn.2010-03.com.Datastore:C3560:iSCSI.100G.634879

² 连接所有 Target 
iscsiadm -m node -L all

² 连接指定 Target 
iscsiadm -m node -T iqn.2010-03.com.Datastore: C3560:iSCSI.janco.634879 -p 192.168.5.35 --login

    

² 带用户名和密码的Target 登陆, 需要编辑/etc/iscsi/node 目录下对应的文件

例如:vi /etc/iscsi/node/iqn.2010-03.com.Datastore:C3560:iSCSI.100GTest.741F81

修改

node.session.auth.authmethod = None

node.session.auth.authmethod = CHAP

node.session.auth.username = janco

node.session.auth.password = youraregoodman

node.se ssion.auth.username_in = 
node.session.auth.password_in =

然后再按照上述方法进行连接

注意,如果执行了discovery 后,上述修改将会被还原。

 

² 使用如下命令可以查看数据结构的树状信息

# iscsiadm -m node -o show -T   iqn.2010-03.com.Datastore: C3560:iSCSI.janco.634879


node.name = iqn.2010-03.com.Datastore: C3560:iSCSI.janco.634879

node.tpgt = 1 
node.startup = automatic 
iface.hwaddress = default 
iface.iscsi_ifacename = default 
iface.net_ifacename = default 
iface.transport_name = tcp 
node.discovery_address = 192.168. x.x 
node.discovery_port = 3260 
node.discovery_type = send_targets 
node.session.initial_cmdsn = 0 
node.session.initial_login_retry_max = 4 
node.session.cmds_max = 128 
node.session.queue_depth = 32 
node.session.auth.authmethod = CHAP 
node.session.auth.username = janco 
node.session.auth.password = ******** 
node.session.auth.username_in = 
node.session.auth.password_in = 
node.session.timeo.replacement_timeout = 120 
node.session.err_timeo.abort_timeout = 10 
node.session.err_timeo.reset_timeout = 30 
node.session.iscsi.InitialR2T = No 
node.session.iscsi.ImmediateData = Yes 
node.session.iscsi.FirstBurstLength = 262144 
node.session.iscsi.MaxBurstLength = 16776192 
node.session.iscsi.DefaultTime2Retain = 0 
node.session.iscsi.DefaultTime2Wait = 0 
node.session.iscsi.MaxConnections = 1 
node.session.iscsi.MaxOutstandingR2T = 1 
node.session.iscsi.ERL = 0 
node.conn[0].address = 192.168. x.x 
node.conn[0].port = 3260 
node.conn[0].startup = manual 
node.conn[0].tcp.window_size = 524288 
node.conn[0].tcp.type_of_service = 0 
node.conn[0].timeo.logout_timeout = 15 
node.conn[0].timeo.login_timeout = 15 
node.conn[0].timeo.auth_timeout = 45 
node.conn[0].timeo.active_timeout = 5 
node.conn[0].timeo.idle_timeout = 60 
node.conn[0].timeo.ping_timeout = 5 
node.conn[0].timeo.noop_out_interval = 10 
node.conn[0].timeo.noop_out_timeout = 15 
node.conn[0].iscsi.MaxRecvDataSegmentLength = 131072 
node.conn[0].iscsi.HeaderDigest = None,CRC32C 
node.conn[0].iscsi.DataDigest = None 
node.conn[0].iscsi.IFMarker = No 
node.conn[0].iscsi.OFMarker = No

 

² 查看目前 iSCSI target 连接 状态 
iscsiadm -m session

tcp: [1] 192.168.5.35:3260,1 iqn.2010-03.com.Datastore: C3560:iSCSI.janco.634879

² 通过 ls /dev/sd* 查看确认已经增加了磁盘设备

² 断开所有 Target 连接

iscsiadm -m node -U all

² 断开指定 Target 连接 
iscsiadm -m node -T iqn.2010-03.com.Datastore: C3560:iSCSI.janco.634879 -p 192.168.5.35 --logout

² 查看目前连接状态 
iscsiadm -m session

iscsiadm: No active sessions. (目前已沒有连接的 iSCSI target)

² 刪除所有 node 信息 ( 需重新 discovery) 
iscsiadm -m node --op delete










本文转自 qq8658868 51CTO博客,原文链接:http://blog.51cto.com/hujizhou/911208,如需转载请自行联系原作者
上一篇:你在社交网站上发的emoji 也变成了广告商的目标


下一篇:ECS——从个人博客HiBlog开始