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

登录认证:

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

这里有几个注意的地方

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

targetcli配置iSCSI的更多相关文章

  1. 配置iSCSI部署网络存储

    iSCSI( Internet Small Computer System Interface 互联网小型计算机系统接口)是由IBM 下属的两大研发机构一一加利福尼亚AImaden和以色列Haifa研 ...

  2. CentOS7系列--3.2CentOS7中配置iSCSI服务

    CentOS7配置iSCSI服务 在网络上的存贮服务为iSCSI Target,而连接到iSCSI Target服务的叫iSCSI Initiator 1. 直接配置iSCSI Target服务 1. ...

  3. CentOS 6.5下配置iSCSI网络存储

    一.简介 iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行 SCSI协议,使其能 ...

  4. CentOS 6.3下配置iSCSI网络存储

    一.简介 iSCSI(internet SCSI)技术由IBM公司研究开发,是一个供硬件设备使用的.可以在IP协议的上层运行的SCSI指令集,这种指令集合可以实现在IP网络上运行SCSI协议,使其能够 ...

  5. 在Ubuntu 12.04上配置iSCSI Target服务

      今天自己按照网上搜来的教程自己在Ubuntu 12.04上配置了iSCSI Target服务,在这里简单地做个纪录.操作系统是全新安装的Ubuntu 12.04,配置一块500 GB的SATA笔记 ...

  6. vSphere ESXi主机配置iSCSI存储

    vSphere ESXi主机配置iSCSI存储 vSphere ESXi主机一般连接的存储类型有光纤存储.iSCSI存储两类.本次案例为iSCSI存储连接ESXi主机的配置. 案例环境:ESXi主机通 ...

  7. ubuntu 12.04 配置iscsi共享及挂载iscsi共享

    一.配置ubuntu 下iscsi下的target 1.配置iscsi-target: sudo apt-get install iscsi* 2.配置一个简单的iscsi target: iscsi ...

  8. Cluster基础(一):配置iSCSI服务、编写udev规则、配置并访问NFS共享、部署Multipath多路径环境

    一.配置iSCSI服务 目标: 本案例要求先搭建好一台iSCSI服务器,并将整个磁盘共享给客户端: 虚拟机添加新的磁盘 将新添加的磁盘分区并创建两个逻辑卷 逻辑卷名称分别为:/dev/myvg/isc ...

  9. CentOS7 配置ISCSI targetcli 共享存储

随机推荐

  1. vim中的分屏操作

    title: vim中的分屏操作 date: 2017-11-14 21:45:11 tags: vim categories: 开发工具 在命令行中: vim -On file1 file2 # O ...

  2. Axis2开发WebService客户端 的3种方式

    Axis2开发WebService客户端 的3种方式 在dos命令下   wsdl2java        -uri    wsdl的地址(网络上或者本地)   -p  com.whir.ezoffi ...

  3. KVM 通过virsh console连入虚拟机

    新安装一台虚拟机后,是无法通过virsh console 命令连入虚拟机中的,这时我们需要开启虚拟机的console功能. 一.添加ttyS0的许可,允许root登陆 [root@localhost ...

  4. GO语言常量和变量

    标识符与关键字 标识符 人为定义有特殊意义的词,Go语言中标识符由字母数字和_(下划线)组成,并且只能以字母和_开头. 关键字 关键字是指编程语言中预先定义好的具有特殊含义的标识符. GO语言中有25 ...

  5. k-means算法 - 数据挖掘算法(5)

    (2017-05-02 银河统计) k-means算法,也被称为k-平均或k-均值,是数据挖掘技术中一种广泛使用的聚类算法. 它是将各个聚类子集内的所有数据样本的均值作为该聚类的代表点,算法的主要思想 ...

  6. h5 实现定位

    直接上代码,代码使用了vue相关的语法 并且引入了dialog插件 ,使用时直接调用getLocation()方法就可以了! // 定位 function getLocation(){ console ...

  7. EDK II之Device Path

    UEFI中通过Device Path来描述设备的路径,一个完整的路径由多个Device Path Nodes组成. 下面通过输入设备的路径作为例子: PNP0A03 – PCI Host Bridge ...

  8. Python爬虫(二)——对开封市58同城出租房数据进行分析

    出租房面积(area) 出租房价格(price) 对比信息 代码 import matplotlib as mpl import matplotlib.pyplot as plt import pan ...

  9. VS2015 scanf 函数报错 error C4996: 'scanf'

    错误提示:error C4996: 'scanf': This function or variable may be unsafe. Consider using scanf_s instead. ...

  10. Python标准模块--concurrent.futures(进程池,线程池)

    python为我们提供的标准模块concurrent.futures里面有ThreadPoolExecutor(线程池)和ProcessPoolExecutor(进程池)两个模块. 在这个模块里他们俩 ...