硬盘物理接口种类

1.用于ATA指令系统的IDE接口。

2.用于ATA指令系统的SATA接口。

3.用于SCSI指令系统的并行SCSI接口。

4.用于SCSI指令系统的串行SCSI(SAS)接口。

5.用于SCSI指令系统的IBM专用串行SCSI接口(SSA)。

6.用于SCSI指令系统的并且承载于FabreChannel协议的串行FC接口(FCP)。

关于存储的基础知识

1、关于HBA  HBA的全称为Host Bus Adapter,即主机总线适配器。  a、总线适配器是个什么东西呢?  我们首先要了解一下主机的结构,一台计算机内部多半由两条总线串在起来(当然实际情况会有不同,这里只讨论常见的,简单的情况),一条总线叫系统总线,一条叫I/O总线。系统总线上接了CPU,MEmory,cache什么的,I/O总线上接的就是外围设备,现如今最常见的就是PCI总线了。这两条总线之间用桥接的芯片或者说电路连接起来。举个形象的例子,就好比一个城市里,有两条主干道,一条属于行政区,一条属于商业区,中间有个环岛,将两条主干道连接到了一起,系统总线就好比行政区里的主干道,而I/O总线就好比商业区的主干道。系统总线和I/O总线的带宽的单位都是以Gbyte来记,但是显而易见的是,行政区的主干道和商业区的主干道相比的话,前者肯定更“核心”,更宽,更顺畅,设计的要求也高。  我们知道,在向公仆部门要求服务的时候,是要有一些接口的部门和程序的,而桥接芯片的作用就是连接和协调两条总线的工作的。虽然I/O总线的速度和系统总线的带宽相比要低很多,但是好歹也是以G来计量的,而我们知道外围设备的速度,往往只有几百兆,甚至几十k而已,怎么协调工作呢?好比卖煎饼果子摊子不能直接戳到城市主干道上,怎么办?好办,在主干道边上开个2000平米的小吃城,把摊子都收进去好了。那么主机总线适配器的作用也就是这个,我们就是要把外设组织起来,连接到I/O总线上去!HBA就是指Host和I/O BUS直接的一个适配器,也好比一个水管工常说的“双通”。  b、常见的HBA有哪些呢?  比如显卡,网卡,scsi卡,1394卡等等。我要拿出来说的就是FCHBA和ATA&IDE。我们通常说的什么Emulex的LP9002,什么Qlogic的QLA2340都是FCHBA卡,就是将FibreChannel的设备和IO总线连接起来的适配器。ATA也是一种适配器技术,我们PC主板上的ATA接口,就是一个磁盘适配器的对外接口,要强调的就是,ATA说的是适配器技术,IDE是说得存储外设技术,比如我们可以说IDE硬盘,IDE光驱,说ATA接口,但是说IDE接口,ATA硬盘就不时那么合适了,虽然很多情况下,大家都习惯把他们混在一起说。  描述HBA的时候,有几个主要的规范要说一下  > 一个承上,就是说,HBA和IOBUS怎么连,我们经常说的PCI接口卡,就是指这个HBA卡是要插在PCI BUS上的PCIslot上的,但是现在的计算机上,不仅仅只有PCI总线而已,大家碰到的时候留意。  >一个启下,就是说HBA要和外设怎么连,这样的规范就很多了。  >再说HBA本身,比如带宽,比如运行机制(protocol等),独立处理能力等等  Tips:有时候我们看到的一块卡,看到的实际是一个物理的卡,有的时候实际上是多个Adapter,好比一家机构,挂多个牌子,有的时候,一块卡有两条通道,好比一家公司,有两套人马。

     2、关于lun  a、lun的概念 lun的全称是logical unit number,也就是逻辑单元号。我们知道scsi总线上可挂接的设备数量是有限的,一般为6个或者15个,我们可以用target ID(也有称为scsi id的)来描述这些设备,设备只要一加入系统,就有一个代号,我们在区别设备的时候,只要说几号几号就ok了。  而实际上我们需要用来描述的对象,是远远超过该数字的,于是我们引进了lun的概念,也就是说lun id的作用就是扩充了target id。每个target下都可以有多个lun device,我们通常简称lun device为lun,这样就可以说每个设备的描述就有原来的target x变成target x lun y了,那么显而易见的,我们描述设备的能力增强了.就好比,以前你给别人邮寄东西,写地址的时候,可以写:  xx市人民大街88号 xxx(收) 但是自从高楼大厦越来越多,你不得不这么写:  xx市人民大街88号火炬大厦168室 xxx (收)  所以我们可以总结一下,lun就是我们为了使用和描述更多设备及对象而引进的一个方法而已,一点也没什么特别的地方.  b、lun是什么东西?  lun id不等于某个设备,只是个号码而已,不代表任何实体属性,在我们的实际环境里,我们碰到的lun可能是磁盘空间,可能是磁带机,或者是media changer等等.  lun的神秘之处(相对于一些新手来说)在于,它很多时候不是什么可见的实体,而是一些虚拟的对象。比如一个阵列柜,主机那边看作是一个target device,那为了某些特殊需要,我们要将磁盘阵列柜的磁盘空间划分成若干个小的单元给主机来用,于是就产生了一些什么逻辑驱动器的说法,也就是比 target device级别更低的逻辑对象,我们习惯于把这些更小的磁盘资源称之为lun0,lun1,lun2....什么的。而操作系统的机制使然,操作系统识别的最小存储对象级别就是lun device,这是一个逻辑对象,所以很多时候被称之为logical device。  有人说,我的windows里,就认到一个磁盘呀,没看到什么lun的说法,是不是lun=physical disk呢?回答是否定的,只要你注意,磁盘的属性里就可以看到有一个lun的值,只是因为你的disk没有被划分为多个存储资源对象,而将整个磁盘当作一个lun来用,lun id默认为零,如此而已。  我们曾经碰到过这样的问题,比如有人问,我们有一个磁盘阵列,连到了两个主机上,我们划分了一个lun给两个主机认到,然后我们想,先在操作系统将磁盘分为两个区,让两个主机分别使用两个分区,然后再出现某一台主机宕机之后,使用集群软件将该分区切换到另外一个主机上去,这样可行吗?答案也是否定的,集群软件操作的磁盘单元是lun,而不是分区,所以该操作是不可行的。当然,在一些环境,一般也是一些要求比较低的环境,可以在多个主机上挂载不同的磁盘分区,但是这种情况下,实际上是没有涉及到磁盘的切换的,所以在一些高要求的环境里,这种情况根本就不允许存在。  还要说明的地方是,在有些厂商和有些产品的概念里,lun id被绑定到了具体的device上,比如ibm的一些带库,整个带库只有一个target id,然后changer,tape drive被分别分配为lun0,lun1,lun2.....,但是我们要注意到,这只是产品做了特别设计,也是少数情况。  c、存储和主机的电气独立时代的lun的概念 还有很多新手总是把阵列里面的磁盘和主机的内部磁盘的一些概念搞混淆了。  在磁盘阵列和磁带库大行其道的时代,存储越来越智能化,越来越像一个独立的机器,实际上存储和主机的电气独立本来就是一个必然趋势,俗话说得好,儿大要分家嘛。在存储越来越重要的时代,存储要自立门户是必然的事。  如果我们把存储当作一个独立的主机来看,理解起来就很简单了。我们说到lun的概念的时候,我们就要将分为两个层面。一个层面就是在阵列这个机器的os识别到的范围,一个层面就是服务器的os识别到的范围。这两个层面是相对独立的,因为如果我们把存储当作一个主机来看,那么它自然有自己的device, target,lun之说,而服务器也有自己的device,target,lun之说;另外一方面,这两个层面又是相互关联的,一个阵列的控制系统,大多都有虚拟化的功能,阵列想让主机看到什么样的东西,主机才能看到相应的东西。当然,服务器识别到的最小的存储资源,就是lun级别的。那么主机的HBA 卡看到的存储上的存储资源就靠主要两个东西来定位,一个就是存储系统的控制器(target),一个就是lun id,这个lun是由存储的控制系统给定的,是存储系统的某部分存储资源。  d、lun masking,lun mapping  我们有了独立的磁盘阵列用了之后,服务器只要看到存储的控制系统,就有可能使用磁盘阵列的磁盘资源,但是磁盘阵列不可能只为某一个服务器来使用,所以他必须管制主机使用某部分磁盘资源。这个管制分为两个部分:一部分就是lun mapping,类似于绿色通道,就是保证服务器能看到某部分存储资源,一部分就是lun masking,类似于警戒线,就是保证服务器只可访问给它分配的存储资源,而没分配给服务器的资源,就不要染指了。  实现lunmasking和lun mapping有三种方法:一个是基于存储控制系统来设置,一个是基于存储交换系统来设置,一个是基于服务器os来设置。 基于存储控制系统得设置,是比较常见的设置,比如很多磁盘阵列的控制系统,本身就能设置lun被某服务器看到。比如FastT的partition功能。  基于存储交换系统的设置,也是一种常用的方法,比如常说的zoning。 基于服务器os的设置,比较少采用,一般采用安装某些操作系统上安装某些软件来实现,因为这个方法全靠服务器自觉,所以比较少用,呵呵。  e、lun的multi-path  现在,存储网络越来越发达了,一个lun有多条通路可以访问也不是新鲜事了。  服务器使用多个HBA连接到存储网络,存储网络又可能是由多个交换设备组成,而存储系统又可能有多个控制器和链路,lun到服务器的存储网络链路又可能存在着多条不同的逻辑链路。那么,必然的,同一个physicallun在服务器上必然被识别为多个设备。因为os区别设备无非用的是总线,target id,lun id来,只要号码不同,就认为是不同的设备。  由于上面的情况,多路径管理软件应运而生了,比如emc的powerpath,这个软件的作用就是让操作系统知道那些操作系统识别到lun实际上是一个真正的physical lun,具体的做法,就是生成一个特别的设备文件,操作系统操作这个特殊的设备文件。而我们知道,设备文件+driver+firmware的一个作用,就是告诉操作系统该怎么使用这个设备。那么就是说,多路径管理软件从driver和设备文件着手,告诉了操作系统怎么来处理这些身份复杂的lun。

存储技术的产生背景

NAS

       为解决数据共享问题和优化文件存储而产生的存储技术

       文件管理系统在存储设备端,是文件服务+IP的一种技术

       多应用于非结构化数据(文件),OLAP,数据共享

SAN

       为解决DAS的问题而产生的存储技术

       是DAS+网络的一种技术

       多应用与OLTP联机交易系统

ISCSI

       为解决SAN的成本,兼容性,不易部署和管理等问题而产生的技术

       是SAN +IP的一种技术,所以ISCSI也叫IP SAN

       多应用于PC服务器平台

用FC SAN与IP SAN构建系统的比较 

如下图所示,一个完整的SAN系统应用通常包括前端应用服务器、传输网络、存储设备等三部分,服务器可以是Windows、Linux、Unix等各种系统的服务器、小型机、集群等,传输网络可以是FC网络、IP网络等,而具体采用哪种网络及接口卡,则由这其中关键的存储设备体系决定

spacer.gif

存储设备由前端网络接口、控制器、后端磁盘通道,以及磁盘柜和磁盘等构成。控制器是存储设备的核心,它是一个处理性能的体现,且对各种协议架构都能有相应的优化处理措施,各种存储设备之间不体现明显的差别。  因此存储设备的差别主要体现在前端网络接口(IP或FC),以及后端磁盘通道(SAS或FC)上,根据前后端的搭配不同由此形成四种架构设备:IP+SAS、IP+FC、FC+SAS、FC+FC。一般认为前端提供FC网络接口、通过FC协议与应用服务器相连接的设备为FC SAN设备,而IP SAN设备则指前端提供IP网络接口、通过iSCSI协议与应用服务器连接的设备

FC SAN架构与IP SAN架构的比较

比较包括稳定性、性能、安全性、兼容性、扩展能力、整体拥有成本等多个方面。

SAN系统的稳定性包括应用服务器、传输网络、存储设备等多方面决定。因为服务器一样,因此主要考虑传输网络和存储设备。  首先看影响存储系统稳定性的一个主要部分:存储设备后端构成。从架构上FC SAN与IP SAN在后端都可以采用FC磁盘柜或SAS磁盘柜,因此在具体设备中也存在FC磁盘与SAS磁盘的比较。无论是FC磁盘、SAS磁盘,它们采用的最终磁记录方式和机械结构都是一样的,区别只是在于提供的接口是FC口还是SAS口(这里的FC口是指支持FC协议的电接口,并不是指采用光纤连接),从各硬盘盘生产厂商提供的硬盘MTBF可以看出,15K转速的FC磁盘和SAS磁盘是一样的(1600000小时),因此在磁盘柜上各种架构的稳定性、可靠性是一致的,但采用SAS盘柜的设备具有更大的后端带宽,可以更好地支持数据的突发读写。

再看前端的传输网络,FC SAN采用FC交换机组网,IP SAN则采用以太网交换机及路由器组网,而在传输介质上都可以采用光纤。FC协议本身是解决机柜内磁盘之间的连接而出现的技术,在路由协议上支持不丰富,在组建大型网络时,FC网络采用主交换机选择方式为其他交换机分配地址块,这会存在网络的单点故障(主交换机单点),以及交换机加入网络时进行主交换机选择引起的网络震荡导致SCSI的超时中断,从而带来网络的稳定性隐患问题。而IP网络采用的分布式架构和丰富的路由协议则不存在这方面的问题,这已经得到各种规模网络的充分验证。在网络设备上,FC交换机与IP交换机都有各种冗余、可靠的设计,但IP交换机的性价比会更高。 

因此两种架构在存储记录架构和介质上稳定性是一致的,而在传输网络上,如果构建大型网络IP架构具有更好的稳定性,当然在小型SAN的构建中这两种技术的稳定性也基本是一致的。

性能(带宽和效率)

传输性能实际包括了传输带宽和传输效率两方面。 

iSCSI协议是SCSI Over在IP,其底层的协议层都是利用的现有IP网的,在硬件上兼容现在的网卡、网线、以太网交换机等设备,目前以太网的主流速度是GE和10GE,而且GE可以通过捆绑实现带宽成倍数的增长;FC协议则是SCSI Over FC,主流速度为4Gb。从带宽上看, GE的捆绑技术、10GE的商用使iSCSI协议具有明显的优势。

从效率方面来看,iSCSI是建立在TCP协议之上。TCP报文的一般长度为1500字节,其中包括54字节的报文头(14字节以太网头+20字节IP头+20字节的TCP头),iSCSI有效的报文传输效率为(1500-54)/1500=96.4%。IP存储产品支持巨帧,也就是支持9000字节的帧,那么此时的报文有效传输效率为(9000-54)/9000=99.4%

FC协议的最大帧长度为2048字节,其中包括36字节的控制字节(4字节起始标志SOF+4字节结束标志EOF+4字节CRC校验+24字节帧头),FC有效的报文传输率为(2048-36)/2048=98.2%。

由上述比较可知,FC和IP的传输效率差别并不大。如果采用IP巨帧的情况下,IP的传输效率比FC更高。

安全性 

在保证数据安全方面,FC SAN的安全性及措施主要在于其单独建设网络,与现有IP网络隔离。在FC的分层协议中,定义常用服务的FC-3层,主要用于保障数据安全,比如数据加密和压缩等,但是由于FC是工作在第二层的协议,并没有用到第三层的功能,因此到今天,也没有在协议中建立相应的安全机制以及安全通用协议,因此从协议完善性看FC本身存在安全手段的缺乏(特别是在iSCSI大规模应用竞争之后,FC才发现还缺乏这方面的考虑和技术)。

       对于IP SAN而言,如果与其他数据网络隔离进行存储网络的单独建设,也具有同样的安全性。而且IP协议中定义的各种成熟的安全机制和技术都可以用来保证数据安全的传送,比如×××、IPSec等。另外,IP网络中的VLAN、×××、CHAP认证机制等,也可以用于避免服务器和存储之间的非法访问,保证数据安全。

兼容和扩展性

FC的标准化程度远远落后于IP,兼容性是一个难以解决的难题。 

FC协议与现有的以太网是完全异构的,两者不能相互接驳。因此光纤通道是具有封闭性的,而且不仅与现有的企业内部网络(以太网)接入,也与其他不同厂商的光纤通道网络接入(由于厂家对FC标准的理解的异样,FC设备的兼容性是一个巨大的难题)。因此,对于以后存储网络的扩展由于兼容性的问题而成为了难题。

       FC协议与现有的以太网是完全异构的,两者不能相互接驳。因此光纤通道是具有封闭性的,而且不仅与现有的企业内部网络(以太网)接入,也与其他不同厂商的光纤通道网络接入(由于厂家对FC标准的理解的异样,FC设备的兼容性是一个巨大的难题)。因此,对于以后存储网络的扩展由于兼容性的问题而成为了难题。 

       由于参与核心技术开发的厂商少,使FC协议的完善大大滞后于市场需要。到今天为止,主要的3、4家FC交换机的供应商仍然无法将各自的FC交换机互联,更不用说级联、堆叠这样的复杂应用。FC的主机通道卡(HBA)、FC交换机、FC存储设备分属不同阵营,加上不同的主机操作系统差异,使FC SAN的建立过程充满了标准冲突,绝大多数部署和管理过FC-SAN的用户都深切体会到FC-SAN的复杂、难以管理和兼容性差。因此,FC行业的封闭性,使得很多从业厂商将产品视为套牢用户数据的圈套。在用户初次采购设备后,大量的后续数据管理,如扩容、升级、备份、远程容灾等,都限制在本厂商产品范围内选择。

       IP技术是目前使用最多的网络数据传输协议,其标准性和开放性早已成为共识。因此基于IP技术的IP存储协议ISCSI在互联互通方面有着先天优势,不存在任何兼容性问题。微软2003年同年,宣布对iSCSI技术的免费支持,所有驱动内置到Windows操作系统,可免费下载。以Intel为代表的业内十多家重量级硬件公司也纷纷宣布支持iSCSI技术。基于iSCSI协议构建的IP存储,已崭露头角,成为新一代存储系统的标准,成为IT新时代围绕IP技术进行的网络与存储融合的标志性技术。

灵活和适应性 

从网络的适应性和灵活性而言,IP协议已经建立了完善的流量控制和容错机制,能够在各种环境下,实现高效的数据传输。

  • 流量控制机制对网络的适应性方面:FC采用基于信用的流量控制机制降低了网络的利用率;iSCSI的流量控制机制对网络的适应性更好,尤其在网络传输延迟较大的网络中。

  • 超时重发机制的灵活性方面:FC使用的是静态的超时重发机制,不会根据网络的情况动态地加以改变,因此发送方可能过早或过迟地出现超时,这对改善网络的综合性能不利;iSCSI可以动态地自适应于网络的当前情况,改善存储传输的性能。

因为IP具有良好的网络适应性和灵活性,因此在理论上传输距离可以不受限制。而FC一般只限于近距离的传输,如果要实现远距离的传输,一般要通过协议转换器,转换成IP协议再进行传输

管理和维护

从网络管理和维护的角度来看,IP比FC具有明显的优势

运行FC协议的光网络,其技术难度相当大,管理采用了专有的软件,需要专门的管理人员,人员培训费用高昂、从技术市场也不容易获得。TCP/IP网络的知识通过这些年的普及,已有大量的网络管理人才,管理人员的成本较低。此外,由于支持TCP/IP的设备对协议的支持一致性好,即使是不同厂家的设备,其网络管理方法也是基本一致的,这就进一步降低了管理和维护的难度。

整体拥有成本 

如果建立FC SAN,用户需要建设一张新的FC存储网络,并购置相应的FC交换机和HBA卡,并且要培养专门的管理和维护人员。 

如果建立IP SAN,ISCSI存储系统可以直接在现有的网络系统中进行组建,并不需要改变网络体系,也不需要购买专门的交换机和HBA卡。如果运用交换机来连接存储设备,对于需要增加存储空间的企业用户来说,只需要增加存储设备就可完全满足。此外,IP网络的管理和维护成本也远低于FC网络。

因此,从整体拥有成本来看,IP SAN要远远优于FC SAN。

 

NAS被定义为一种特殊的专用数据存储服务器,包括存储器件(例如磁盘阵列、CD/DVD驱动器、磁带驱动器或可移动的存储介质)和内嵌系统软件,可提供跨平台文件共享功能。NAS通常在一个LAN上占有自己的节点,无需应用服务器的干预,允许用户在网络上存取数据,在这种配置中,NAS集中管理和处理网络上的所有数据,将负载从应用或企业服务器上卸载下来,有效降低总拥有成本,保护用户投资。

NAS本身能够支持多种协议(如NFS、CIFS、FTP、HTTP等),而且能够支持各种操作系统。通过任何一台工作站,采用IE或Netscape浏览器就可以对NAS设备进行直观方便的管理。

SAN 和NAS的区别:

SAN是一种网络,NAS产品是一个专有文件服务器或一个只读文件访问设备。

SAN是在服务器和存储器之间用作I/O路径的专用网络。

SAN包括面向块(iSCSI)和面向文件(NAS)的存储产品。

NAS产品能通过SAN连接到存储设备

NAS的优点

第一,NAS适用于那些需要通过网络将文件数据传送到多台客户机上的用户。NAS设备在数据必须长距离传送的环境中可以很好地发挥作用。

第二,NAS设备非常易于部署。可以使NAS主机、客户机和其他设备广泛分布在整个企业的网络环境中。NAS可以提供可靠的文件级数据整合,因为文件锁定是由设备自身来处理的。

第三,NAS应用于高效的文件共享任务中,不同的主机与客户端通过文件共享协定存取NAS上的资料,实现文件共享功能,例如UNIX中的NFS和Windows NT中的CIFS,其中基于网络的文件级锁定提供了高级并发访问保护的功能。

底层的协议

有人认为,NAS与SAN的本质区别在于以太网与FC,两者的命运系于TCP/IP协议。SAN采用的是FC上的SCSI传输。iSCSI作为沟通了IP与SCSI(已经成熟用于FC上)的新协议,被看作影响SAN命运的一件大事。这些本质区别是从网络架构来说的,对于许多关注NAS与SAN性能差别的用户来说,两者的本质差别还存在于文件读写实现上。

NAS采用了NFS(Sun)沟通Unix阵营和CIFS沟通NT与Unix,这也反映了NAS是基于操作系统的“文件级”读写操作,访问请求是根据“文件句柄+偏移量”得出。句柄是比进程还要小的单元,通常用作进程之间通信、资源定位等。SAN中计算机和存储间的接口是底层的块协议,它按照协议头的“块地址+偏移地址”来定位。从这点说,SAN天生具有存储异构整合的存储虚拟化功能。下面我们介绍一下NAS文件共享的灵魂——NFS和CIFS。

NFS(网络文件系统)是Unix系统间实现磁盘文件共享的一种方法,支持应用程序在客户端通过网络存取位于服务器磁盘中数据的一种文件系统协议。其实它包括许多种协议,最简单的网络文件系统是网络逻辑磁盘,即客户端的文件系统通过网络操作位于远端的逻辑磁盘,如IBM SVD(共享虚拟盘)。现一般在Unix主机之间采用Sun开发的NFS(Sun),它能够在所有Unix系统之间实现文件数据的互访,逐渐成为主机间共享资源的一个标准。相比之下,SAN采用的网络文件系统,作为高层协议,需要特别的文件服务器来管理磁盘数据,客户端以逻辑文件块的方式存取数据,文件服务器使用块映射存取真正的磁盘块,并完成磁盘格式和元数据管理。

CIFS是由微软开发的,用于连接Windows客户机和服务器。经过Unix服务器厂商的重新开发后,它可以用于连接Windows客户机和Unix服务器,执行文件共享和打印等任务。它最早的由来是NetBIOS,这是微软开发的在局域网内实现基于Windows名称资源共享的API。之后,产生了基于NetBIOS的NetBEUI协议和NBT(NetBIOSOVER TCP/IP)协议。NBT协议进一步发展为SMB(Server Message Block Potocol)和CIFS(Common Internet File System,通用互联网文件系统)协议。其中,CIFS用于Windows系统,而SMB广泛用于Unix和Linux,两者可以互通。SMB协议还被称作LanManager协议。CIFS可籍由与支持SMB的服务器通信而实现共享。微软操作系统家族和几乎所有Unix服务器都支持SMB协议/SMBBA软件包。

但最近的消息有点不妙—微软已经在Exchange等关健应用中撤消了对CIFS协议的支持。微软在其网站上称,CIFS协议要求数据通过客户的网络设备,容易造成性能瓶颈。此举遭到业内人士抨击。

SAMBA开放源代码软件的开发者之一杰里米称,对Linux的恐惧感和试图利用其在桌面操作系统方面的优势保护Windows服务器操作系统的销售是微软拒绝CIFS协议的真正原因。Network Appliance公司(NAS设备主要生产商之一)也曾表示,微软的这一措施是“不理智和贪婪的”。