相关文章导航   当前位置:首页>>电脑数据修复>>RAID技术深度剖析>>文章正文
 

RAID技术深度剖析

 在过去的20年里,计算机技术日新月异逐渐介入了我们的生活的方方面面:商业、教育、休闲、娱乐……同时各个方面不断对计算机技术提出了更高的要求,为了适应人们的需要,计算机技术不断的在各个方面变革着。现在这个社会,我们无时无刻不需要信息和消费信息。Internet的普及更加剧了信息成几何化增长,于是存储信息并且防止信息丢失就成为了一个首要问题。当然用于存储信息数据的设备就是关键了:比如对于一个大型的网站来说,因为存储设备的故障导致网站的片刻的瘫痪,也可能带来数以百万元的损失。很显然单*用多个硬盘简单的备份不能从根本上解决问题。这时一种叫做独立冗余磁盘阵列(RAID:Redundant Array of Independent (or Inexpensive) Disks)的技术就应运而生了,这种技术可以把数据分布到多个硬盘上,从而取得更好的稳定性和性能。作为普通的计算机用户,也许你只是熟悉IDE或者软件RAID解决方案,本文就是让你了解RAID技术的内幕。

一、什么是RAID
   RAID通俗的说就是通过将多个存储设备按照一定的形式和方案组织起来,如同使用一个硬盘一样但是却通过这样的形式获取了比单个存储设备更高的速度、更好的稳定性、更大的存储能力的存储设备的解决方案。根据你的需要不同,可以采用不同形式以及不同价格(从几千元到上百万元)的RAID解决方案——很显然,越好的RAID系统,价格越昂贵,所以几乎没有最好的RAID系统。另外,选择Raid系统要适应不同的应用程序。
   一般来说RAID是用于比较昂贵的服务器系统中的。不过,随着便宜的RAID控制器的出现,它已经渐渐向市场主流发展了。当然在目前的主流市场实现RAID有一定的局限性,它并不适用于每一个人。目前有许多种类的RAID levels。在介绍不同RAID模式的区别的时候,我要简述一下几个基本的概念。

二、阵列和RAID控制器

一个驱动器阵列就是多个硬盘驱动器的集合。要了解RAID,我们应该再弄清楚几个基本概念。

·物理驱动器阵列可以被分开或者组合成为一个或者多个逻辑驱动器阵列。
·逻辑驱动器阵列由可以在操作系统中看到的逻辑驱动器组成。
·逻辑驱动器可以是一个硬盘也可以是硬盘中的一个分区。

在一般简单的RAID应用中,或许这些概念反而可能让你更胡涂,不过在多层RAID嵌套的高端RAID应用中明白这些概念、分清这些概念将是非常重要的。

RAID控制器就是在物理和逻辑阵列中管理数据存取的装置。系统通过它可以查看到逻辑驱动器,但是不必去直接管理。RAID控制器的功能既可以由硬件也可以由软件来实现。硬件RAID一般用于处理大量数据的RAID模式。随着处理器的能力的不断增强,软件RAID功能已经成为可能,不过当处理大量数据时CPU仍然会显得力不从心。在后文,我们将会讨论什么样的应用程序和RAID模式更适于硬件或者软件RAID。

三、镜像技术

镜像就是在两个或者多个独立的硬盘驱动器或者驱动器阵列上存放数据的多个拷贝。系统会同时把数据写在作为镜像的两个硬盘上,这就是RAID技术中冗余技术,用来防止数据意外丢失。当其中一个硬盘或者RAID出现问题,系统可以访问镜像的硬盘或者RAID来继续工作,这样就让数据修复的时间缩短到了最短,此时你要做的就是从完好的备份上恢复数据。

下面的示意图显示了镜像如何工作的。当然这只是一个简单的示意图。A、B、C是独立的文档。在这个示意图里Disk 1和Disk 2指的是硬盘或者磁盘阵列。RAID 控制器将相同的数据同时写入Disk 1和Disk 2。所以每一个硬盘或者磁盘阵列存储了相同的信息。你可以利用延展技术(Striping,后面将详细解释,现在你只需要知道这个技术能提升性能)加入另一个level组成更加复杂的RAID阵列。如果你有一个延展阵列,那么你可以在镜像这个阵列的同时镜像另外一个延展阵列,它可以让RAID变的极为复杂。缺点也是显而易见的,不能并行写入——因此存储数据的时候并不能提升速度。不过,在读取数据的时候镜像可以提升速度。一个好的RAID控制器可以读取镜像的两个设备中的任意一个的数据,当其中一个使用时,另一个空闲的可以响应其它的请求。这就是并行处理——也就是RAID之所以能提升硬盘性能的原因所在。