Linux上配置使用iSCSI详细说明(9)

<target iqn.2017-03.com.longshuai:test1.disk1>
        backing-store /dev/sdb1
        backing-store /dev/sdc
        initiator-address 192.168.100.0/24
</target>此时在initiator上关联此target,然后登出。这里无论登不登出对target的影响都是一样的。

iscsiadm -m discovery -t st -p 192.168.100.151:3260
iscsiadm -m node -T iqn.2017-03.com.longshuai:test1.disk1 -p 192.168.100.151:3260 -l
iscsiadm -m node -T iqn.2017-03.com.longshuai:test1.disk1 -p 192.168.100.151:3260 -u再重启target上的tgtd服务,然后查看状态。

service tgtd restart
Stopping SCSI target daemon:                              [  OK  ]
Starting SCSI target daemon:                              [  OK  ]

tgt-admin -s
Target 1: iqn.2017-03.com.longshuai:test1.disk1
    System information:
        Driver: iscsi
        State: ready
    I_T nexus information:
    LUN information:
        LUN: 0
            Type: controller
            SCSI ID: IET    00010000
            SCSI SN: beaf10
            Size: 0 MB, Block size: 1
            Online: Yes
            Removable media: No
            Prevent removal: No
            Readonly: No
            Backing store type: null
            Backing store path: None
            Backing store flags:
    Account information:
    ACL information:
        192.168.100.0/24结果lun1和lun2没了。无论再怎么重启结果都是一样,哪怕是手动使用tgt-admin -e -c指定配置文件执行结果也一样。

好在/etc/init.d/tgtd提供了不少的选项。

/etc/init.d/tgtd --help
Usage: /etc/init.d/tgtd {start|stop|status|restart|condrestart|try-restart|reload|force-stop|force-restart|force-reload}它们的意思无须多述。

经过测试,上述问题只有使用force-reload选项能解决,其他所有选项都无效,包括force-restart和reload。

service tgtd force-reload或者重启系统也能解决,但是谁没事会重启系统呢?

第4章 account模式和CHAP认证  4.1 CHAP认证

基于IP的认证比较粗糙,不过多数时候已经够用了。但对于安全性要求高的环境来说,使用CHAP认证更好一些。

CHAP(Challenge-Handshake Authentication Protocol),称为挑战式握手认证协议,它是双向认证,当然也支持单向认证。

对于iscsi而言,在CHAP认证的机制上有两种方式:initiator authentication和target authentication。

initiator authentication认证
 
在initiator尝试连接到一个target的时候,initator需要提供一个用户名和密码给target被target进行认证。也就是说initiator需要被target认证,它向target端提供的账号和密码是target端指定的。
 
这个账号和密码对于target来说是流入的账号和密码,用incoming表示。所以后面称呼这个账号和密码为incoming账号和incoming密码。再次说明,incoming账号是initiator端提供给target端,被target端认证的账号。
 

target authentication认证
 
在initiator尝试连接到一个target的时候,target有时也需要被initiator认证,以确保该target是合法而非伪装的target,这就要求target提供一个用户名和密码给initiator被initiator进行认证。
 
target向initiator提供的账号和密码对于target而言是流出的,所以称之为outgoing。所以outgoing使用的账号和密码在后文称为outgoing账号和outgoing密码。而对于initiator而言是incoming的,所以在initiator配置文件中称为in。也就是说outgoing账号是target端提供给initiator端,被initiator认证的账号,但尽管如此,这个账号和密码还是在target端创建和绑定的。

综上,不管是什么认证,账号和密码都是target端创建和绑定。

以上两种认证方式是有层次顺序的。一般来说,有认证需求的时候都是服务器验证客户端是否有权限,iscsi也一样。

initiator authentication可以单独存在,它可以在没有target authentication的情况下应用,这时候的CHAP认证就是单向认证(target认证initiator的合法性)。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/12783.html