码迷,mamicode.com
首页 > 其他好文 > 详细

iscsi

时间:2015-09-22 19:03:02      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:iscsi

iscsi

iSCSI的协议自顶向下分为三层

SCSI层:根据客户端发出的请求建立SCSI CDB--命令描述,并传给iSCSI层。同时接收来自iscsi层的CDB,并向应用返回数据

iSCSI层:对SCSI CDB进行封装,便于能够在基于TCP/IP协议的网络上进行传输,完成SCSI到tcp/ip的协议映射。这一层是iscsi协议的核心层。

TCP/IP层:对ip报文进行路由和转发,并且提供端到端的透明可靠的传输。


iscsi协议定义了在tcp/ip网络发送,接收数据块存储数据的规则和方式。发送端封装scsi命令和数据到TCP/IP包,然后通过ip网络转发,接收到tcp/ip包后将其还原为scsi命令和数据并执行,执行完成后将返回的scsi命令和数据在封装到tcp/ip包中,返回给发送端。


iSCSI Initiator是一个安装在计算机上的软件或硬件设备,其负责与iSCSI存储设备进行通信。

iSCSI服务器与iSCSI存储设备之间的连接方式有两种:软件方式iSCSI Initiator软件,在iSCSI服务器上安装Initiator后,其可以将以太网卡虚拟为iSCSI卡,可以接收和发送iSCSI数据报文,从而实现主机和iSCSI存储设备之间的iSCSI协议和TCP/IP协议传输功能。但是iSCSI报文和TCP/IP报文转换需要消耗iSCSI服务器的一部分CPU资源。第二种就是硬件iSCSI HBA卡


Linux上配置iSCSI Initiator

技术分享

启动iscsi

技术分享

iscsi initiator的目录及其部分说明

技术分享

/sbin/iscsiadm;用来管理(更新、删除、插入、查询)iSCSI配置数据库文件的命令行工具,能够对iSCSI nodes、sessions、connections、discovery records进行操作

/var/lib/iscsi/send_targets;此目录下回生成iSCSI存储服务器的ip地址和端口号命名的文件夹

/var/lib/iscsi/nodes;此目录下生成iSCSI存储服务器上的target命名的文件夹,还有一个文件名iSCSI port ip,端口号的配置文件,此文件是iSCSI Initiator登录iSCSI Target时需要的参数,此参数从/etc/iscsi/iscsi.conf文件中继承过来


执行iSCSI Target发现

技术分享iscsiadm -m dicovery --type sendtargets --portal ip或

iscsiadm -m discovey -t sendtargets -p ip

成功执行一次Targets发现后,iSCSI Initiator就会将查询记录到/var/lib/iscsi/send_targets对应的目录下面。

iscsiadm指令与iSCSI Target主机建立连接,登录到iSCSI Target

iscsiadm -m node -T <target-name> -p ip --login

当Target主机多时,通过--login=all登录所有主机

说明:执行Target发现操作时,已经与iSCSI Target主机建立了连接。断开iSCSI Target与Initiator的连接命令如下

iscsiadm -m node -T <target-name> -p ip -u

查看iSCSI session信息

iscsiadmin -m  session -i

iSCSI在安全方面的设定

iSCSI在授权访问和安全管理方面可以以主机为基础来设定允许和拒绝;也可以通过账号密码设定允许和拒绝。

Initiaror主机以ip认证方式获取iSCSI Target资源:

iSCSI Target是一个可以用于存储数据的iSCSI磁盘阵列或者具有iSCSI功能的设备都可以成为Target,其主配置文件是/etc/iet/ietd.conf

在iSCSI Target服务器上修改/etc/iet/ietd.conf定义Target,并为Target添加对应的分区,然后修改/etc/iet/initiator.allow文件,此文件件定义Initiator主机对Target服务器的访问规则类似于/etc/hosts.allow

Initiaror主机以密码认证方式获取iSCSI Target资源:

 iscsi Target以账号密码方式认证分两个阶段:

    一是discovery查询认证所使用的账号密码

    二是登录Target使用的账号密码

 需要在Initiator主机和iscsi Target主机上进行配置

   1、iscsi Target配置

    vim /etc/iet/initiator.allow开启权限

   vim /etc/iet/ietd.conf

   2、Initiator主机配置

    vim /etc/iscsi/iscsid.conf

    node.session.auth.authmethod=CHAP

    node.session.auth.username=login_username

    node.session.auth.password = secret

    

    discovery.sendtargets.auth.authmethod = CHAP

    discovery.sendtargets.auth.username = discovery.auth

    discovery.sendtargets.auth.password = discoverysecret

  

iSCSI优化

由于iSCSI协议建立在TCP/IP协议上,进行数据传输时,其性能受限于TCP/IP协议栈负载和以太网最大带宽。在应用中iSCSI数据传输性能存在瓶颈。一次完整的数据发送过程;数据封装--->数据拷贝--->数据传输。


iscsi

标签:iscsi

原文地址:http://51kxj.blog.51cto.com/3537967/1697140

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!