RAID 知识点
RAID
是什么?
RAID
是英文Redundant Array of Independent Disks
的缩写,中文简称为独立磁盘冗余磁盘阵列。简单的说,RAID
就是将多块磁盘组成一个硬盘组来提供数据存储,这个硬盘组在操作系统看来就像是一块磁盘一样。
RAID
技术可以根据磁盘的不同方式组合实现不同的需求,比如可以实现磁盘的备份(将数据存储到两块盘上,实现备份的作用),也可以实现磁盘的分片(将数据块分布到多块磁盘上,从而提高读写性能)。
RAID
技术实现有两种形式:硬件RAID
和 软件RAID
。
我们通常使用硬件RAID
,即服务器上自带RAID
卡,这是一个硬件,类似网卡、显卡安装到服务器上一样。硬件RAID
的好处是,更加稳定可靠,不会消耗太多CPU
、内存等资源。
而软件RAID
,就是在操作系统里通过安装一个软件来实现RAID
,这种很少用,毕竟它需要额外消耗CPU
和内存资源,稳定性取决于操作系统的稳定性。
RAID
分类
根据磁盘的不同组合实现了不同的需求,RAID
技术经过不断的发展,现在已拥有了从 RAID 0
到7
八种基本的RAID
级别。另外,还有一些基本RAID
级别的组合形式,如RAID 10
(RAID 0
与RAID 1
的组合),RAID 50
(RAID 0
与RAID 5
的组合)等。不同RAID
级别代表着不同的存储性能、数据安全性和存储成本。
常见的RAID组合有:RAID 0
、RAID 1
、RAID 5
、RAID 10
。
RAID 0
这个很容易理解,数据会被分割,然后并行写入到所有磁盘上,这样就能提升数据的读写速度。RAID 0
只是单纯地提高性能,并没有为数据的可靠性提供保证,而且其中的一个磁盘失效将影响到所有数据。因此,RAID 0
不能应用于数据安全性要求高的场合。
RAID 1
磁盘个数必须是偶数,通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此RAID 1
可以提高读取性能。RAID 1
是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。
RAID 5
最少有三块磁盘组成,它将数据分散存储于阵列中的每个硬盘,并且还伴有一个数据校验位,数据位与校验位通过算法能相互验证,当丢失其中的一位时,RAID
控制器能通过算法,利用其它两位数据将丢失的数据进行计算还原。所以,整个磁盘阵列会损失一块盘的容量。它允许一块硬盘损坏或者离线,这时候阵列依旧可以读取,但是处于降级状态,需要重建。
RAID 5
相比较RAID 0
和RAID 1
,不仅提供了较好的读取速度,而且保证了数据安全,经济实惠!
RAID 6
RAID 6
至少需要4块磁盘,与RAID 5
相比,RAID 6
增加了第二个独立的奇偶校验信息块。两个独立的奇偶系统使用不同的算法,数据的可靠性非常高,即使两块磁盘同时失效也不会影响数据的使用。但RAID 6
需要分配给奇偶校验信息更大的磁盘空间,相对于RAID 5
有更大的写损失,因此写性能相对较差。较差的性能和复杂的实施方式使得RAID 6
很少得到实际应用。
RAID 10
RAID 10
是先将数据进行镜像(RAID 1
)操作,然后再对数据进行分组(RAID 0
)。至少要四块盘,RAID 10
对存储容量的利用率和RAID 1
一样低,只有50%
。但是它提供了200%
的速度和单磁盘损坏的数据安全性, 并且当同时损坏的磁盘不在同一Raid 1
中,就能保证数据安全性、RAID 10
能提供比RAID 5
更好的性能。