SCSI协议初步

news/2024/12/2 17:37:42/
   SCSI协议的主要功能是在主机和存储设备之间传送命令、状态和块数据。在各类存储技术中,SCSI协议可谓是最重要的脊梁。

  操作系统与SCSI I/O

  操作系统对外部设备(如磁盘、磁带、光存储、打印机和扫描仪)的I/O操作,可以通过SCSI协议来实现,一般情况下SCSI协议都嵌入到设备驱动器或者主机适配器的板载逻辑中。

  因为SCSI协议层位于操作系统和外部资源之间,它具有不同的功能组件。例如,应用程序一般将数据作为文件或者记录来访问。尽管数据最终都将在磁盘或者磁带介质上以数据块的方式存放,但是文件的检索需要一系列功能将未加工的块数据装配成应用程序能够操作的连续文件。

  这个过程的第一步由应用程序通过操作系统所连接的文件系统承担。文件系统以目录、文件夹和文件的方式来创建人们可读的数据抽象。当一个用户的应用程序打开一个文件时,会引发一系列的进程。它们使用底层SCSI命令,控制数据块从存储系统到内存的安全传输。因此在文件系统层次中,数据传输在文件描述和块I/O之间进行。

  正像文件系统描述了对用户应用程序数据的抽象一样,物理存储设备被描述成文件系统的抽象。例如,在Windows中的E驱动器或者Unix中的/dev/dsk2可以是一个单独的磁盘、一个大磁盘的一部分或者多磁盘的条带阵列。文件系统依赖于卷管理功能,它将各种存储设备看作可以并发的、很容易访问的资源。设备的虚拟化将物理存储转换成逻辑存储,并且承担了在磁盘上放置数据块所需的复杂任务。文件/数据块转换和映射功能可以像一个单独的卷管理应用程序那样复杂,也可以像适配卡设备驱动程序接口那么简单明了。例如,Windows NT提供了Windows磁盘管理程序,为物理磁盘分配逻辑驱动器名。适配卡的设备驱动程序负责将它的资源作为一个物理SCSI实体,出现在Windows磁盘管理程序中。Windows磁盘管理程序可以为这些资源分配逻辑名,文件系统按顺序使用这些逻辑名为目录和文件确定位置。

  如图一所示,逻辑抽象的层次从实际的物理SCSI设备一直到同主机系统的连接。在操作系统层次,一般的访问方法允许对SCSI设备进行统一的处理,而不考虑它们在系统中的物理连接。在保存文件时,文件系统并不关心逻辑驱动器是一个SCSI单元、一个Fibre Channel阵列还是千兆以太网的某个IP存储设备。在各种情况下,逻辑实体和物理存储的映射完成主机系统和合适的目标SCSI命令的发送,它在二者之间用来传输数据块。

  

  不考虑潜在的通道,操作系统对物理设备的描述是通过总线/目标/LUN三元组定义的,这种三元组来自于并行SCSI技术。总线描述了主机上潜在的几个SCSI接口之一,每一个都支持一个单独的磁盘串。目标代表了串上一个单独的磁盘控制器,窄SCSI一共可以有7个,宽SCSI可以有15个。LUN标志允许控制器管理额外的磁盘,例如一个RAID设备。

  总线/目标/LUN三元组和逻辑设备标识符之间的映射为物理设备提供了到高层文件系统的端口。因为Fibre Channel和IP存储是串行通信,没有总线设备,为了和操作系统的SCSI名称相兼容,总线标识符可以伪造。例如,一个单独的服务器中的两个IP存储网卡可以具有不同的总线标识符以模仿SCSI适配器配置。厂商不同,具体实现也不同,但是设备驱动器程序遵守操作系统的标准SCSI访问方法。

  总线/目标/LUN标识符可以进一步映射到某个传输的寻址条件上。例如,FCP(Fibre Channel Protocol,光纤通道协议)将总线/目标/LUN映射到DI(device identification,设备标识符)/LUN对上。因此,物理存储的表示有两个组成部分。一个是对于操作系统,使用大家都熟悉的基于SCSI三元组的可访问实体;另外一个是针对某个传输,以适应更改拓扑结构的寻址条件。

  

  在这一层下面,数据块传送的引发器(initiator)和目标相互交换SCSI-3命令和状态。SCSI引发器和目标之间的关系定义在SAM-2中,对于特定的SCSI-3实现有不同的标准文档。


比较厉害的一个博主,有很多存储相关知识。

http://blog.chinaunix.net/space.php?uid=8546015&do=blog&id=2027651


iSCSI技术是一种基于IP Storage理论的新型存储技术,该技术是将存储行业广泛应用的SCSI(small computer system interface)接口技术与IP网络技术结合,使得我们可以在IP网络上构建SAN存储区域网。推动iSCSI协议发展最主要的动力是--希望能够在IP网络上使用业已部署的大量DAS存储设备。通过iSCSI协议,这些存储设备可以为更多的用户和应用使用,同时可以让这些简单DAS存储设备支持只有高级存储设备才能够支持的备份、镜像、灾难恢复等高级存储应用。

51CTO.com独家特稿】iSCSI技术是一种基于IP Storage理论的新型存储技术,该技术是将存储行业广泛应用的SCSI(small computer system interface)接口技术与IP网络技术结合,使得我们可以在IP网络上构建SAN存储区域网。推动iSCSI协议发展最主要的动力是--希望能够在IP网络上使用业已部署的大量DAS存储设备。通过iSCSI协议,这些存储设备可以为更多的用户和应用使用,同时可以让这些简单DAS存储设备支持只有高级存储设备才能够支持的备份、镜像、灾难恢复等高级存储应用。其次是为了让尽可能多用户和应用利用已部署的FC光纤通道SAN存储区域网,iSCSI协议还可以将对光纤通道SAN存储区域网的访问通过基于IP的网络传输。 

经过多家厂商的测试和实践,证明iSCSI可以非常迅速地建立起IP SAN存储区域网环境,用户可以即刻享受到即插即用式地iSCSI的好处。目前,iSCSI的标准已经在IETF通过,Microsoft也已与今年6月30日发布支持iSCSI的Initiator的驱动程序。同时在微软即将Windows Storage Server 2003将内置的支持iSCSI,包括initiator和target。

在可预期未来,iSCSI必然成为光纤通道FC的主要竞争对手,成为SAN存储区域网的主要应用技术。同时由于iSCSI内置的支持路由,可以让iSCSI initiator访问Internet上任何一台存储设备,使得存储共享的概念无限扩大,存储连接的距离无限扩展。这一技术对于一边要面对信息高速增长,另一边却身处"数据孤岛"的众多中小企业无疑具有巨大的吸引力。
1、iSCSI 标准 
2003年2月11日,IETF(Internet Engineering Task Force,互联网工程任务组)通过了iSCSI(Internet SCSI)标准,这项由IBM、思科共同发起的技术标准,经过三年20个版本的不断完善,终于得到IETF的认可。这将吸引更多的厂商参与到相关产品的开发中,也会推动更多的用户采用iSCSI解决方案。 iSCSI技术的重要贡献在于其对传统技术的继承和发展:其一,SCSI(Small Computer System Interface,小型计算机系统接口)技术是被磁盘、磁带等设备广泛采用的存储标准,从1986年诞生起到现在仍然保持着良好的发展势头;其二,沿用TCP/IP协议,TCP/IP在网络方面是最通用、最成熟的协议,且IP网络的基础建设非常完善。这两点为iSCSI的无限扩展提供了坚实的基础。 
1.1 iSCSI的概念 
iSCSI(互联网小型计算机系统接口)是一种在Internet协议网络上,特别是以太网上进行数据块传输的标准。它是由Cisco 和IBM两家发起的,并且得到了IP存储技术拥护者的大力支持。是一个供硬件设备使用的可以在IP协议上层运行的SCSI指令集。简单地说,iSCSI可以实现在IP网络上运行SCSI协议,使其能够在诸如高速千兆以太网上进行路由选择。 
SCSI(小型计算机系统接口)是以一种广泛使用的连接硬盘和计算机的技术标准,iSCSI这种技术则是将该技术应用到网络连接上,对于中小企业的存储网络而言,iSCSI技术的性价比要高于基于光纤的产品。iSCSI是基于IP协议的技术标准,是允许网络在TCP/IP协议上传输SCSI命令的新协议,实现了SCSI和TCP/IP协议的连接,该技术允许用户通过TCP/IP网络来构建存储区域网(SAN)。而在iSCSI技术出现之前,构建存储区域网的唯一技术是利用光纤通道(Fiber Channel),该标准制定于20世纪90年代初期,但是其架构需要高昂的建设成本,远非一般企业所能够承受。iSCSI技术的出现对于以局域网为网络环境的用户来说,它只需要不多的投资,就可以方便、快捷地对信息和数据进行交互式传输和管理。相对于以往的网络接入存储,iSCSI的出现解决了开放性、容量、传输速度、兼容性、安全性等问题,其优越的性能使其自发布之日始便受到市场的关注与青睐。
1.2 iSCSI的工作流程 
iSCSI协议就是一个在网络上封包和解包的过程,在网络的一端,数据包被封装成包括TCP/IP头、iSCSI识别包和SCSI数据三部分内容,传输到网络另一端时,这三部分内容分别被顺序地解开。
iSCSI系统由一块SCSI卡发出一个SCSI命令,命令被封装到第四层的信息包中并发送。接收方从信息包中抽取SCSI命令并执行,然后把返回的SCSI命令和数据封装到IP信息包中,并将它们发回到发送方。系统抽取数据或命令,并把它们传回SCSI子系统。所有这一切的完成都无需用户干预,而且对终端用户是完全透明的。 
为了保证安全,iSCSI有自己的上网登录操作顺序。在它们首次运行的时候,启动器(initiator)设备将登录到目标设备中。任何一个接收到没有执行登录过程的启动器的iSCSI PDU(iSCSI Protocol Data Units,iSCSI协议数据单元)目标设备都将生成一个协议错误,而且目标设备也会关闭连接。在关闭会话之前,目标设备可能发送回一个被驳回的iSCSI PDU。这种安全性是基本的,因为它只保护了通信的启动,却没有在每个信息包的基础上提供安全性。还有其他的安全方法,包括利用IPsec。在控制和数据两种信息包中,IPsec可以提供整体性,实施再次(replay)保护和确认证明,它也为各个信息包提供加密。 
、iSCSI的发展阶段
虽然IP存储解决方案很难在近期被广泛采用,但其技术的应用仍可能会经历三个发展阶段:
· 阶段一:SAN扩展器 
· 阶段二:有限区域IP存储 
· 阶段三:IP SAN
阶段一:SAN扩展器。随着SAN技术在全球的开发,越来越需要长距离的SAN连接技术。IP存储技术定位于将多种设备紧密连接,就像一个大企业多个站点间的数据共享,以及远程数据镜像。这种技术是利用FC到IP的桥接或路由器,将两个远程的SAN通过IP架构互联。虽然iSCSI设备可以实现以上技术,但FCIP和iFCP对于此类应用更为适合,因为它们采用的是光纤通道协议(FCP)。
阶段二:有限区域IP存储。 在第二个阶段的IP存储的开发主要集中在小型的低成本的产品,目前还没有真正意义的全球SAN环境,随之而来的技术是有限区域的、基于IP的SAN连接技术。可能会出现类似于可安装到NAS设备中的iSCSI卡,因为这种技术和需求可使TOE设备弥补NAS技术的解决方案。在这种配置中,一个单一的多功能设备可提供对块级或文件级数据的访问,这种结合了块级和文件级NAS设备可使以前的直接连接的存储环境轻松地传输到网络存储环境。
第二个阶段也会引入一些工作组级的、基于IP的SAN小型商业系统的解决方案,使得那些小型企业也可以享受到网络存储的益处,但使用这些新的网络存储技术也可能会遇到一些难以想象的棘手难题。ISCSI协议是最适合这种环境的应用的,但基于iSCSI的SAN技术是不会取代FC SAN的,同时它可以使用户即享受网络存储带来的益处,也不会开销太大。
阶段三:IP SAN。完全的端到端的、基于IP的全球SAN存储将会随之出现,而iSCSI协议则是最为适合的。基于iSCSI的IP SAN将由iSCSI HBA构成,它可释放出大量的TCP负载,保证本地iSCSI存储设备在IP架构上可自由通讯。一旦这些实现,一些IP的先进功能,如带宽集合、质量服务保证等都可能应用到SAN环境中。
3、iSCSI的安全性

正是由于其采用广泛应用的IP网络和Internet网络为数据传输的通道,与传统的采用光纤通道FC SAN相比,iSCSI的安全性就凸现出来。因为传统的FC SAN在实际应用中,底层采用光纤通道FC的传输技术,上层采用Fibre Channel Protocol(FCP)传输SCSI协议,与广泛应用的IP网络不兼容,往往会形成一个与通信网络隔离开来的独立存储网络,其安全性容易得到保障。而iSCSI采用IP网络技术作为底层传输技术,完全可以在现有的通信网络中,甚至Internet上传输SCSI协议,这使得iSCSI不得不面临IP网络常见的安全性问题。
要了解iSCSI的安全问题,首先让我们看看iSCSI是如何工作的:
iSCSI是如何工作的呢?如前所述,iSCSI定义了TCP/IP网络上传输块存储应用的规则和过程。在物理层,iSCSI支持以太网卡(100、1000M),这样支持iSCSI的系统可以通过以太网卡直接接入以太网交换机或路由器。iSCSI协议介于物理和数据链路层与操作系统的标准SCSI命令集之间,将SCSI-3命令封装在TCP/IP包内,由IP网络负责其传输的可靠性。
SCSI命令和数据封装在TCP包中,穿过毫无防范的Internet网络,必然会引起安全问题。总之iSCSI面临的安全风险主要有:
主动型的攻击,如:身份伪装、伪造信息插入、数据删除/修改等
被动型的攻击,如:窃听、数据分析等
所以IETF建议在配置iSCSI时,一定要采取一定的安全措施。针对各种各样的安全风险,iSCSI采用两种安全措施:
认证:在target和initiator之间做身份认证。
加密:对传输的TCP/IP数据包进行保护。
认证主要是在iSCSI连接层,通过交换iSCSI的登录PDU(Protocol data unit),实现带内的身份认证。iSCSI通过这种安全措施提供了端到端的信任关系。iSCSI支持多种认证,但要强调的是采用哪种认证都要求不得明文的传输密码字符。此外对于不同的算法,要求采用抗攻击能力较强的选项。比如在采用CHAP认证时,为了防止离线的字典攻击,要求随机CHAP密文secret大于128位。
加密主要是通过IPSEC协议实现,在IP层通过对IP包的加密,实现数据的完整性保护、数据加密和身份认证。iSCSI通过这种安全措施提供了数据通信的安全通道。
实现IPSEC加密通信有两种方式:
一是通过主机间建立IPSEC加密通道。主机间建立IPSEC通信,过去常用软件的实现方式,这对于传输少量的数据可以接受,对于iSCSI这种大量存储数据的传输,则显得力不从心。所以,建议采用支持IPSEC协议的iSCSI HBA卡实现,提高加密解密的效率。但目前,采用这种HBA卡,其成本很高,如果有大量服务器、iSCSI存储设备接入,总投资成本必然据高不下。
二是通过防火墙、VPN网关或带VPN功能的路由器,在需要实现iSCSI通信的两个子网间建立一条加密隧道,将两个子网与承载iSCSI通信的IP网络从逻辑上隔离开来。目前这种方式的应用较为普遍,而且成本容易控制。当然随着iSCSI HBA的应用越来越广泛,利用iSCSI HBA可以获得更好的网络扩展性。
当然,还可以采用其他技术来加强iSCSI的安全性,如iSCSI的分区、LUN masking等等,由于其还在讨论和开发阶段,这里就不再讨论了。
4、仍需解决的问题
iSCSI存储是一个新兴的技术,尽管其标准已经建立且应用,但将其真正广泛应用到存储环境中还需要解决几个关键技术点。
4.1 TCP负载空闲
由于IP无法确保提交到对方,而将TCP作为底层传输的三种IP存储协议则需要在拥挤的、远距离的IP空间中确保传输的可靠性。由于IP包可以打乱次序传送,因此,TCP层需要重新修正次序,以提交到上一层的协议中(如SCSI)。TCP完成这一任务的典型操作是使用重调顺序缓冲器,将数据包的顺序完全整理为正确方式,完成这一操作后,TCP层将数据发送到下一层。这些处理都需要消耗主机的CPU资源,同时增加事务处理的延时,事实上,与典型的FC或SCSI块传输相比,需要更多的I/O处理,一种称之为TCP负载空闲引擎TCP Off-loading Engine (TOE)的设备可将主机的处理器负载降低,随着新技术的应用,TOE将可以帮助解决这一问题。
4.2 性能
工作组和一些分析人士把相当多的注意力放在了确保IP存储协议可以非常快的运行上,因为目前硬盘驱动器的运行速度已经很快。专家们预测IP存储产品将以高速运行。然而,也有一些分析人员认为,IP存储令人心往的最大优势是IP的灵活性,而高速性能则排在第二位。尽管IP技术很有可能得以应用,但如果对性能较为看重的话,不推荐使用标准的以太网卡。如前所述,TOE可以减少服务器的处理负载,但由于TOE设备较新,其硬件成本及复杂程度都比标准网卡更高。其广泛应用可能会由于性能价格比过高而受阻。像那些增强的iHBA都需要进一步改进,已达到光纤通道的技术水平。
4.3 安全性
当存储设备通过IP架构进行远距离连接时,安全性变得愈加重要。生产厂家必须明确产品的安全级别,并确保其安全性。在IP存储产品广泛应用之前,这一问题是IETF需亟待解决的。
当标准得到批准时,明确要求IP存储协议的所有实施都必须包括可靠的安全性(实现加密数据完整性和保密性)。如果用户不愿使用这些安全措施的话,他们不必使用,但是产品中必须具有启动安全技术的功能,只有这样厂商才能说他们的产品符合标准的要求。相当多的工作组成员非常不喜欢这项要求:他们认为这些协议的主要用武之地将是数据中心或其他一些受防火墙保护的领域。但是,一旦人们将应用放在IP上,这个应用没有什么办法确定自己的使用环境,例如在防火墙后使用。这是IP的一个重要特性。
4.4 互联性
基于IP的技术并没有被所有厂家共同使用,虽然这个协议的标准早已被IETF公布,但并不能保证厂家X与厂家Y使用相同的协议或技术。为了保证这些产品能够相互配合得更好,必须保证厂家之间采用相同的协议,使各厂家产品具有良好的互联性。




http://www.ppmy.cn/news/268427.html

相关文章

scsi和iscsi区别

小型计算机系统接口(英语:Small Computer System Interface; 简写:SCSI),一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。 SCSI是一种智能的通…

SCSI卡的安装与选购指南

笔者在前一篇回答一位网友的提问中已对SCSI卡的基础知识作了较全面的介绍,本篇我要专门向各位介绍一下SCSI卡的安装与选购知识。这些都非常重,是正确选购和使用SCSI的前提。 一、认识SCSI卡 SCSI卡虽然与普通的PCI卡一样属内置板卡,但它的安…

SCSI、iSCSI、FC

SCSI协议 1.SCSI即小型计算机接口(Small Computer System Interface),指的是一个庞大协议体系。SCSI协议定义了一套不同设备利用该框架进行信息交互的模型和必要指令集。 2.SCSI协议的组要功能是:在主机和存储设备之间传送命令、…

什么是SCSI?

SCSI的英文全称为“Small Computer System Interface”,中文名“小型计算机系统接口”。它是一种外设接口,在服务器中则主要由硬盘采用,除此之外,还有CD/DVD-ROM、CD-R/RW、扫描仪、磁带机等也有采用这一接口的。其实,SCSI也不算是…

SCSI协议

SCSI是一套完整的数据传输协议,其主要功能是在主机和存储设备之间传送命令、状态和块数据。在各类存储技术中,SCSI技术可谓是最重要的脊梁。 SCSI协议位于操作系统和外部资源之间,它具有一系列的功能组件,操作系统对外部设备&…

USB与SCSI

USB传输协议中的行为分为四种:控制传输,批量传输,中断传输,同步传输。为什么叫做行为,很简单,因为所有操作USB的协议如:SCSI,HID,UVC协议等等,都是基于这四种行为的。当然,USB底下的每一种协议都…

SCSI及RAID卡的选择(图)

【e800.com.cn 编者按】 对一些刚开始涉足服务器的朋友来说,不是很了解SCSI和RAID两个卡之间的功能与区别,其实SCSI和RAID这两板卡功能是完全不同的,RAID卡的价格通常会比SCSI卡的价格高许多,原因当然是它们的用途不一样&#xf…

SCSI技术介绍

SCSI技术 一、什么是SCSI? 2 二、超级比一比与各种接口的比较 3 三、你该选择SCSI吗? 7 四、哪些设备有SCSI接口 8 五、SCSI发展的3代 10 六、细说SCSI卡 13 七、安装SCSI接口卡 16 八、SCSI设备的安装概念 19 九、选择串接设备用的接头与排线 20 十、清…