组成

一个简单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. nios II--实验3——led 100M软件部分

    软件开发 参照实验二(led),该实验与实验二(led)的不同之处在于系统的时钟由50M提成为100M.运行结果,在调试窗口输出Hello from Nios II!,并且板上的四个LED灯流动显示, ...

  2. java中的static详解

    如果一个类成员被声明为static,它就能够在类的任何对象创建之前被访问,而不必引用任何对象.static 成员的最常见的例子是main( ) .因为在程序开始执行时必须调用main() ,所以它被声 ...

  3. 用一条sql语句显示数据百分比并加百分号

    来源于:http://neil-han.iteye.com/blog/1948124 求数值所占比重 关键点:(round(t1.cnt/t2.totalCount*100,2))||'%'

  4. MySQL server PID file could not be found!

    重启mysql提示MySQL server PID file could not be found! Starting MySQL...The server quit without updating ...

  5. git 高级命令

    git bisect 运行git bisect 通常是为了找出某个导致版本库产生倒退或bug的特殊提交 例如:你的版本库已经从一个已知的"好"状态过渡到一个已知的"坏&q ...

  6. 【BZOJ 1503】【NOI 2004】郁闷的出纳员

    $Splay$模板题. 复习一下伸展树的模板. 一定不要忘了push啊!!! 对于减工资后删掉员工的操作,我选择插入一个$min+delta_{减少的工资}$的节点,把它$Splay$到根,砍掉它自己 ...

  7. 计算机网络-TCP连接

    TCP首部20个字节 1.为什么TCP要三次握手建立连接? TCP连接过程,客户端发送请求到服务器,服务器确认请求发送到客户端,客户端再发送确认请求到服务器 原因:简言之,为了防止失效的连接请求发送到 ...

  8. 网页端压缩解压缩插件JSZIP库的使用

    JSZIP这个库支持在网页端生成zip格式的文件,  官方网站是:http://stuk.github.io/jszip/ 官方网站的DEMO如下: <!DOCTYPE html> < ...

  9. 51nod 1352 扩展欧几里德

    给出N个固定集合{1,N},{2,N-1},{3,N-2},...,{N-1,2},{N,1}.求出有多少个集合满足:第一个元素是A的倍数且第二个元素是B的倍数. 提示: 对于第二组测试数据,集合分别 ...

  10. mysql-异常

    1.Subquery returns more than 1 row 返回的集合应该是一条才能用,但你返回了多条.