2024年4月16日发(作者:)

1.21 什么是软RAID0及特点;

RAID0 是把两个或两个以上的容量相同的硬盘或分区,通过RAID控制器(硬RAID

是通过RAID卡来实现的,软RAID 是通过软件来实现的),结合为一个在容量上是RAID0

下成员的容量的总和,在写入时,要向每个硬盘或分区同时写入数据。

在硬RAID中,RAID0的成员是以整个硬盘为单位的,把两个硬盘或两个以上的硬盘

通过RAID卡绑定成为一个虚拟的磁盘设备,而每个硬盘就是RAID0的成员;

在软RAID0中,RAID0的成员是整个硬盘或分区,容量是加入RAID0的所有成员容

量的总和。在RAID0中每个成员的容量都是相同一致的。比如我们把 /dev/sdb 、/dev/sdc、

/dev/sdd 三个容量大小为80G的硬盘做成RAID0,这时RAID0设备的容量就是三个硬盘的

总和 80x3=240G。当然我们也可以,在写入数据时,系统要向每个硬盘同时写入数据,是

以条块的形式写入。比如我们存一份数据 到RAID0的设备中,这份数据是分

拆成若干份被分散的写入到RAID0中的每个成员中。只有RAID0中的每个成员正常运行,

并且RAID0也正常运行的情况下,这份数据才是完整的。RAID0中任何一个成员(硬盘分

区)有有问题时,RAID0便不能运行,同时数据也不是完整的;

RAID0 在读写速度上是比较快的,是普通不做RAID的两倍左右(注:实际速度和机

器的硬件配置有关),所以RAID0常被用于对存储效率要求较高,但对数据安全性要求不高

的应用解决方案中;

安全性:RAID0中有任何一个成员出现故障,整个RAID0就不能被激活。数据不能保

障;

1.22 什么是软RAID1及特点;

RAID1就是把若干相同容量的硬盘或分区,成员与成员之间是镜像关系。在容量上,

RAID1设备是单个成员的容量。比如两个80G的硬盘做成RAID1,这个RAID1的设备容量

仍是80G。比如我们写入一个份数据2 到RAID1设备时,其实是向RAID的

每个成员都写了一份。比如RAID1设备下有两个成员/dev/sdb和/dev/sdc ,我们写入

2 到RAID1时,/dev/sdb和/dev/sdc都有一份完整的2。 所以RAID1

是冗余的阵列,一般被用于安全性要求比较高的应用中。

因为RAID1在由于镜像冗余,所以磁盘利用效率并不高,或者说是“浪费”。这种方案

相对来说性价比并不高,一般很少应用。数据读写效率要比RAID0慢。

安全性:RAID1 中只要有一个成员是健康的,RAID1完全可以激活,而且数据绝对是

完整安全的。如果所有的成员有故障,RAID1也就报废了。哈哈,这不是废话吗?

1.23 什么是软RAID5及特点;

软RAID5也是冗余安全的,RAID5是把至少三个硬盘或分区通过软件虚拟成为一个大

的存储设备。在容量上是(n-1)x单个硬盘(分区)容量 ,比如我们用三块80G硬盘做成

RAID5,容量就是两块容量的和160G。在写入上,数据被分拆成若干份,分别向RAID5的

每个成员下写入。比如把2写入RAID5时, 要先把2分拆成若干

份,分别写入RAID5成员中。因为涉及到冗余,所以数据在读入速度上并不是很快,没办

法和RAID0相比,但RAID5的写入数据速度没有RAID1和RAID0快,也没有不做RAID

的磁盘写入速度要快;

因为RAID5在容量损失比较小,有冗余安全保障,另外写入速度比较快,从整体上来

看,性价比比较高,所以被大范围内采用;

安全性:当RAID5中的成员中有一个发生故障时,RAID5一样能启动和正常运行,只

要n-1(注n>3)块硬盘或分区的不出故障,RAID5上的数据就是安全,对于一个文件存到

RAID5设备中,只有成员是n-1(注n>3)无故障时,这份文件才是完整的。 比如RAID5

有四个硬盘(或分区)做的,当一个硬盘或分区挂掉了,并不影响整个RAID5上数据的完

整性和安全性。

1.24 什么是软RAID10及特点;

软RAID10也是冗余安全阵列,是RAID0+1的集成,RAID10是把至少四个硬盘或分

区通过软件虚拟成为一个大的存储设备。在容量是:n/2x单个硬盘(分区)容量 ,比如我

们用四块80G硬盘做成RAID5,容量就是两块容量的和4/2x80=160G。做RAID10所需要的

硬盘或分区个数是偶数的。

RAID10,有RAID1的镜像特点,还有RAID0的速度。可以这么理解RAID10,比如有四

个硬盘做成的RAID10,过程是先把每两个硬盘做成RAID1,然后再两个RAID1的基础上再做

成RAID0。从理论上来说,RAID10应该继承RAID0的速度和RAID1的冗余安全。但经过

我在软RAID0、RAID1、RAID5、RAID10的测试过程中发现RAID10的写入速度是最慢的,

测试方法是用超过1G的大文件几盘复制。结果发现速度由高低的顺序是:RAID0> 不做

RAID>RAID1>RAID5>RAID10

2 在Linux中,软RAID的创建和管理;

在Linux中,软RAID是通mdadm来创建和管理的,mdadm 是一个专用创建和管理

RAID的软件,在Linux中,大多发行版本已经默认安装,mdadm能创建任何级别的软RAID;

在本节中,RAID创建并不是目的,我们还要查看学会RAID的状态,启动、停止RAID。

还要学会使用RAID。所以RAID的使用应该包括创建、管理和使用。 RAID的使用就是在

RAID设备上创建文件系统,然后供存储应用;

流程是:

[RAID创建]->[RAID管理]->[RAID的使用]

|

[RAID的维护]

2.1 RAID的创建方法;

创建RAID有两个方法 ,

第一种方法 :用mdadm 通过-C或--create 参数来创建RAID。这种方法 ,是把RAID

信息写到每个RAID成员的 superblocks(超级块)中,在每个RAID成员的超级块中,都

会记录RAID的级别、成员、RAID的UUID等„„ 这种方法把RAID的信息记录在各个

成员的 superblocks(超级块)中。这种方法对于重装系统或系统发生灾难来来说,有利于

现有RAID的恢复;这种方法是最常用的;

第二种方法:用mdadm 通过-B或--build 参数来创建RAID。这种方法并不把RAID的

信息写入RAID成员的 superblocks(超级块中),所以我们无法通过查看RAID成员信息来

获得RAID的级别,以及RAID的成员等;这种方法对于重装系统或系统发生灾难来来说,

不利于现有RAID的恢复;如果你想用第二种方法来创建RAID,可以在下面的语法中,把

-C或--create 换成 -B或--build 。

语法:创建把RAID信息写入RAID每个成员的superblocks(超级块)中;

mdadm -C -v /dev/mdX -lY -nZ RAID成员

mdadm --create --verbose /dev/mdX --level=Y --RAID-devices=Z RAID成

注:

-C 是--create 的缩写,表示创建的意思;这种方法是创建把RAID信息写入每个RAID

成员superblocks(超级块)的方法。这是最常用的方法。

-v 和--verbose, 显示创建过程中详细的事件;

如果把-C或--create 换成-B或--build,就是创建RAID的另一种方法,不把RAID信息