组成

一个简单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. app状态监听广播

    手机中的应用在安装.更新和卸载时都会发送广播 清单文件 <?xml version="1.0" encoding="utf-8"?> <man ...

  2. Android M 控件:AppBarLayout,CoordinatorLayout,CollapsingToolbarLayout

    AppBarLayout AppBarLayout跟它的名字一样,把容器类的组件全部作为AppBar.是继承LinerLayout实现的一个ViewGroup容器组件,它是为了Material Des ...

  3. Ubuntu14.04安装MySql

    我们要确保Ubuntu14.04的服务器是可以上网的,这里我就不操作,这个比较简单.由于我的服务器是用Cobbler部署的,所以要更改源. # vi /etc/apt/source.list   我这 ...

  4. 【POJ 2653】Pick-up sticks 判断线段相交

    一定要注意位运算的优先级!!!我被这个卡了好久 判断线段相交模板题. 叉积,点积,规范相交,非规范相交的简单模板 用了“链表”优化之后还是$O(n^2)$的暴力,可是为什么能过$10^5$的数据? # ...

  5. puppet的配置

    1时间问题 agent与master端务必要保持时间的一致性,最好使用ntp服务 检查ntp服务是否安装 [root@master-elk ~]# rpm -qa|grep ntp ntpdate-. ...

  6. 数据库开发基础-SQl Server 基础

    SQL Server 基础 1.什么是SQL Server SQL:Structured Query Language  结构化查询语言 SQL Server是一个以客户/服务器(c/s)模式访问.使 ...

  7. EF ASP.NET MVC 更新出错:ObjectStateManager中已存在具有同一键的对象

    解决方案 /// <summary> /// 保存 /// </summary> /// <param name="g"></param& ...

  8. 我所经历的JS性能优化

    转自http://www.cnblogs.com/koking/archive/2011/10/17/2215665.html 折腾了好几天,纠结了好几天,郁闷了好几天,终于在今天可以释怀了,留下其中 ...

  9. 【POJ 1698】Alice's Chance(二分图多重匹配)

    http://poj.org/problem?id=1698 电影和日子匹配,电影可以匹配多个日子. 最多有maxw*7个日子. 二分图多重匹配完,检查一下是否每个电影都匹配了要求的日子那么多. #i ...

  10. redis 可视化工具

    Redis Desktop Manager 下载 phpRedisAdmin 是一个用php管理redis的工具 下载