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%的速度和单磁盘损坏的数据安全性, 并且当同时损坏的磁盘不在同一 Raid1 中,就能保证数据安全性、RAID 10 能提供比RAID 5 更好的性能。
其它的RAID 组合方式就不做介绍啦,大家用的多的就是RAID 1、RAID 0、RAID 5、RAID 10。