CentOS6下配置基于CHAP认证的iSCSI网络存储服务

2019-10-12 19:18:08 浏览数 (1)

之前有简单介绍过iscsi网络存储的基本配置CentOS配置iSCSI网络存储服务,下面再详细介绍iSCSI服务端与客户端的常用命令tgtadm和iscsiadm,以及如何配置基于CHAP认证的iSCSI网络存储服务

一、基于下面的简单拓扑图

服务端10.20.10.139将/dev/sda6作为iscsi共享存储介质

二、iscsi-target服务端配置

1、安装iscsi服务端:

yum -y install scsi-target-utils

service tgtd start

chkconfig tgtd on

netstat -tnlp | grep 3260

2、服务端配置管理工具tgtadm的使用:

tgtadm --lld driver --op operation --mode mode...

(1)、添加一个新的 target 且其ID为 id, 名字为 name.

--lld driver --op new --mode target --tid=id --targetname name

(2)、显示所有或某个特定的target:

--lld driver --op show --mode target [--tid=id]

(3)、向某ID为id的设备上添加一个新的LUN,其号码为lun,且此设备提供给initiator使用。path是某“块设备”的路径,此块设备也可以是raid或lvm设备。lun0已经被系统预留。

--lld driver --op new --mode=logicalunit --tid=id --lun=lun --backing-store path

(4)、删除ID为id的target:

--lld driver --op delete --mode target --tid=id

(5)、删除target id中的LUN lun:

-lld driver --op delete --mode=logicalunit --tid=id --lun=lun

(6)、定义某target的基于主机的访问控制列表,其中,address表示允许访问此target的initiator客户端的列表:

--lld driver --op bind --mode=target --tid=id --initiator-address=address

(7)、解除target id的访问控制列表中address的访问控制权限:

--lld driver --op unbind --mode=target --tid=id --initiator-address=address

例如:

1)创建一个target:

tgtadm --lld iscsi --mode target --op new --targetname iqn.2019-10.cn.walkingcloud:storage.disk --tid 1

tgtadm --lld iscsi --op show --mode target

2)创建LUN,号码为1

tgtadm --lld iscsi --mode logicalunit --op new --tid 1 --lun 1 --backing-store /dev/sda6

3)只开放给10.20.10.0/23网络中的主机访问

tgtadm --lld iscsi --mode target --op bind --tid=1 --initiator-address 10.20.10.0/23

4)创建账户

tgtadm --lld iscsi --op new --mode account --user admin --password admin@2019

5)将账户和target绑定

tgtadm --lld iscsi --op bind --mode account --tid 1 --user admin

man tgtadm 查看CHAP认证的相关命令

三、iscsi-initiator客户端配置

1、yum install iscsi-initiator-utils安装客户端工具并开启服务

yum install iscsi-initiator-utils

iscsi-iname

echo "InitiatorName=iqn.2019-10.node1.cn.walkingcloud:iscsi-client" > /etc/iscsi/initiatorname.iscsi

cat /etc/iscsi/initiatorname.iscsi

service iscsi start

chkconfig iscsi on

2、iscsiadm工具的使用:

iscsiadm是个模式化的工具,其模式可通过-m或--mode选项指定,常见的模式有discoverydb、node、fw、session、host、iface几个,

如果没有额外指定其它选项,则discoverydb和node会显示其相关的所有记录;

session用于显示所有的活动会话和连接,

fw显示所有的启动固件值,

host显示所有的iSCSI主机,

iface显示/var/lib/iscsi/ifaces目录中的所有ifaces设定。

iscsiadm -m discovery -d debug_level [ -I iface -t type -p ip:port -l ]

iscsiadm -m node -d debug_level -L all,manual,automatic [ -T tar-getname -p ip:port -I iface ] [ -o operation

-d, --debug=debug_level 显示debug信息,级别为0-8;

-l, --login

-t, --type=type 这里可以使用的类型为sendtargets(可简写为st)、slp、fw和 isns,此选项仅用于discovery模式,且目前仅支持st、fw和isns;其中st表示允许每个iSCSI target发送一个可用target列表给initiator;

-p, --portal=ip:port 指定target服务的IP和端口;

-m, --mode op 可用的mode有discovery, node, fw, host iface 和 session

-T, --targetname=targetname 用于指定target的名字

-u, --logout

-o, --op=OPEARTION:指定针对discoverydb数据库的操作,其仅能为new、delete、update、show和nonpersistent其中之一;

-I, --interface=iface:指定执行操作的iSCSI接口,这些接口定义在/var/lib/iscsi/ifaces中;

3、登录到target目标的操作步骤

1)发现目标:iscsiadm -m discovery -t sendtargets -p 10.20.10.139

2)登录iscsiadm -m node -T iqn.2019-10.cn.walkingcloud:storage.disk -p 10.20.10.139 -l

因为开启了CHAP认证,所以这时登录失败

3)、更新登录参数后, 再进行登录

root@node1 ~# iscsiadm -m node -T iqn.2019-10.cn.walkingcloud:storage.disk -p 10.20.10.139 -o update --name=node.session.auth.authmethod --value=CHAP

root@node1 ~# iscsiadm -m node -T iqn.2019-10.cn.walkingcloud:storage.disk -p 10.20.10.139 -o update --name=node.session.auth.username --value=admin

root@node1 ~# iscsiadm -m node -T iqn.2019-10.cn.walkingcloud:storage.disk -p 10.20.10.139 -o update --name=node.session.auth.password --value=admin@2019

root@node1 ~# iscsiadm -m node -T iqn.2019-10.cn.walkingcloud:storage.disk -p 10.20.10.139 -l

4)、查看会话相关信息:

iscsiadm -m session -s

5)如果initiator端已经登录过此target,此时还需要先注销登录后重启iscsid服务,并在删除此前生成的database后重新发现target,并重新登入

iscsiadm -m node -T iqn.2019-10.cn.walkingcloud:storage.disk -p 10.20.10.139 -u

iscsiadm -m node -T iqn.2019-10.cn.walkingcloud:storage.disk -p 10.20.10.139 -o delete

rm -rf /var/lib/iscsi/nodes/

rm -rf /var/lib/iscsi/send_targets/10.20.10.139,3260/

service iscsid restart

四、服务端 客户端配置文件修改

1、服务端

cd /etc/tgt/

cp targets.conf targets.conf_bak_default

vi targets.conf

加入如下配置

代码语言:javascript复制
<target iqn.2019-10.cn.walkingcloud:storage.disk>
       <backing-store /dev/sda6>
        vendor_id storage
        lun 1
       </backing-store>
       initiator-address  10.20.10.0/23
       incominguser admin admin@2019
</target>

2、客户端

cd /etc/iscsi/

cp iscsid.conf iscsid.conf_bak_default

vi iscsid.conf

取消如下项的注释:

node.session.auth.authmethod = CHAP

node.session.auth.username = admin

node.session.auth.password = admin@2019

修改完成后service iscsid restart重启服务,进行发现和登录target操作

重启后也会自动登录挂载iscsi存储

当然上面介绍的只是CHAP单向认证,未涉及双向认证,本文基于马哥教育的iscsi课程讲解 笔记整理

0 人点赞