king

linux中raid是什么意思

king linux 2022-07-27 652浏览 0

linux中raid是什么意思

RAID(Redundant Array ofInexpensiveDisks)称为廉价磁盘冗余阵列。RAID的基本想法是把多个便宜的小磁盘组合到一起,成为一个磁盘组,使性能达到或超过一个容量巨大、价格昂贵的磁盘。

目前RAID技术大致分为两种:

基于硬件的RAID技术和基于软件的RAID技术。

其中在Linux下通过自带的软件就能实现RAID功能,这样便可省去购买昂贵的硬件RAID控制器和附件就能极大地增强磁盘的IO性能和可靠性。

由于是用软件去实现的RAID功能,所以它配置灵活、管理方便。同时使用软件RAID,还可以实现将几个物理磁盘合并成一个更大的虚拟设备,从而达到性能改进和数据冗余的目的。

当然基于硬件的RAID解决方案比基于软件RAID技术在使用性能和服务性能上稍胜一筹,具体表现在检测和修复多位错误的能力、错误磁盘自动检测和阵列重建等方面。在本节将详细讲述如何在红旗Linux服务器上创建和维护软RAID。

扩展知识

RAID级别介绍

随着RAID技术经过不断的发展,现已有RAID 0到RAID 6七种基本的RAID级别,同时还有RAID 0和RAID 1的组合形式,称为RAID10。其中的级别并不代表技术的高低,而RAID 2和RAID 4基本上不再使用了,RAID 3则是由于实现起来太复杂也很少使用。目前这些常用的RAID级别Linux内核都能够支持,本节就以Linux 2.6的内核为例,在Linux 2.6内核中的软RAID可支持以下级别:RAID 0、RAID 1、RAID 4、RAID 5以及RAID 6等。Linux 2.6的内核除支持以上几种RAID级别外,还可支持LINEAR(线性模式)的软RAID,线性模式是将两个或更多的磁盘组合到一个物理设备中,磁盘不必具有相同的大小,在写入RAID设备时会首先填满磁盘A,然后是磁盘B,以此类推。

RAID 0

也称为条带模式(striped),即把连续的数据分散到多个磁盘上存取,如图1所示。当系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。因为读取和写入是在设备上并行完成的,读取和写入性能将会增加,这通常是运行RAID 0的主要原因。但RAID 0没有数据冗余,如果驱动器出现故障,那么将无法恢复任何数据。

RAID 1

RAID 1又称为镜像(Mirroring),一个具有全冗余的模式,如图2所示。RAID 1可以用于两个或2xN个磁盘,并使用0块或更多的备用磁盘,每次写数据时会同时写入镜像盘。这种阵列可靠性很高,但其有效容量减小到总容量的一半,同时这些磁盘的大小应该相等,否则总容量只具有最小磁盘的大小。

RAID 4

创建RAID 4需要三块或更多的磁盘,它在一个驱动器上保存校验信息,并以RAID 0方式将数据写入其它磁盘,如图3所示。因为一块磁盘是为校验信息保留的,所以阵列的大小是(N-l)*S,其中S是阵列中最小驱动器的大小。就像在RAID 1中那样,磁盘的大小应该相等。

如果一个驱动器出现故障,那么可以使用校验信息来重建所有数据。如果两个驱动器出现故障,那么所有数据都将丢失。不经常使用这个级别的原因是校验信息存储在一个驱动器上。每次写入其它磁盘时,都必须更新这些信息。因此,在大量写入数据时很容易造成校验磁盘的瓶颈,所以目前这个级别的RAID很少使用了。

RAID 5

在希望结合大量物理磁盘并且仍然保留一些冗余时,RAID 5可能是最有用的RAID模式。RAID 5可以用在三块或更多的磁盘上,并使用0块或更多的备用磁盘。就像RAID 4一样,得到的RAID5设备的大小是(N-1)*S。

RAID5与RAID4之间最大的区别就是校验信息均匀分布在各个驱动器上,如图4所示,这样就避免了RAID 4中出现的瓶颈问题。如果其中一块磁盘出现故障,那么由于有校验信息,所以所有数据仍然可以保持不变。如果可以使用备用磁盘,那么在设备出现故障之后,将立即开始同步数据。如果两块磁盘同时出现故障,那么所有数据都会丢失。RAID5可以经受一块磁盘故障,但不能经受两块或多块磁盘故障。

RAID 6

RAID 6是在RAID 5基础上扩展而来的。与RAID 5一样,数据和校验码都是被分成数据块然后分别存储到磁盘阵列的各个硬盘上。只是RAID 6中增加一块校验磁盘,用于备份分布在各个磁盘上的校验码,如图5所示,这样RAID 6磁盘阵列就允许两个磁盘同时出现故障,所以RAID 6的磁盘阵列最少需要四块硬盘。


继续浏览有关 linuxraid 的文章
发表评论