zoukankan      html  css  js  c++  java
  • targetcli配置iSCSI

    概述:这篇文章来介绍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等

    2.创建卷资源

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

    cd backstores/block

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

    create dev=/dev/sdb name=sdb

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

    3.创建iSCSI

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

    a.首先创建一个iqn

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

    c.设置认证

     操作如下:

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

    接下来在iscsi目录下创建iqn

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

    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

     iSCSI认证

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

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

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

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

    发现认证:

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

    2.设置单向认证

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

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

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

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

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

    首先在initiator端设置认证

    然后在target端设置initiator的认证

    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才能登陆

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

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

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

     

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

    -------------------------------------------------- 少年应是春风和煦,肩头挑着草长莺飞 -------------------
  • 相关阅读:
    jquery animate()方法 语法
    jquery unload方法 语法
    jquery undelegate()方法 语法
    jquery unbind()方法 语法
    jquery trigger() 方法 语法
    jquery toggle()方法 语法
    jquery change() 函数 语法
    jquery blur()函数 语法
    jquery bind()方法 语法
    jquery checked选择器 语法
  • 原文地址:https://www.cnblogs.com/cheyunhua/p/15766697.html
Copyright © 2011-2022 走看看