信息化建设是在国家统一规划和组织下,在农业、工业、教育、科学技术、国防及社会生活各方面,应用现代信息技术深入开发和广泛利用信息资源,加速国家实现现代化的过程。随着计算机网络技术及通信技术的日益发展,信息化建设已成为一种不可阻挡的潮流。随着信息化建设的不断推进,信息量不断骤增,原来一直在后台服务于计算机及通信技术的存储问题也从幕后走到台前,而且越来越显示出它的重要性。在众多的存储技术中,RAID技术以其优异的性能在信息存储中起到了巨大的作用。
1、RAID技术简介
RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)是一种使用多磁盘驱动器来存储信息的信息存储系统,它可以使用多种不同的存储技术来实现不同等级的冗余、错误恢复和数据保护功能。通过RAID可以在一个或多个磁盘出现故障的情况下防止数据丢失,而对磁盘阵列的操作与单个硬盘一样,用户不必规划数据在各磁盘的分布。因而,磁盘空间的使用率得到了提高,而且磁盘容量几乎可作无限的延伸。由于存取数据时各个磁盘一起作存取的动作,所以存取更为快捷,大幅加快了数据存取的时间。用RAID技术进行数据信息的存储是一个符合服务器大容量硬盘、大量数据存储、保护数据安全性、提高运行速度等综合要求的信息数据存储方案。
2、RAID技术的工作原理及特点
2.1 RAID技术原理
RAID系统由两个主要部件组成:RAID控制器及磁盘阵列。控制器是RAID系统的核心,负责路由、缓冲以及管理主机和磁盘阵列之间的数据流。磁盘阵列把多个磁盘组织起来,由阵列管理程序进行统一管理,而给用户看到的是一个或多个虚拟盘。当用户对这个虚拟磁盘进行操作时,这些操作经过管理程序的处理,最终由物理磁盘执行,并将结果告诉给用户,用户对磁盘阵列的操作与对一般硬盘进行的操作没有区别。
RAID使用一组磁盘同时进行I/O操作,从而获得更大的I/O吞吐量,并依靠存储冗余信息来保障数据的安全性。RAID可以连接NAS,SAN网络或直接连到主机服务器上,以网络连接存储系统的方式存储信息、提供服务。
2.2 RAID的特点
2.2.1 高传输速率、大数据吞吐量
RAID通过同时使用多个磁盘,提高了传输速率。RAID通过在多个磁盘上同时存储和读取数据来大幅提高存储系统的数据吞吐量。RAID可以达到单个磁盘驱动器几倍至上百倍的传输速率,这也是设计RAID的初衷。
2.2.2 超强容错功能、更高的数据安全性
通过数据校验,RAID可以实现容错功能。而普通磁盘驱动器则无法提供容错功能。RAID容错是建立在每个磁盘驱动器的硬件容错功能之上的,所以它提供了更高的安全性。在很多RAID模式中都有较为完备的相互校验/恢复措施,甚至是直接相互镜像备份,从而大大提高了RAID系统的容错能力。
2.2.3 功能冗余
RAID增加了系统的可用性和实时性。其中最为重要的是“热备份”,它能在系统正常运行的状态下替换掉出故障的硬盘。当RAID中的硬盘出现故障时,功能冗余保证了数据的安全性。
2.2.4 辅助技术
RAID系统在读写用户数据时需要花费时间来进行数据校验,这样就产生了操作瓶颈,使整个系统的性能受到重大影响。为了解决这个问题,RAID系统融入高速缓存、并行处理、助写盘和数据映射技巧等辅助技术,使RAID的整体运行性能有所提高。
3、RAID技术在信息存储中的应用
3.1 RAID的级别
3.1.1 RAID 0
RAID 0的主要特点就是条带化。RAID 0连续以位或字节为单位分割数据,并行读写于多个磁盘上,当一组磁盘阵列被条带化成RAID 0模式时,数据块被分别存储在多个磁盘中,读写操作时,数据从多个磁盘同时进行,有效地提高了磁盘读写的速度。由于读写负载是在RAID 0卷的磁盘中平衡的,所以应考虑使用统一型号、容量的硬盘,以提高RAID 0磁盘阵列的读写效率和性能。图1是RAID 0磁盘阵列中数据条带化。
虽然RAID 0提高了读写速度,但它没有数据冗余,其中的一个磁盘出现故障将影响到所有数据,数据的安全性没有保障。因此,RAID 0不能应用于对数据安全性要求高的信息化建设单位。
当将磁盘阵列设置成RAID 0模式时,磁盘阵列的总容量等于该阵列最小磁盘容量乘上磁盘数量。例如:5个300 GB的硬盘和一个250 GB硬盘组成RAID 0,则可得到的磁盘空间是1 500 GB(250 GB×6)。RAID 0的应用建议:图像编辑、非最终版本的预编辑应用系统、需要高性能的应用环境以及对数据的传输率要求较高的单位。
3.1.2 RAID 1
当把一个磁盘阵列设置成RAID 1模式时,事实上是建立了一个RAID镜像,即相同的数据被同时写到两个对等的硬盘上,读写操作也是在两个硬盘上同时进行。
在执行读操作时,RAID 1使用查询技术和负载均衡技术,使硬盘读操作用最有效的方式分布执行。只要有一个硬盘相对空闲或磁头距所读数据较近,则该读操作将在该磁盘首先执行。RAID 1可以提高读取性能和安全性,但RAID 1是磁盘阵列中单位成本最高的阵列模式,它的存储容量只有阵列总容量的一半。图2为RAID 1镜像模式下,两个磁盘上数据的分布示意。
RAID 1是通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。一个硬盘出错,另一个镜像硬盘可继续工作,该功能被称为容错。如果将损坏的硬盘更换为一个新硬盘,则另一个好的硬盘会自动将其数据镜像到新的硬盘上,而不需要重组失效的数据。
考虑RAID 1的特点,在使用RAID 1时需使用偶数量的磁盘,也就是说RAID 1至少由两个硬盘或更多的偶数块硬盘组成。
设置成RAID 1模式的阵列容量等于两个磁盘中较小那个的容量。例如,一个100 GB的硬盘和一个120 GB的硬盘组成RAID 1,则其RAID 1卷的容量等于100 GB。
RIAD 1的建议应用环境:财务部门、付款部门、需要高可用性以及对数据的安全有较高要求的部门。
3.1.3 RAID 0+1
RAID 0+1也被称为RAID 10标准,特点是镜像/条带。实际是将RAID 0和RAID 1相结合的产物,在连续地以位或字节为单位分割数据并且并行读/写的同时,为每一块磁盘作磁盘镜像进行冗余。既可以利用RAID 0的读写速度提高存储性能,又可以利用RAID 1的镜像保护数据。它的优点是同时拥有RAID 0的超凡速度和RAID 1的数据高可靠性,但是CPU占用率十分高,而且磁盘的利用率也比较低。
设置RAID 10至少需要安装4块硬盘,当把4块磁盘设置成RAID 10后,每一对磁盘被设置成镜像,每一对磁盘之间被设置成条带以便数据快速传输。图3为RAID 10的数据分布及镜像示意。
设置成RAID 10模式的阵列容量等于最小磁盘的容量乘以磁盘个数除以2。
RAID 10的建议应用环境:图像处理、数据库服务器、一般文件服务器、备份磁盘驱动器及在信息化建设中对存储速度和数据安全性都有要求的单位可以考虑用这种磁盘阵列模式。3.1.4 RAID 3
RAID 3是将数据条块化分布于不同的硬盘上,并使用简单的奇偶校验,用单块磁盘存放奇偶校验信息。如果一块磁盘故障,奇偶盘及其他数据盘可以重新产生数据,奇偶盘故障则不影响数据使用。RAID 3对于大量的连续数据可提供很好的传输率,但对于随机数据来说,奇偶盘会成为写操作的瓶颈,传输速度会受到影响。
RAID 3特别适合在大型、连续性档案以写入为主的如绘图、数据仓储、视讯编辑、影像、高速数据撷取、多媒体等单位应用。
3.1.5 RAID 5
RAID 5是分布式校验的条带块模式,读/写指针可同时对阵列设备进行操作,提供了更高的数据流量。RAID 5不单独指定奇偶校验盘,而是在所有磁盘上交叉地存取数据及奇偶校验信息,任何一块硬盘上的数据丢失,均可以通过校验数据推算出来。图4为RAID 5条带化数据和校验信息存放示意。
RAID 5是目前应用最广泛的RAID技术。它和RAID 3最大的区别在于校验数据是否平均分布到各块硬盘上。RAID 5具有数据安全、读写速度快,空间利用率高等优点,应用非常广泛,但不足之处是如果一块硬盘出现故障,整个系统的性能将大大降低。
尽管如此,RAID 5还是被认为是最富有弹性的RAID级别。在信息化建设中是一种不错的信息数据存储选择,设置RAID 5至少需要3块硬盘。
RAID 5的建议应用环境:文件和应用服务器、网站、电子邮件和新闻服务器、企业内网服务器等。
3.1.6 RAID 6
RAID 6是由一些大型企业提出来的私有RAID级别标准,其全称为“Independent Data Disks with Two Independent Distributed Parity Schemes(带有两个独立分布式校验方案的独立数据磁盘)”。RAID 6不同于RAID 5的只能为每一个磁盘提供一个校验值,RAID 6为每一个磁盘提供二个校验值(见图5)。由于校验值的使用可以达到恢复数据的目的,因此多增加一位校验位,数据恢复的能力就越强。同时RAID 6阵列中允许出现故障的磁盘可以达到2个,但相应的阵列磁盘数量最少也要4个。不过在增加一位校验位后,就需要一个比较复杂的控制器来进行控制,同时也使磁盘的写能力降低,并且还需要占用一定的磁盘空间。因此,这种RAID级别应用还比较少,图5为RAID 6校验数据存放示意图。
RAID 6的优点如下:
容量较好,可用N-2块磁盘的容量;可靠性极高,能在双重故障的情况下恢复数据,解决了SATA磁盘和低端磁盘经常出现故障和读/写错误的问题。但也存在着不足之处:写人性能较低,仅为RAID 0的六分之一。
3.1.7 RAID 7
RAID 7是一种新的RAID标准,RAID 7不仅仅是一种技术,还是一种“存储计算机”(Storage Computer)。RAID 7与其他RAID标准有明显区别。RAID 7等级是至今为止,理论上性能最高的RAID模式。在RAID 7中,多个硬盘组成一个“柱子”,它们都有各自的通道。这样做的好处就是在读/写某一区域的数据时,可以迅速定位,不会因单个硬盘的限制,同一时间只能访问该数据区的一部分。
另外,RAID 7可完全独立于主机运行,不占用主机CPU资源。RAID 7是一套实时事件驱动操作系统,主要用来进行系统初始化和安排RAID7磁盘阵列的所有数据传输,并把它们转换到相应的物理存储驱动器上。通过存储计算机操作系统来设定和控制读写速度,可使主机I/O传递性能达到最佳。如果一个磁盘出现故障,还可自动执行恢复操作,并可管理备份磁盘的重建过程。
RAID 7主要有如下的特性:
所有的I/O传输都是异步的,因为它有自己独立的控制器和带有Cache的接口,与系统时钟并不同步。如果RAID 7有N个磁盘,那么除去一个校验盘(用作冗余计算)外,可同时用N-1个主机系统随机发出的读/写指令,从而显著地改善了I/O性能。
RAID 7系统内置实时操作系统还可自动对主机发送过来的读/写指令进行优化处理,以智能化方式将可能被读取的数据预先读人快速缓存中,从而大大减少了磁头的转动次数,提高了I/O速度。RAID 7可帮助用户有效地管理El益庞大的数据存储系统,并使系统的运行效率提高至少一倍以上,满足了各类用户的不同需求。
3.1.8 RAID 5E
RAID 5E(RAID 5 Enhencement)是在RAID 5级别基础上的改进,与RAID 5类似,数据的校验信息均匀分布在各硬盘上,但是,在每个硬盘上都保留了一部分未使用的空间?,这部分空间没有进行条带化。RAID 5最多允许两块物理硬盘出现故障。
由于RAID 5E是把数据分布在所有的硬盘上,性能会比RAID 5加一块热备盘更好。当一块硬盘出现故障时,有故障硬盘上的数据会被压缩到其它硬盘上未使用的空间,逻辑盘保持RAID 5级别。图6是RAID 5E的结构及工作原理。
3.1.9 RAID 5EE
与RAID 5E相比,RAID 5EE的数据分布更有效率,每个硬盘的一部分空间被用作分布热备盘,它们是阵列的一部分。图7是RAID 5EE的数据分布、校验数据分布以及热备空间分布示意。
图7中D为数据,P为校验信息,S是热备的空间。从图7中可以看出,被预留出来的热备空间是均匀分布在硬盘上的。当阵列中一个物理硬盘出现故障时,数据重建的速度会更快,这与它的数据分布结构是紧密相关的。
3.2 RAID的实现方式
磁盘阵列有两种方式可以实现,那就是“软件阵列”与“硬件阵列”。
软件阵列是指通过网络操作系统自身提供的磁盘管理功能将连接的普通SCSI卡上的多块硬盘配置成逻辑盘,组成阵列。
如微软的Windows NT/2000 Server/Server 2003和NetVoll的NetWare两种操作系统都可以提供软件阵列功能,其中Windows NT/2000 Server/Server2003可以提供RAID 0,RAID 1,RAID 5;NetWare操作系统可以实现RAID 1功能。软件阵列可以提供数据冗余功能,但是磁盘子系统的性能会有所降低。硬件阵列是使用专门的磁盘阵列卡来实现的,现在的非入门级服务器几乎都提供磁盘阵列卡,不管是集成在主板上或非集成的都能轻松实现阵列功能。硬件阵列能够提供在线扩容、动态修改阵列级别、自动数据恢复、驱动器漫游、超高速缓冲等功能。它能提供性能、数据保护、可靠性、可用性和可管理性的解决方案。磁盘阵列卡拥有一个专门的处理器和专门的存贮器,用于高速处理和高速缓冲数据。这样一来,服务器对磁盘的操作就直接通过磁盘阵列卡来进行,因此不需要大量的CPU及系统内存资源,不会降低磁盘子系统的性能。
3.3 RAID的安全管理
(1)注意检查运行日志文件
磁盘阵列的日志文件详细记录了磁盘阵列内部运行情况,包括发生的每个事件序列号、严重级别、相关的服务器IP地址、有关设备的具体位置及事件发生的时间等内容,这些信息对于诊断和排除磁盘阵列故障十分有用。
(2)注意备份系统配置参数
建立磁盘阵列系统后,要及时记录磁盘阵列的逻辑配置、物理配置、状态配置等参数,具体包括使用的每个逻辑盘大小、RAID类型、条带容量、数据写人磁盘方式,由哪些物理磁盘组成,每个物理磁盘的通道号、目标序列号、生产厂家、型号、容量、阵列控制器的型号等。
(3)定时备份重要数据
配备了磁盘阵列并不意味着可以高枕无忧。基于设备投入成本、技术复杂性等因素,无法同时采用阵列控制器冗余、磁盘冗余、热备用磁盘、备用电池或双UPS电源供电等技术,所以对重要业务数据一定要备份。数据备份的介质可以是磁带、可读写光盘,或磁盘。备份方式可以是通过操作系统本地备份或通过网络系统远程备份。
(4)建立热备用磁盘
热备用磁盘也是RAID技术的又一项技术,当磁盘阵列中一个正在使用的物理磁盘发生故障后,一个待机的磁盘会立刻上线,代替此故障盘,阵列控制器根据逻辑驱动器上的冗余数据,通过校验算法把原来存储在故障盘上的数据重建到热备用磁盘上。热备用磁盘必须符合三个条件:一是空间容量不小于故障盘的容量;二是平时必须是空盘,即闲置不用;三是阵列控制器自动重建数据功能正常有效。在_个阵列中,只能有一个热备用磁盘。热备用磁盘增加了一次数据逃生的机会,系统管理员要及时更换发生故障的磁盘,并指定新的热备用磁盘。
(5)定期检查数据一致性
通过对RAID互为镜像的磁盘数据一致性检查;或对主数据块进行重新校验,将产生的校验数据与冗余数据比较,可以发现不一致的错误数据。一致性检查一般间隔时间以每周1~2次为宜。
4、结语
目前成熟的RAID技术有RAID 0,RAID 1,RAID3,RAID 5,RAID 10,RAID 35等,在信息化建设的过程中,不同的单位要根据自己的实际需要合理地选择自己的RAID模式,通过灵活配置磁盘阵列来获得更加符合其要求的磁盘存储系统。这样,在信息化建设中,RAID技术才能发挥最大的作用,信息化建设才会更加有成效。
CIO之家 www.ciozj.com 公众号:imciow