RAID0,RAID1,RAID5,RAID10的简介与区别及创建一个RAID10阵列

RAID磁盘阵列,有“独立磁盘构成的具有冗余能力的阵列”,磁盘阵列就是由很多价格较为便宜的磁盘,以硬件或者软件的形式形成一个巨大的磁盘组,利用多个磁盘组,利用多个磁盘组合在一起,提升整个磁盘系统效能。同时,这种方式还可以通过减少磁盘容量为代价去增加数据的安全性。好了,废话不多说了,我们来介绍一下这几种raid吧。

首先是RAID0这种磁盘阵列,叫条带式,也是最早出现的RAID模式。

最少需要两块磁盘,这种方式就是在写入数据的时候。同时往两块磁盘里写数据,实际上就是将资料分成多个部分,然后再向多个部分同时写入数据,这跟内存的双通道技术有点相似。

这种技术,大大的提高了磁盘的读写速度,但是也大大提高了数据的风险性,因为对于这种方式,数据是保存在多个磁盘中,一旦有一块磁盘损坏,就失去了所有的数据。

应用环境:不要求安全,只要求速度。适合大规模并发读取。例如数据库从库,存储从库。

RAID1:这种叫做镜像卷。

最少需要两块磁盘,这种磁盘管理的原理就是,在一个磁盘中读入数据,在另一个磁盘中写入镜像文件,也就类似于备份。这种技术,一般来说,很安全,可以支持一块磁盘的损坏,但是在磁盘利用率上就大打折扣,原来只需要100个G的磁盘的数据量,使用这种技术可能会需要200个G的磁盘,这种技术的图解如下。

这种技术,大大提高了数据的安全性,允许损坏一块磁盘。但是在磁盘利用率上大打折扣。每一块磁盘都保存了数据,也导致读写速度没有增加。

应用场景:只要求安全,对速度不要求。适合系统盘和监控服务器。

RAID5:

这种技术至少需要三块磁盘。这种技术利用的是数据的异或运算,知道其他的结果可以算出其中的一个。例如5的八位二进制数据为0000 0101 2的八位二进制数据为0000 0010 按位xor的结果为0000 0111,这样只需要知道其中两个就可以知道第三位,同样在n个磁盘中只要知道n-1的磁盘的数据,就可以知道第n磁盘的数据。这种技术的工作原理图解如下图:

这种技术读取速度和Raid 0差不多,只是多了奇偶校验,写入速度比单个磁盘稍慢。是Raid 0 和Raid 1的折衷方案。
由于这种技术可以通过运算的方式解决一块硬盘损坏的情况,因此这种技术最多损坏一块硬盘。
应用场景:适合对性能和安全有一定要求但又不太十分高的情况。例如普遍数据库和存储库。

RAID10:

这种技术类似于将RAID0和RAID1的技术结合起来,我们有足够多的磁盘,然后将磁盘均分为两各部分。对于这两个大的部分,我们可以使用RAID0的技术。在这两个部分内部中,我们又细分为两个部分,对于细分的这两个部分,我们使用RAID1的技术。这样我们就可以得到RAID0的速度和RAID1的安全,这种技术的图解如下图:

图片来自于百度图库。

这种技术至少需要四块硬盘,损失了一半的容量。但是读写都很快。同时可以损坏一半的硬盘数据不损坏。

应用场景:对于性能和安全都要求的情况。例如高并发或高访问量数据库主库,存储主库。

这几种raid的介绍就到这里,那么我们怎么实现这种技术呢?

我们一般有两种方式实现这种技术,一种就是软RAID(通过操作系统软件去实现),另一种就是硬RAID(使用硬件阵列卡)。

硬RAID就是用专门的RAID控制器将硬盘和电脑连接起来,RAID控制器负责将所有的RAID成员磁盘配置成一个虚拟的RAID磁盘卷。对于操作系统而言,他只能识别到由RAID控制器配置后的虚拟磁盘,而无法识别到组成RAID的各个成员盘。这种技术一般来说,供应商就会为我们提供,不需要我们去操作任何东西。而软RAID,在Linux中我们则可以通过mdadm这个命令实现,下面我用虚拟机来具体操作一下,创建一个RAID10的磁盘管理阵列。

首先,我们来看看我们的磁盘,ls /dev/sd* 这个*代表的是适配符,这条命令的意思就是列出 /dev/下的所有前面两个字母是sd的文件及目录,

 

我的结果如图,这上面sda到sdq都是硬盘。然后就是创建一个RAID10的磁盘阵列,命令为 mdadm -C -v /dev/md10 -l 10 -n 4 /dev/sd{m,n,o,p}。这条命令主要就是mdadm命令。这条命令的主要参数如下,

-C或--creat

建立一个新阵列

-r

移除设备

-A

激活磁盘阵列

-l 或--level=

设定磁盘阵列的级别

-D或--detail

打印阵列设备的详细信息

-n或--raid-devices=

指定阵列成员(分区/磁盘)的数量

-s或--scan

扫描配置文件或/proc/mdstat得到阵列缺失信息

-x--spare-devicds=

指定阵列中备用盘的数量

-f

将设备状态定为故障

-c或--chunk=

设定阵列的块chunk块大小 ,单位为KB

-a或--add

添加设备到阵列

-G或--grow

改变阵列大小或形态

-v

--verbose 显示详细信息

-S

停止阵列

运行完成后,结果如下图所示,

这就代表我们的RAID10成功创建了。然后我们再去给我们这个文件配置文件命令是 mdadm -Dsv > /etc/mdadm.conf 

这条命令的意思就是将mdadm -Dsv的结果覆盖到etc下面的mdadm.conf中,覆盖的内容如图。

接下来我们就可以进行挂载了,挂载前要先格式化硬盘。mkfs.xfs /dev/md10,然后创建一个挂载点,mkdir /raid10,格式化和建立挂载点的结果如下图。

然后我们就能进行挂载了,命令mount /dev/md10 /raid10 结果如下图,这样我们就完成了挂载,现在就可以使用这个磁盘阵列了。

 

 

 

posted on 2018-11-24 11:41  取名字真难呀  阅读(1622)  评论(0)    收藏  举报

导航