天天看点

redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。

实验环境:两台虚拟机,系统为redhat7.0以上(本文使用redhat 7.5)

第一台虚拟ip地址为ip:192.168.0.118/24 gw:192.168.0.1 hostname:target.zhuxu.co ---主机名很关键。

第二台虚拟机ip地址为192.168.0.119/24 gw:192.168.0.1 hostname:initiator.zhuxu.co

两台虚拟机配置好yum 源。

一,target 服务器端配置

1,修改主机名为target.zhuxu.co(修改完成后断开,重新连接)

redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。
2,安装所需要的软件包
redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。
3,设置target开机自动启动和启动target
redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。
4,防火墙放行target 监听端口(默认为3260/tcp)
redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。

5,targetcli命令有两种模式,一种是交互式模式,一种是命令行模式。输入targetcli 回车就进入交互式模式,进入交互式模式可以使用ls,pwd,cd等命令

i

redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。

本文以交互式做介绍,附带命令行的写法:targetcli ls

注解:后端存储介绍

o- backstores ...........

| o- block .......block:块设备,b,可以是磁盘驱动器,分区,逻辑卷,多路径设备,只要块设备都可以。

| o- fileio ......文件(镜像img),根据一个事先准备的文件,提供存储功能.

| o- pscsi ......物理scsi设备,不推荐使用

| o- ramdisk .....内存存储,利用内存当做存储。

5,创建物理磁盘结构作为target后端的物理存储(事先已经创建好了一个100M LV做备用)           
redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。
redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。

命令行的实现:

targetcli /backstores/block create name=datastore dev= /dev/iscsi_vg/iscsi_lv

6,为target server 创建IQN,自动创建一个默认的target portal.

注解:iqn的命令规则:iqn.yyyy-MM.域名反向书写:自定义

例如:iqn.2018-08.co.zhuxu:target---用主机名作标识好记忆。

redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。

命令行实现:

targetcli /iscsi create iqn.2018-08.co.zhuxu:target

7,为target server portal创建一个网络监听信息{portal} 以发现target

redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。
redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。

命令实现:

targetcli /iscsi/iqn.2018-08.co.zhuxu:target/tpg1/portals delete 0.0.0.0 3260

targetcli /iscsi/iqn.2018-08.co.zhuxu:target/tpg1/portals create 192.168.0.118

8,创建LUM代表设备(LUN关联后端存储)

redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。

targetcli /iscsi/iqn.2018-08.co.zhuxu:target/tpg1/luns create /backstores/block/datastore

9,配置ACL(可以不用配置,也可以使用)

ACL(访问控制列表)必须要和initiator端/etc/iscsi/initiatorname.iscsi里iqn名字保持一致。否则拒绝访问。

ACL默认是关闭的,需要手动开启。通过设置generate_node_acls={0|1}

redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。
redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。

targetcli /iscsi/iqn.2018-08.co.zhuxu:target/tpg1/acls create iqn.2018-08.co.zhuxu:initiator

targetcli /iscsi/iqn.2018-08.co.zhuxu:target/tpg1 set attribute generate_node_acls=1

target服务器端配置完成。

客户端配置

1,修改主机名为initiator.zhuxu.co

redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。

2,查看iscsi-initiator-utils软件包有没有安装(默认是安装的)如果没有安装yum install -y iscsi-initiator-utils 安装即可

redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。

3,开启iscsi服务,开启开机自启动。

redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。

4,修改iqn

redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。

5,发现target 的iscsi设备。

redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。

发现的target 信息会保存在/var/lib/iscsi/node 目录下

注解:

iscsiadm iscsi的管理程序

-m --mode指定模式,发现为discovery,登陆为node节点模式,session

-l --login登陆

-t --type 一般为sendtarget,简写为st

-o --op=op 指定选项,new delete update show nonpersistent

可以用-o delete 对已存在的node进行删除

-p --portal 指定入口 可以为IP地址或者域名

-P n 指定输出详细信息,[0|1|2|3],有四种格式可选

-u --logout 登出

-T --targetname=targetanme 指定要使用的服务器端的target名称,有时候服务器端创建了多个target,iqn.2015-10.com.example:

6,登录target

redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。

此时,fdisk -l 会发现多出来一块磁盘。你可以对着磁盘分区,格式化挂载等操作。

7,登出target(临时取消对target的iscsi的访问,如果重启服务,依然能发现有一块磁盘)

redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。

8,如果不想访问target的iscsi设备(如果在重启服务,则不会出现发现的磁盘)

redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。

实际上这条命令就是删除/var/lib/iscsi/node/目录下对应的信息。

配置chap认证

target服务器端

1,配置发现认证discovery authentication

1.1单向认证(target服务器认证initiator)

redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。

1.2双向认证(target服务器端和inititor客户端互相认证)

redhat 7实现基于chap认证的iscsi,包括发现认证,和正常认证。