Raid 技术学习

作者: ming 2005-06-07 00:21:03
知识拓展: http://www.scsi.cn/knowledge/knowledge_list.php?news_id=588 RAID技术详解

http://www.it.com.cn/f/server/051/4/53660.htm 什么是独立磁盘冗余阵列?
http://download.chinaitlab.com/soft/452.htm 高端服务器RAID配置录像
http://www.net130.com/2004/8-31/85635.html RAID全解
http://www-900.ibm.com/developerWorks/cn/linux/filesystem/raid1/index.shtml 新 Linux 2.4 内核中的软件 RAID

什么是RAID?

RAID(Redundant Array of Inexpensive Disks) 称为独立磁盘冗余阵列,RAID的基本想法是把多个便宜的小磁盘组合到一起,成为一个磁盘组,使性能达到或超过一个容量巨大,价格昂贵的磁盘。
RAID(Redundant Array of Independent Disk 独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个独立的大型存储设备出现。RAID可以充分发挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能够确保数据安全性,易于管理的优点,在任何一块硬盘出现问题的情况下都可以继续工作,不会受到损坏硬盘的影响。

磁盘阵列其实也分为软阵列 (Software Raid)和硬阵列 (Hardware Raid) 两种. 软阵列即通过软件程序并由计算机的 CPU提供运行能力所成. 由于软件程式不是一个完整系统故只能提供最基本的 RAID容错功能. 其他如热备用硬盘的设置, 远程管理等功能均一一欠奉. 硬阵列是由独立操作的硬件提供整个磁盘阵列的控制和计算功能. 不依靠系统的CPU资源.
由于硬阵列是一个完整的系统, 所有需要的功能均可以做进去. 所以硬阵列所提供的功能和性能均比软阵列好. 而且, 如果你想把系统也做到磁盘阵列中, 硬阵列是唯一的选择. 故我们可以看市场上 RAID 5 级的磁盘阵列均为硬阵列.(2001)
软件RAID使你不必购买昂贵的硬件RAID控制器和附件就能极大增强linux磁盘的IO性能和可靠性。由于Linux RAID是用软件实现的,所以他灵活速度快,使用软件RAID,可以实现将几个物理磁盘合并成一个更大的虚拟设备,达到性能改进和数据冗余的目的。

软件RAID的级别
目前用于Linux 2.4内核的软件RAID支持以下级别:线性模式,RAID0, RAID1, RAID4和RAID5.
线性模式:
将两个或更多的磁盘组合到一个物理设备中,磁盘不必具有相同的大小。因为磁盘彼此间是附加在一起的,所以写入RAID设备时首先填满磁盘0,然后是磁盘1以此类推。
该级别中没有冗余。如果一块磁盘出现鼓掌,那么很可能会丢失所有数据。不过因为文件系统只是丢失一个大的连续数据块,所以可以非常幸运地恢复一些数据。
对于单独的读和写,读取和写入性能不会提高。但是如果几个用户同时使用这一设备,并且一个用户实际使用第一个磁盘,而另一个用户正访问第二块磁盘上的数据,那么将会提高性能。

RAID0
也成为分带(stripe)模式,它与线性模式类似,只不过读取和写入是在设备上并行完成的,设备的大小应该大致相等,因为所有的访问都是并行完成的,所有的设备都是同等填充的,如果一个设备比其他设备大的多,那么RAID设备中仍将使用额外的空间,但在写入RAID设备的高端部分时只能访问那个大的磁盘,会降低性能。
与线性模式一样,RAID0也没有冗余,与线性模式不同的是,如果驱动器出现故障,那么将无法恢复任何数据,如果从RAID0中取出一个驱动器,那么RAID设备将不仅丢失一个连续的数据块,而是整个设备上都将充满小的空洞。
因为读取和写入都是在设备上并行完成的,读取和写入性能都将会增加,这通常是运行RAID0的主要原因,如果磁盘总线足够快,可以非常接近N*P MB/S

RAID1
一个真正具有冗余的模式,RAID1可以用于两个或多个磁盘,拥有0块或多块备用磁盘,这种模式在其他一些磁盘上保留一块磁盘信息的准确镜像。当然磁盘大小必须相等,如果不等,你的设备将具有最小磁盘的大小。
如果最多驱除了N-1块磁盘(或出现故障),那么所有的数据仍然保持不变,如果有备用的磁盘,而且系统在故障中并没有被破坏,那么在检测到驱动器故障后,会立即在一块备用磁盘上开始重建镜像。
RAID的写入性能比在一个单独的设备上稍差一些,这是因为写入数据的相同副本必须发送到列中的每一个磁盘上,读取性能通常更为糟糕,但在2.4内核中已经得到大大的改进。

RAID4
RAID 4将数据条块化并分布于不同的磁盘上,但条块单位为块或记录。RAID 4使用一块磁盘作为奇偶校验盘,每次写操作都需要访问奇偶盘,这时奇偶校验盘会成为写操作的瓶颈,因此RAID 4在商业环境中也很少使用。阵列大小是(N-1)*S , S是阵列中最小驱动器的大小
如果一个驱动器出现故障,那么可以使用奇偶校验信息来重建所有数据,如果两个驱动器出现故障,那么所有数据都将丢失。

RAID5
在希望结合大量物理硬盘并且仍然保留一些冗余时,RAID5可能是最有用的RAID模式,RAID5可以用在三块或更多的磁盘上,并使用0块或更多的备用磁盘。就想RAID4一样,得到的RAID5设备的大小是(N-1)*S .
RAID5和RAID4最大的区别就是奇偶校验信息均匀分布在各个驱动器上,这样就避免了RAID4中出现的瓶颈问题,如果其中一块磁盘出现故障,那么由于奇偶校验信息,所以所有的数据仍然可以保持不便,如果可以使用磁盘,那么在设备故障之后,将立即开始重建数据。如果两块硬盘同时出现故障,那么所有数据就会丢失。RAID5可以经受一块磁盘故障,但不能经受两块或多块磁盘故障。
读取和写入性能通常会很高,但很难预测其提高程度。

相关资讯