Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11699353
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-07-17 16:20:22

服务器是网络系统的核心,它的工作状态直接决定了所在网络的整体服务响应状况。相对来讲,对于服务器,大家听得比较多、谈得也比较多的总是CPU、内存,但实际上,计算、通信I/O、外存和内存这四个部分对于服务器来说都是同等重要的,任何一部分与其他部分协同配合有问题都会直接影响整个系统的性能及可用性。

外存的主要作用是存储服务器操作系统和信息数据,其重要性自不待言。现在服务器上主流的外存技术主要有ATA和SCSI两种,这两类技术从传输的方式上都属于并行I/O技术。这里值得特别指出的是,虽然离不开ATA与SCSI,但随着服务器技术应用水平的不断提升,服务器的外存技术已经在这两种主流技术之上大幅往外延伸。

从IDE到S-ATA



如果算上最近推出的Ultra ATA 133规范,现在的并行IDE接口规范已经上市超过十五年了。IDE接口规范最早是由IBM推出的,从PIO Mode开始,到现在的ATA 133,将硬盘的传输速率从原先4MB/s提升到了现在的133MB/s,使得SCSI和IDE之间传输速率的差距逐步缩小。不过,伴随服务器计算系统从PⅡ CPU向PⅢ CPU、Xeon、P4 Xeon的迅速更新换代,服务器外存也迅速发展,虽然ATA也发展到66MB/s、100MB/s、133MB/s,但是和服务器计算部分性能的突飞猛进相比,ATA系统的带宽还是无法满足实际应用的需求。因此在1999年以前,IDE设备只能少量用在最低端服务器上。

后来,Promise、High Point等公司推出的IDE-RAID芯片使这一局面有所改变。这些IDE-RAID芯片可以实现RAID 0、1、0+1等功能,搭配该功能的服务器系统在存储的可靠性方面已经可以和SCSI系统媲美,虽然还比不上SCSI RAID系统,但其价格比SCSI RAID系统低很多,性价比优势非常突出。同一时间内也有一些公司研制出可支持IDE RAID 5的板卡,并搭配有支持IDE硬盘热插拔的模组。不过相对来说,由于这些板卡、模组的价格比较高——基本和SCSI规格的类似产品价格相当,因此这类产品的市场空间比较小。

IDE的性价比高,连接方便,但缺点也是很明显的。首先,ATA需要宽大的信号电缆,这些线缆容易造成机箱内的空气流通不畅。另外,随着系统内计算、内存、系统总线速度的不断提升,IDE设备的速度已经跟不上整个系统速度的提升,除非采用更加先进的技术,否则100MB~133MB/s的传输速率将会成为ATA技术的限制。为此,开始出现了S-ATA(Serial-ATA,或称串行ATA)技术。

S-ATA是Intel在2000年的IDF上正式对外推出的,在支持S-ATA技术的厂家中,不仅有Intel、IBM等计算机巨头,还有Maxtor及Seagate等主要存储设备制造商。第一代S-ATA从150MB/s的传输速率起步,比目前主流的ATA 100一下子提升了50%的传输速率,并且在未来,它的提升幅度将远远高于ATA结构,很快就会翻倍达到300MB/s,并迅速提升到600MB/s,据说最终将允许S-ATA提升到1.5GB/s的传输率。

此外,S-ATA的硬盘将不再有主从盘之分,这个新的规范是一种点对点协议,它将每个硬盘直接连接到了控制器上,这样可以让控制器对硬盘提供更好的控制能力。预计在2003年年中会有板载2个S-ATA端口的主板出现,可能支持RAID 0或1;在2004年会有板载6个S-ATA端口的主板,支持RAID 0、1、0+1、5;有4-8个端口的S-ATA卡也会在2003年上市,但价格不会很低。

SCSI的跃进

工业标准服务器从1993年起步,最初从可靠性方面考虑使用的全部是SCSI系统做外存,总线带宽是5MB/s,后来发展到10MB/s、20MB/s,也就是Ultra和Ultra Wide SCSI。在1997到2002年之间,SCSI技术快速发展,经历了Ultra2 LVD SCSI和Ultra3 LVD CSI(也就是我们现在通常说的Ultra 160 SCSI)两个发展阶段,总线传输带宽达到了160MB/s,硬盘容量也从最初的1GB发展到173GB,甚至更高。

从SCSI技术的发展历史来看,SCSI协议的V1版本仅规定了5MB/s传输速度的SCSI-1的总线类型、接口定义、电缆规格等技术标准。随着技术的发展,SCSI协议的V2版本做了较大修订,遵循SCSI-2协议的16位数据带宽、高主频的SCSI存储设备陆续出现并成为市场的主流产品,也使得SCSI技术牢牢地占据了存储市场。

SCSI-3协议则增加了能满足特殊设备协议所需要的命令集,使得SCSI协议既适应传统的并行传输设备,又能适应最新出现的一些串行设备的通信需要,如光纤通道协议(FCP)、串行存储协议(SSP)、串行总线协议等。

新推出的Ultra320 SCSI全称为Ultra320 SCSI SPI-4技术规范,它是作为下一代的SCSI标准。Ultra320 SCSI 单通道的数据传输速率最大可达320MB/s,如果采用双通道SCSI控制器可以达到640MB/s。为了提升系统的性能和可靠性,从Ultra160到Ultra320 SCSI需要协议上的改变,以便减少命令/状态开销来最大限度地利用高带宽的优势。因此,Ultra320 SCSI引入了多种新特性来支持高速而可靠的数据传输。这些新特性包括物理/信号的增强和协议的增强。

表1列出来SCSI发展历史中几种不同技术规范的主要规格。这里需要指出的是,最大传输速度并不代表设备正常工作时所能达到的平均访问速度,也不意味着不同SCSI工作模式之间的访问速度存在着必然的“倍数”关系。SCSI控制器的实际访问速度与SCSI硬盘型号、技术参数,以及传输电缆长度、抗干扰能力等因素关系密切。提高SCSI总线效率必须关注SCSI设备端的配置和传输线缆的规范及质量。





RAID新景象

RAID技术也是伴随服务器的发展而来的一种工业标准,各厂商对RAID级别的定义不尽相同。经过多年的发展,RAID已经成为一项非常成熟的技术,但由于其价格相对比较昂贵,配置也不方便,因此其应用还不普及。据统计,全世界70%以上的服务器系统目前没有配置RAID。由于服务器存储对数据安全性、扩展性等方面的要求越来越高,RAID的发展潜力是非常巨大的。

RAID分硬件RAID和软件RAID。相比之下,硬件RAID可以做系统盘镜像,服务器不会因为一个系统盘故障而宕机,而且硬件RAID还可以基于两个SCSI通道做双工,即使一个SCSI通道故障也不会影响系统使用;而软件镜像备份或RAID 5,只能备份数据部分,引导区部分不在上面,可用性级别比硬件RAID低。另外硬件RAID内置CPU,与主机并行运作,所有磁盘I/O都由磁盘阵列控制器完成,减轻了主机的工作负载,增加了系统整体性能。硬件RAID结合RAID Cache,不但增加了数据的存取和传输性能,而且因减少对磁盘的存取而增加了磁盘的寿命。软件RAID使主机多了很多进程(process),增加了主机的负担,尤其是磁盘I/O操作较多的应用中。

硬件RAID还具有更多更强的功能,比如:硬件RAID具有报警功能,而软件RAID则增加了人为失误而丢失数据的风险;硬件RAID支持热备份盘,提供了更高的数据安全和可用性;硬盘RAID扩充更方便,很多硬件RAID都支持在线扩充;硬件RAID支持几乎所有RAID级别,而软件RAID一般只支持RAID 0、1和5;硬件RAID的配置和使用简单方便,软件RAID的配置和使用起来比较复杂等。因此,硬件RAID应用很普遍,软件RAID应用则较少。

另外,使用RAID就离不开RAID控制设备。RAID控制设备现在通常有卡和主板集成两大类,其中RAID卡一般有零通道、单通道、双通道卡等。一块独立的RAID卡通常由以下几个主要部分组成:SCSI控制芯片、RISC处理器及缓存和用于RAID 5校验的XOR引擎(Firmware、处理器集成或单独的硬件芯片)。单/双通道RAID卡上这些部件都有,但在零通道RAID卡上则没有SCSI控制芯片。

零通道RAID卡简称ZCR(Zero Channel Raid),主要是利用主板上的SCSI芯片和SCSI通道接口,通过支持零通道RAID卡主板上的板载SCSI控制芯片与某指定的PCI插槽之间的电气连接来实现各种RAID功能。对于这种电气连接,Adaptec称之为Embedded RAID Logic(EMRL),Intel则称之为RAIDIOS。

现在中高端服务器主板都会板载一颗Ultra160 SCSI控制芯片,目的当然是方便使用SCSI硬盘,然而当用户需要RAID功能时,板载的SCSI控制芯片就不可避免地浪费掉了——尤其是在RAID卡上的SCSI控制芯片的版本、规格相对低档的时候。而零通道RAID可充分利用主板上的SCSI控制器系统避免这个弱点。从性能上看,ZCR和单双通道RAID相比只有不到5%的性能下降,而对用户来说实现成本则低很多;另外用户将服务器系统升级到单/双通道RAID配置的时候,必须更改机器上SCSI线缆的连接,而升级到ZCR则不需要,相对来说,ZCR方式更便利简捷。

在2001年年中Adaptec展示了它的iROC技术,在2003年这一技术将以HostRAID的形象推出。iROC也就是RAID on Chip,实质上就是利用SCSI控制芯片内部的RISC处理器完成镜像功能(RAID 0、1、0+1)。由于RAID 0、1和0+1需要的运算量不大,利用SCSI控制器内部的RISC处理器能够实现。在Firmware的配合下,通过iROC实现的RAID 0、1或0+1具备引导能力和对热交换、热备盘的支持。

在入门级塔式服务器和1U高度的机架式服务器中,主板上通常会集成SCSI控制芯片,但不标配独立的RAID卡,iROC的出发点就是让这些系统具有基本的硬件数据保护,当需要更为复杂的RAID 5时再购买独立的RAID卡。iROC的出现给低端服务器产品的数据保护方案增加了一个简易的选择。iROC或HostRAID的主要缺点是操作系统兼容性和性能,由于没有专门的RAID计算处理器,因此使用这种配置的RAID会在一定程度上降低服务器系统的性能,而且它只支持RAID 0、1、0+1,只能支持4块SCSI盘,相比IDE RAID 0、1、0+1来说特性相近而成本上却高了很多,此外,HostRAID技术在低端还必然要面对更新、性能更好的S-ATA RAID的竞争。



·小资料·★★★★★★★★★

SCSI vs. IDE

SCSI在服务器上的广泛使用是因为SCSI有这样几个特点:

1.SCSI占用系统资源少,可扩展设备多。在使用IDE接口时,一般情况下每个IDE通道占用一个IRQ,而一块标准的主板只有两个IDE通道(即IDE1与IDE2插槽),IDE通道有主从盘之分,每个IDE通道只能接两块盘,虽然可以通过增加IDE控制卡等其他方式来增加可连接设备的数量,但总共连接的IDE设备数最多也不能超过15个。使用SCSI则可以使连接设备数超过15个,而且所有设备只占用一个中断号。

2. SCSI传输带宽高。目前最新的SCSI接口类型——Ultra 320/SCSI所支持的最大总线速度为320MB/s,虽然实际使用时可能达不到这个理论值,但上百兆比特的传输率在SCSI上还是能够达到。而现在最快的IDE接口 Ultra ATA/133,它在理论上只能支持 133MB/s的外部数据传输率,而普通IDE硬盘上所能实现的最大传输率实际还不足50MB/s,这还不及Ultra 320 SCSI的一半。

3. SCSI支持多任务、CPU占用率很低。由于有专门SCSI控制器及内嵌的处理器来处理SCSI信号及数据传输,因此SCSI设备对CPU的占用率非常低,并支持多任务模式工作。这对服务器来说是至关重要的。

认识RAID级别

目前对RAID级别的定义可以获得业界广泛认同的只有4种,即我们很熟悉的RAID 0、RAID 1、RAID 0+1和RAID 5,其他RAID 2、3、4三种RAID技术只是在某些特殊场合或某些厂家的特殊设备上使用,比如RAID 2、3主要在IBM的存储设备上使用,Network Applicance公司的NAS则只使用RAID 4。

RAID 0是无数据冗余的存储空间条带化,具体做法是将所有硬盘经过条带化后组成大容量的存储空间,将数据平均分散存储在所有硬盘上,以实现多块硬盘并发读写。它具有低成本、极高读写性能、高存储空间利用率等特性,适用于Video/Audio信号存储、临时文件的转储等对速度要求极其严格的特殊应用。其缺陷是没有容错能力,RAID 0中的任何一块硬盘损坏将导致整个RAID中的所有数据丢失。因此,在数据安全要求很高的环境下,使用RAID 0配置是不明智的。

RAID 1刚好与RAID 0相反,是为了增加数据安全性使两块硬盘数据完全镜像,从而达到安全性好,技术简单,管理方便。在RAID 1上所有的数据只是简单地镜像到第二块硬盘上,即使一块硬盘损坏,系统也可以利用其镜像的磁盘继续运作,从而达到容错的目的。因为两块硬盘存放了完全相同的内容,所以硬盘的整体利用率为1/2。

RAID 0+1结合了上述两个RAID级别的优点。首先用两块硬盘建立镜像,做好多个镜像后,再做条带化(即RAID 0)。这个阵列的数据将同时被写进两个RAID中,如果主阵列被损坏,仍可继续运作,既保证了数据的安全,又提高了性能。但由于其中含有RAID 1模式,所以整体磁盘利用率仍然为1/2。当然也可以反过来,独立磁盘配置成RAID 0,两套完整的RAID 0互相镜像成RAID 1。RADI 0+1的读写性能出色,安全性高,但构建的成本投入大,存储空间利用率低,不能称之为经济高效的方案。

RAID 3、5是具有校验位的条带化,其中RAID 3是将校验位完全存放在单一物理硬盘上,而RAID 5是将校验位平均分布在所有的物理硬盘上。这两种RAID配置都需要至少三块硬盘,都是多块硬盘并发读写,都具有容错功能。在RAID 3、5配置中,即使RAID组中的硬盘有一块损坏,整个RAID中的数据也不会丢失。因为有校验位的存在,所以磁盘的利用率为(N-1)/N。其中RAID 3有专门存放校验位的一块硬盘,它的连续读写性很好,但安全性比RAID 5要低一些(存在校验位硬盘损坏的风险),因此,在对存储I/O速度要求比较高的视频应用下一般采用RAID 3技术,其他数据应用一般采用RAID 5技术。





Remote的读后感:
  这篇文章不错,为用户介绍了一些基础知识,从最基本的IDE到SCSI,最终上升到SCSI和RAID。同时也有扩展,对RAIDIOS和EMRL做了解释,帮助用户了解0通道RAID卡原理!这在很多文章中是看不到的!
  文章中对应用来说是少了些内容,对用户来说,更重要的是如何指导选择。如果有读者对此篇文章介绍的技术感兴趣,可以跟贴,我会着重详细介绍一下!同时会涉及到一些产品及应用!
阅读(455) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~