早期,在机械磨损、机械损伤等其他环境因素的影响下,硬盘十分容易发生故障,通常会导致数据的丢失。对于存储熟悉的人都知道,每块硬盘都有一个预期的寿命,即平均故障间隔时间(MTBF)来衡量一块硬盘的平均预期寿命。
如今,数据中心的存储基础设施通常部署上万块硬盘。然而随着存储阵列中硬盘数量的增加,该阵列发生故障的机率在不断变大。比如,一个由100块硬盘构成的阵列中,每块硬盘的MTBF是750,000小时计算,那整个阵列的时间是7500小时。也就是说,这个整列每隔7500小时就可能会发生硬盘故障。
对于这种情况,作为数据存取应用核心的服务器,一方面要求磁盘的数据读写速度要快,另一方面要求存储在服务器磁盘上的数据要安全可靠。如何才能进一步提升服务器磁盘系统的性能呢?RAID技术成为这个问题的最终答案。
RAID技术于存储系统的好处
RAID是"Redundant Array of Independent Disk"的缩写,中文意思是独立冗余磁盘阵列。通俗的应用是将多块磁盘形成一个有机整体,使之在硬盘故障时提供给数据保护技术。一般来说,RAID也能通过把数据并发地存储到多个硬盘上来提高存储系统的I/O性能。目前,常用的RAID阵列主要为RAID 0,RAID 1,RAID 5,RAID 0+1。随着RAID技术的普及,各方面得到很好发展,在最初RAID 0到RAID 5基础上发展了RAID 0+1、RAID 0+3、RAID 0+5、RAID 6等不同的阵列组合,可以根据不同需要实现不同的功能,如扩大磁盘容量,冗余数据或者提高存储系统的I/O性能。
那么,用户会问用RAID技术于存储系统的好处主要有什么,对于服务器是如何实现?
其实在RAID技术广泛应用后,数据存储进入了快速发展新时代。RAID技术主要有下面几个基本功能:
通过对磁盘上数据进行条带化,实现对数据成块存取,减少磁盘机械寻道时间,提升数据存取速度。另外,对于阵列中几块磁盘同时读取,减少了磁盘机械寻道时间,提高数据存储速度。
通过镜像和存储奇偶校验信息方式,实现对数据冗余保护。
扩大了存储能力由多个硬盘组成容量巨大的存储空间
RAID提供容错处理。容错阵列中如有单块硬盘出错,不会影响到整体的继续使用,高级RAID控制器还具有拯救功能。
而在谈到服务器上应用,可以加装一块RAID卡就可以把服务器的磁盘系统组合成一个阵列。在初期只应用于高端服务器的时代,现如今随着RAID技术发展,磁盘性能提升和SATA磁盘技术完善,在各种服务器产品应用也比较普遍。
RAID对服务器的要求
既然应用到服务器中,就对服务器产品也会有所要求。由于RAID技术可以使多块磁盘同时读写,就对服务器CPU、内存、I/O带宽的方面性能提出要求。对于处理器支持,当SCSI演变到Ultra 2,80Mbps速度要求时,处理器最起码要在奔腾处理器以上,而对于RISC架构的服务器要应用在专用处理器上,但如今最新的处理器都可以支持目前的 RAID技术。
在操作系统方面,主流的windows、Linux系统都支持RAID 0,RAID 1,RAID 5级别阵列模式。要实现数据安全冗余,对于阵列中的硬盘还有一定要求。如何确保数据安全,则取决磁盘阵列设计和品质。其中主要考虑的是:是否有对温度、电压、电源、磁盘状态监控的系统?磁盘有没有提供热插拔,在电路设计上就可以体现有没有保护路线的设计,80针的SCSI磁盘支持热插拔,而68针的 SCSI磁盘不支持热插拔。此外,磁盘托架也有真假热插拔的区别。
而值得注意的是,在配置磁盘阵列时,阵列中磁盘顺序。就是说,有些RAID阵列卡在磁盘拔出后,只有按照顺序插回阵列中才可以保证数据被正常存取。
RAID的实现方式
针对技术的产生,除了提供使用环境以外,如何实现其最大的特点是关键。RAID有几种实现类型分为: 软件 RAID和硬件 RAID。硬件方式就是通过RAID控制器实现,而软件方式通过软件把磁盘组合起来,实现条带化快速数据存储和安全冗余。
对于硬件RAID通常就是主板集成RAID控制器或者单独RAID卡,连接多个磁盘实现。而硬件RAID性能较好,应用广泛,对于高速数据存储和安全冗余环境应用合适。软件就相对简单,无需购买RAID卡,通过第三方软件实现低成本应用,但是配置复杂而且性能较低,目前RAID卡是主流的应用方式。