第一章 RAID 知识介绍
RAID 的全称是廉价磁盘冗余阵列( Redundant Array of Inexpensive Disks ), 于 1987 年由美国 Berkeley 大学的两名工程师提出的
RAID 出现的,最初目的是将多个容量较小的廉价硬盘合并成为一个大容量的“逻辑盘”或磁盘阵列,实现提高硬盘容量和性能的功能。
随着 RAID 技术的逐渐普及应用, RAID 技术的各方面得到了很大的发展。现在, RAID 从最初的 RAID0-RAID5 ,又增加了 RAID0+1 和 RAID0+5 等不同的阵列组合方式,可以根据不同的需要实现不同的功能,扩大硬盘容量,提供数据冗余,或者是大幅度提高硬盘系统的 I/0 吞吐能力。
RAID 技术主要有三个特点:
第一、通过对硬盘上的数据进行条带化,实现对数据成块存取,减少硬盘的机械寻道时间,提高数据存取速度。
第二、通过对一阵列中的几块硬盘同时读取,减少硬盘的机械寻道时间,提高数据存取速度。
第三、通过镜像或者存储奇偶校验信息的方式,实现对数据的冗余保护。
经常应用的 RAID 阵列主要分为 RAID 0 , RAID 1 , RAID 5 和 RAID 0+1 。
1.1 RAID0 :条带化
RAID 0 也叫条带化,它将数据象条带一样写到多个磁盘上,这些条带也叫做“块”。条带化实现了可以同时访问多个磁盘上的数据,平衡 I/O 负载,加大了数据存储空间和加快了数据访问速度。 RAID 0 是唯一的一个没有冗余功能的 RAID 技术,但 RAID0 的实现成本低。如果阵列中有一个盘出现故障,则阵列中的所有数据都会丢失。如要恢复 RAID 0 ,只有换掉坏的硬盘,从备份设备中恢复数据到所有的硬盘中。
硬件和软件都可以实现 RAID0 。实现 RAID0 最少用 2 个硬盘。对系统而言,数据是采用分布方式存储在所有的硬盘上,当某一个硬盘出现故障时数据会全部丢失。 RAID 0 能提供很高的硬盘 I/O 性能,可以通过硬件或软件两种方式实现。
1.2 RAID1
也被称为磁盘镜像。系统将数据同时重复的写入两个硬盘,但是在操作系统中表现为一个逻辑盘。所以如果一个硬盘发生了故障,另一个硬盘中仍然保留了一份完整的数据,系统仍然可以照常工作。系统可以同时从两个硬盘读取数据,所以会提高硬盘读的速度;但由于在系统写数据需要重复一次,所以会影响系统写数据的速度。硬盘容量的利用率只有 50% 。
1.3 RAID0+1
对 RAID0 阵列做镜像。这是一种 Dual Level RAID ,也有人称之为 RAID level 10 。是两组硬盘先做 RAID0 ,组成两颗大容量的逻辑硬盘,再互相为“镜像”。在每次写入数据,磁盘阵列控制器会将资料同时写入该两组“大容量数组硬盘组”内。
同 RAID level 1 一样,虽然其硬盘使用率亦只有 50% ,但它却是最具高效率的规划方式。
1.4 RAID5
是在 RAID3 和 RAID4 的基础上发展来的,它继承了它们的数据冗余和条带化的特点,并将数据校验信息均匀保存在阵列中的所有硬盘上。系统可以对阵列中所有的硬盘同时读写,减少了由硬盘机械系统引起的时间延迟,提高了磁盘系统的 I/O 能力;当阵列中的一块硬盘仿生故障,系统可以使用保存在其它硬盘上的奇偶校验信息恢复故障硬盘的数据,继续进行正常工作。
第二章 RAID 的实现
RAID 可以通过软件或硬件实现。软件实现 RAID 需要操作系统的支持。硬件实现就是使用专用的 RAID 卡来实现。
2.1 软件 RAID
一些网络操作系统可以使用标准的 SCSI 适配卡支持和管理驱动器。一些网络操作系统支持 RAID0 , RAID1 和 RAID5 。
由于是操作系统下实现 RAID ,软 RAID 不能保护系统盘。亦即系统分区不能参与实现 RAID 。有些操作系统, RAID 的配置信息存在系统信息中,而不是存在硬盘上;当系统崩溃,需重新安装时, RAID 的信息也会丢失。
当运行 I/O 增强应用程序,如文件服务器或应用程序服务器,可适当的使用软件 RAID 。 RAID 5 是 CPU 的增强方式,所以不建议使用软件 RAID 在增强的处理器服务器中。
磁盘的容错技术并不等于完全支持在线更换,热插拔或热交换,有些操作系统不能支持系统不经过重启的在线热交换。能否支持错误硬盘的热交换与操作系统有关。
NetWare 支持 RAID 1 ( 镜像和双工 ) 。 Windows NT 、 Windows2000 、 LINUX 、 OPENSERVER 支持 RAID 0, RAID1 和 RAID5 。
另一种方案是配置系统在线扩充,服务器中配置一块备用硬盘,当系统中没有硬盘错误时,它处于等待状态,当 RAID5 或 RAID1 中出现硬盘错误时,它可以自动取代坏盘,当系统确认后,即可成为阵列的一部分。
2.2 硬件 RAID
硬件 RAID 是采用集成的阵列卡或专用的阵列卡来控制硬盘驱动器,这样可以极大节省服务器系统 CPU 和操作系统的资源。从而使网络服务器的性能获得很大的提高。
RAID 控制器对主系统,是藉由连接至其存取接口 ( 目前以 SCSI 为主 ) 作信道。换言之,它在主系统的存取接口上,是一个独立的直接存取储存体 DASD Direct Access Storage Device 。 而这个大的储存体内,可以有不只一个的逻辑磁盘 LUN Logical Unit Number 。 RAID 控制器,对下管理多颗数组硬盘机们。而主系统是不会看到或直接管理该硬盘的。
例如: Mylex 、 AMI 、 Adaptec 等 ... 都有相关的产品。
现在的 RAID 卡产品,都支持在线更换,热插拔或热交换。并在部分操作系统下实现软件监控和管理。