targetcli配置iSCSI

摘要:
概述:本文介绍了LIO下的用户模式工具targetcli,用于配置iSCSI服务虚拟机环境:centos 7.x(内核版本3.10.0-862.el7.x86_64)IP地址为192.168.1.200/201。使用targetcli安装centos通常附带此工具。如果没有,请访问官方网站下载。这里,我们将不介绍如何快速创建IP-SAN1。在命令行输入targetcli以进入交互式界面。使用ls、cd和其他命令,交互式界面可以灵活而简单

概述:这篇文章来介绍LIO下的用户态工具targetcli来配置iSCSI服务

虚拟机环境:centos7.x(内核版本3.10.0-862.el7.x86_64)

IP分别为192.168.1.200/201

 

targetcli安装

centos一般都自带了此工具,没有的话去官网下载,这里就不再介绍

 

快速创建IP-SAN

1.命令行输入targetcli进入交互界面,在交互界面可以使用ls,cd等命令灵活简单的操作,如图所示,最上层目录包括backstores、iscsi等,如果有FC或Infiniband的话,还会有其余的一些子模块如qla2xxx等

targetcli配置iSCSI第1张

 

 

2.创建卷资源

使用cd进入/backstores/block目录,

cd backstores/block

然后创建卷资源,使用块设备/dev/sdb

create dev=/dev/sdb name=sdb

提示sdb设备正在被使用,重新选择/dev/sdc来创建卷资源,提示创建成功(readonly属性表示读写权限,wwn号为卷资源的唯一标号)

targetcli配置iSCSI第2张

 

 

3.创建iSCSI

快速创建一个iSCSI服务的步骤如下:

a.首先创建一个iqn

b.在iqn下添加提供服务的IP以及需要映射的卷

c.设置认证

targetcli配置iSCSI第3张

 操作如下:

这里介绍一个技巧,在交互界面输入cd,可以进入下图界面,可以灵活快速地跳到指定目录

targetcli配置iSCSI第4张

 

接下来在iscsi目录下创建iqn

targetcli配置iSCSI第5张

 

然后在iqn的对应目录下添加服务IP,映射卷和权限设置

targetcli配置iSCSI第6张

 

 

initiator端发现:可以看到已经可以发现登录过来的逻辑卷

发现命令:iscsiadm -m discovery -t st -p IP

登录命令:在发现命令后面加入-l或者iscsiadm -m node -T IQN -l

登出命令:iscsiadm -m node -T IQN -u 如 iscsiadm -m node -T iqn.2018-10.hzhrinet.com:test -u

targetcli配置iSCSI第7张

 

 iSCSI认证

iSCSI认证分为发现认证和登录认证,其中每种认证又分为单向认证和双向认证

发现认证和登录认证的意思就和名字一样

单向认证是指initiator端在发现target端的时候,要提供正确的认证才能发现在target端的iSCSI服务

双向认证是指在单向认证的基础上,target端需要正确设置initiator端设置的认证才能被initiator端发现

发现认证:

1.首先我们来看发现认证的默认属性,这是一个全局的设置

targetcli配置iSCSI第8张

 

2.设置单向认证

首先在target端执行命令,设置单向认证

targetcli配置iSCSI第9张

此时initiator端登录会出现认证错误,无法发现

targetcli配置iSCSI第10张

这时我们需要设置initiator端的配置文件/etc/iscsi/iscsid.conf

targetcli配置iSCSI第11张

此时再在initiator端发现,发现成功

targetcli配置iSCSI第12张

 

3.设置双向认证(必须建立在单向认证的基础上)

首先在initiator端设置认证

targetcli配置iSCSI第13张

 

然后在target端设置initiator的认证

targetcli配置iSCSI第14张

 

PS:这里也可以不动配置文件,通过操作discoverydb来发现认证,首先我们看一下现在的数值

[root@nodeb ~]# iscsiadm -m discoverydb -t st -p node -o show
# BEGIN RECORD 6.2.0.874-10
discovery.startup = manual
discovery.type = sendtargets
discovery.sendtargets.address = node
discovery.sendtargets.port = 3260
discovery.sendtargets.auth.authmethod = None
discovery.sendtargets.auth.username = <empty>
discovery.sendtargets.auth.password = <empty>
discovery.sendtargets.auth.username_in = <empty>
discovery.sendtargets.auth.password_in = <empty>
discovery.sendtargets.timeo.login_timeout = 15
discovery.sendtargets.use_discoveryd = No
discovery.sendtargets.discoveryd_poll_inval = 30
discovery.sendtargets.reopen_max = 5
discovery.sendtargets.timeo.auth_timeout = 45
discovery.sendtargets.timeo.active_timeout = 30
discovery.sendtargets.iscsi.MaxRecvDataSegmentLength = 32768
# END RECORD

然后可以通过类似如下命令来修改值

iscsiadm -m discoverydb -t st -p node -o update -n discovery.sendtargets.auth.authmethod -v CHAP

然后执行

iscsiadm -m discoverydb -t st -p node -D

这里注意,iscsiadm -m discovery命令默认是从配置文件去获取的,所以如果执行了discovery命令,discoverydb的默认值又会被改回来

 

登录认证:

登录认证和发现认证类似,也是分为单向认证和双向认证,设置的方法和发现认证几乎一样

这里有几个注意的地方

1.generate_node_acls属性表示是否开启ACL,当为no-gen-acls的是否,initiator端的iqn号(/etc/iscsi/initiatorname.iscsi下)必须加入acl才能登陆

targetcli配置iSCSI第15张

2.在tpg目录下打开认证set attribute authentication=1,作用类似发现认证的enable

在acl的iqn目录下设置用户和密码,操作类似发现认证

targetcli配置iSCSI第16张

 

initiator端修改这些选项就可以了,和发现认证类似

 targetcli配置iSCSI第17张

参考:http://blog.51cto.com/zhuxu91313/2154819

免责声明:文章转载自《targetcli配置iSCSI》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇php foreach 跳出本次循环/当前循环与终止循环的方法Centos7使用google-Chrome浏览器下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

xcode 一些三方库版本警告 iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.2.99.

1. 三方库警告: Showing All Messages The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.2...

Jenkins 五: 构建Ant项目

1. 点击“新建”,在“Item名称”栏输入要构建的项目名,比如“Ant_project”,选择“构建一个自由风格的软件项目”,点击“OK”按钮。 2. 找到“源码管理”-> “Subversion”. 在 “Repository URL”栏输入源码地址。 3. 找到“ 构建”。点击 “增加构建步骤”,选择”Invoke Ant”。 在“Ant Ve...

js图片全屏

html, body {height:100%; } img {display:block;margin:100px auto 0;width:900px;cursor:pointer; } /*webkit和IE在元素进入全屏后,会保持元素原有的尺寸,所以需要通过css伪类进...

C# 将日期转换为时间戳(日期与时间戳互转)

public static class AbpExtensions { /// <summary> /// 返回10位时间戳 Timestamp /// </summary> /// <param name="target"></param> /// <retur...

leetcode691:Stickers to Spell Word

题目链接给定一个字符串target和一个字符串数组stickers[],要求从stickers中选取尽量少的字符串,以这些字符串所包含的字母为原材料,拼出target。其中:对于stickers中的每个字符串,可以使用多次。target和stichers中的字符串字符集全部为小写字母集。 分析 初看这道题,这是一个整数规划问题。target为aabbb,s...

台式机安装CentOS7.6 Minimal ISO系统并增加图形化桌面

需求:公司测试环境因业务原因,需要在台式电脑上安装带桌面的CentOS系统,因同事有一个7.6版本Minimal ISO镜像的安装U盘,为了图方便没有去下载everything ISO镜像,而是待同事安装好最小化系统后我来添加桌面。系统安装参考如下链接:https://jingyan.baidu.com/article/59703552b61eb78fc0...