ITPub博客

首页 > 数据库 > 数据库开发技术 > CentOS6下配置基于CHAP认证的iSCSI网络存储服务

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

原创 数据库开发技术 作者:u_2ebce1c3a860 时间:2019-10-07 14:51:55 0 删除 编辑
之前有简单介绍过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] [OPTION]...
(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 ] [ -P printlevel ] [ -I iface -t type -p ip:port [ -l ] ] 
iscsiadm -m node [ -d debug_level ] [ -P printlevel ] [ -L all,manual,automatic ] [ -U all,manual,automatic ] [ [ -T tar-getname -p ip:port -I iface ] [ -l | -u | -R | -s] ] [ [ -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
加入如下配置
<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课程讲解+笔记整理

原文作者:WalkingCloud;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2018-05-05

  • 博文量
    441
  • 访问量
    209414