| 
 咨询电话:010-51727811/12/13
当前位置: 首页 > 新闻中心 > 业内新闻 >
RAID功能在I/O路径上的位置(一)
时间:2012-12-28 09:31  来源:飞客数据恢复   作者:飞客数据恢复工程师
RAID阵列管理软件可以在I/O路径的几个地方实现,这毫不令人惊讶,因为这些位置和镜像和缓存的位置一样:主机系统、I/O控制器、磁盘子系统等。
 
1.基于主机卷管理软件的RAIDRAID
 
阵列管理软件的一个常见位置是卷管理器,它运行在主机系统上,在这个模式下,主机CPU提供RAID算法运行所需要的处理能力。
 
基于主机的RAID已经被证明是相当有效的,常常运行在UNIX环境下,而不是在PC环境下,其主要原因是开发RAID的卷管理软件公司的市场运作方式。几年来,VeritasSoftware已经成功地向领先的UNIX厂商们出售了它的卷管理软件,也将为Windows2000提供基本的磁盘管理器,以将卷管理概念引入PC市场。CrosStorSoftware也为工业界提供了卷管理软件,可嵌入范围很广的装置和系统中。
 
操作系统和系统制造商有时也开发自己专用的卷管理器,并加入了RAID的功能。即使不支持更高级的RAID,但大部分服务器操作系统至少支持RAID1镜像。随着市场对RAID和磁盘子系统前景的看好,可能有更多的系统制造商和附件产品将会介入其中。
 
1)基于主机RAID的分析
 
基于主机的RAID要求主机系统提供CPU的处理周期,也占用系统内存带宽和主机I/O总线。按照实现的RAID级的不同,这会引起几个I/O操作通过系统总线,而外部磁盘阵列软件将它们当作一个请求处理。此外,校验RAID是非常耗费CPU的。
 
例如,RAID1镜像实现起来相当简单,并不涉及大量的处理,同时,它对资源的消耗也不特别严重,而RAID4、5、6则要求多次XOR校验操作,以及从磁盘驱动器中读出数据。
 
举一个例子,假如RAID5运行在主机系统中,主机系统安装有JBOD磁盘子系统。当更新磁盘上的一个分块时,必须在主机I/O总线上移动相当多的数据。在这种情况下,原有数据和原有校验数据必须从磁盘读出,然后新数据再写到磁盘,校验的XOR计算处于读和写之间。若将独立的重叠I/O操作用于多个成员磁盘,主机I/O总线可能变得更为拥挤。
 
2)基于阵列管理软件的RAID3问题
 
当RAID功能在主机软件中实现时,值得怀疑的是RAID3是否能够正常工作。RAID3的性能取决于成员驱动器的写操作,对匹配磁盘转动同步的容错范围很小。然而,基于主机的阵列管理软件所提供的数据必须通过整个I/O路径,因而,很难保证数据能够及时地传送给磁盘子系统,提供适当的阵列性能。因为RAID3的速度取决于所使用的同步磁盘,假如主机和磁盘之间的数据传送发生延迟,那么会导致成员磁盘的不必要的转动,致使阵列的性能很差。
 
注意RAID子系统的许多冗余属性实际上是磁盘子系统的一部分,也可以由JBOD提供,
这些包括冗余的电源、风扇、甚至热插拔磁盘驱动器。虽然基于主机的RAID能够支持热
交换磁盘驱动器,但主机软件并不支持它,要使它能正常地工作,必须将它放入磁盘子
系统。
 
RAID2:专有磁盘的并行访问
 
过去,磁盘驱动器花费更贵,而且没有今天这样复杂的电路,因而,就构想出了RAID2,RAID2的定义涉及RAID控制器中的错误校验电路。今天,这个功能已经被集成到磁盘驱动器中,虽然便宜,但效率却不高。因此,RAID2没有形成产品,在文献中也几乎被忽略。