组成

一个简单ISCSI系统大致由以下部分构成

  • ISCSI Initiator 或者 ISCSI HBA
  • ISCSI Target
  • 以太网交换机
  • 一台或者多台服务器

结构图如下:

  1. iscsi服务器用来安装ISCSI驱动程序,即安装ISCSI Initiator。
  2. IP网络就是以太网。
  3. Storage Route可以是以太网交换机或者路由器。
  4. ISCSI存储设备可以是ISCSI磁盘阵列,可以是具有存储功能的PC或者服务器。
iscsi Initiator

这是安装在计算机上的软件或者硬件设备,它负责与ISCSI存储设备进行通信。这里有2种通信方式:

  1. 软件形式

    即ISCSI initiator软件。在iscsi服务器上安装initiator后,Initiator软件可以将以太网虚拟成ISCSI卡,进而接受和发送ISCSI服务器上,从而实现主机和ISCSI存储设备之间的ISCSI协议和TCP/IP协议传输功能。这种方式只需要以太网卡和以太网交换机,无需其他的设备,因此成本最低。但是ISCSI报文和TCP/IP报文转换需要消耗服务器的CPU资源,只有在低I/O和低带宽性能要求的应用环境中才能使用这种方式。
  2. 硬件形式

    使用ISCSI HBA(Host Bus Adapter),即iSCSI Initiator硬件。这种方式需要先购买ISCSI HBA卡。然后将其安装在ISCSI服务器上,从而实现ISCSI服务器与交换机之间、iSCSI服务器与存储设备之间的高效数据传输。与第一种方式比较,硬件ISCSI HBA卡方式不需要消耗ISCSI服务器的CPU资源,同时硬件设备专用的。所以基于硬件的ISCSI Initiator可以提供更好的数据传输和存储性能,但是ISCSI HBA卡毕竟昂贵,需要使用者自己在性能和成本之间权衡。

so far,iSCSI Initiator软件一般都是免费的,CentOs和Rhel都能够很好的支持。现在发行的linux系统都默认自带了iscsi initiator

ISCSI Target

一个可以用于存储数据的ISCSI磁盘阵列或者具有ISCSI功能的设备都可以被成为“ISCSI Target”,因为大多数操作系统都可以利用一些软件将系统转为一个ISCSI Target。linux下的开源ISCSI Target软件---ISCSI Enterprise Target。

    利用ISCSI Target软件,可以将服务器存储空间分配给客户机使用,客户机可以像使用本地硬盘一样使用ISCSI磁盘。包括对齐分区,格式化以及读写等。而且每个客户端可以向ISCSI磁盘写数据,互不干扰,并且不会破坏存储到服务器中的数据。同时,ISCSI target软件对用户的权限控制非常灵活,支持配置文件。

   我们知道,ISCSI是使用TCP/IP协议进行通信的,因此ISCSI两端连接起来,仅仅需要一个以太网络就行了,所以,以太网络的速度很大程度上绝对了ISCSI的性能,所以我们需要配置一个最好是万兆交换机,再差劲也不能低于千兆交换机,且要做好交换机冗余,避免交换机宕机造成存储无法使用。

ISCSI原理

在先了解ISCSI的工作原理之前,就必须知道ISCSI的层次结构,根据OSI模型,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的整个数据传输过程在用户来看都是透明的,用户使用远端的存储设备就像使用本地的硬盘设备一样。实际上,ISCSI的数据传输速率并不能完全达到本地硬盘的数据传输率,但这差别并不明显,而这中网络存储模式还有一个有点就是安全性高,这对于数据集中存储的ISCSI来说非常重要。

网络存储(二)之ISCSI原理的更多相关文章

  1. iscsi 挂载网络存储及存储访问

    http://blog.sina.com.cn/s/blog_408764940101ghzi.html 一.Ess3016x设置 登陆admin 密码 888888888888 1.安装硬盘,查看硬 ...

  2. 《linux就该这么学》第十六节课:第16,17章,Squid服务和iscsi网络存储

    第十六章 squid总结: 正向代理:yum  安装后清空防火墙即可正常使用,客户端设置浏览器 透明正向代理:vim  /etc/squid/squid.conf 59行:http_port  312 ...

  3. 第17章 使用iSCSI服务部署网络存储

    章节概述: 本章节将分析SCSI与iSCSI技术结构的不同,了解iSCSI技术的优势.SAN存储网络技术结构以及iSCSI HBA卡的作用. 完整演示部署iSCSI target服务程序的方法流程:创 ...

  4. 配置iSCSI部署网络存储

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

  5. ISCSI网络存储

    ISCSI(iSCSI,Internet Small Computer System Interface) iSCSI技术实现了物理硬盘设备与TCP/IP网络协议的相互结合,使得用户可以通过互联网方便 ...

  6. Linux基础学习-使用iSCSI服务部署网络存储

    使用iSCSI服务部署网络存储 iSCSI技术实现了物理硬盘设备与TCP/IP网络协议的相互结合,使得用户可以通过互联网方便地访问远程机房提供的共享存储资源.下面介绍如何在Linux上部署iSCSI服 ...

  7. 《Linux就该这么学》培训笔记_ch17_使用iSCSI服务部署网络存储

    <Linux就该这么学>培训笔记_ch17_使用iSCSI服务部署网络存储 文章最后会post上书本的笔记照片. 文章主要内容: iSCSI技术介绍 创建RAID磁盘阵列 配置iSCSI服 ...

  8. iscsi原理

    iscsi原理 一,[名词解释] SCSI:小型计算机系统接口,SCSI作为i输入/输出接口, FC:光纤通道 DAS:直连式存储,指将存储设备通过SCSI接口或光纤通道直接连到一台计算机上. NAS ...

  9. 网络存储技术介绍(2) ( based on zt)

    http://www.educity.cn/tx/429084.html 互联网技术DAS.NAS和SAN存储方案的比较 按照设备位置和接入方式,磁盘存储可以分为内置存储和外挂存储,外挂存储又分为直连 ...

随机推荐

  1. 由一次程序崩溃引起的对new表达式的再次学习

    1. 起因 某天,一个同事跟我反馈说在windows上调试公司产品的一个交易核心时出现了使用未初始化的指针导致后台服务崩溃的情况.示例代码如下所示: struct sample { ][]; //.. ...

  2. MATLAB读取和写入Excel文件

    1. 读取Excel文件 (a) 命令方式xlsread:  读取命令:[data,text]  = xlsread(FileName, SheetName, Range); data保存的是数据单元 ...

  3. md5加密31位

    今天将其它服务器里的用户数据导入到新的系统数据库中 出现密码不匹配情况 查看原来数据库中密码得到结果位: 原服务器密码 明文 正确32位密闻 67b14728ad9902aecba32e22fa4f6 ...

  4. [转]搞ACM的你伤不起(转自Roba大神)

    劳资六年前开始搞ACM啊!!!!!!!!!! 从此踏上了尼玛不归路啊!!!!!!!!!!!! 谁特么跟劳资讲算法是程序设计的核心啊!!!!!! 尼玛除了面试题就没见过用算法的地方啊!!!!!! 谁再跟 ...

  5. webpack入坑之旅(六)配合vue-router实现SPA

    这是一系列文章,此系列所有的练习都存在了我的github仓库中vue-webpack,在本人有了新的理解与认识之后,会对文章有不定时的更正与更新.下面是目前完成的列表: webpack入坑之旅(一)不 ...

  6. To IOC,代码结构演变的随想

    代码结构演变 项目开始阶段 需求: 提供一个系统,可以在新春佳节之际以邮件的形式给员工发送新春祝福. 开发人员: 张三 版本一 string msg = "新年快乐!过节费5000.&quo ...

  7. 通过javascript在网页端解压zip文件并查看压缩包内容

    WEB前端解压ZIP压缩包 web前端解压zip文件有什么用: 只考虑标准浏览器的话, 服务器只要传输压缩包到客户端, 节约了带宽, 而且节约了传输时间, 听起来好像很厉害的说:     如果前端的代 ...

  8. jQ插件--时间线插件和拖拽API

    这个时间轴是工作上用到的,自己写了一个, qq空间有时间轴的控件, 百度文库也有时间轴的控件: 百度的时间轴大概是这样的: 用户点击对应的锚链接,  那个三角会滚动, 然后左侧的界面也会滚动: 实际的 ...

  9. 详解jQ的support模块

    jQuery的属性support是判断浏览器之间是否兼容的模块 ,该模块包含了leadingWhitespace,tbody,htmlSerialize,style,hrefNormalized,op ...

  10. quartz使用案例

    @Service public class QuartzServiceImpl extends BaseServiceImpl<JobDetails, String, QuartzTaskVO& ...