前言:在目前大数据爆发的时代,越来越多的企业更加重视企业的数据安全性,数据的完整性,那么如何保障企业数据行的安全、无损呢?那么我们就用到了RAID技术,目前很火的虚拟化、云计算、底层都是使用的RAID存储来完成的。那么什么是RAID呢?我们会通过软RAID案例以及理论来一起学习。
首先是什么是RAID?
RAID简单的就是可以允许容错的磁盘阵列,将多块磁盘整合成一个较大的硬盘。然后这个整合的磁盘具有大容量的存储,以及硬盘的容错功能。RAID又分为软RAID和硬RAID;
RAID分级的划分?
RAID0
效果最佳,但是缺少容错功能,这种模式的raid在读取写入数据的时候,首先会先写到第一个磁盘然后依次会写到第二个磁盘,这样写数据的时候数据会依次写到两块硬盘之中的。如果raid0有两块数据组成的时候,当数据在写入的时候会先写到磁盘A然后会写到磁盘B,因此每个磁盘负责的压力都降低了,越多的磁盘对raid0的性能越好,但是当一块硬盘出故障之后我们的数据就无法完整了。所以这种做法的危险性比较高,没有安全性可言。
RAID1
可以这么理解他是为了弥补Raid0的缺点而诞生的,这种模式的硬盘需要两块一模一样的硬盘来组成,如果两个硬盘不是一样大的话,他会以小的硬盘来为主的。这种raid的最大好处是能保证数据的安全性,但是对硬盘的空间使用率只能使用50%;因为一个磁盘写数据,一个磁盘数据同时做备份数据,这样两个磁盘的数据是一模一样的。
RAID1的优点是能保证数据的安全性,缺点是磁盘的使用率比较低,写入速度比较慢。
在企业中最佳的使用是
RAID0+1或者RAID1+0
RAID0的数据没有安全性,不能保证数据的完整性,但是raid1能保证数据的安全性,raid0+1能互相增加raid使用的安全性。
RAID0+RAID1的工作模式:
先把磁盘做成raid0这样做成两组,每组两块硬盘,然后在把两组raid0组成raid1.raid1+0的方法和raid1+0的方式一样。当我们需要写入数据的时候,首先会从raid1开始,而raid1又是由raid0组成的,所以写入数据的时候,会平均写入的,因此我们不管哪一组raid0磁盘损坏,只要我们还有一组raid0就不怕数据的安全。因此这样是最安全的。
RAID5
Raid5是需要至少三块以上的磁盘才能做成磁盘阵列。这种磁盘的工作方式是,每个磁盘在写入的过程中,总会有一个磁盘在做检查码的;这样只要不是两块磁盘同时坏掉,整个数据是没有问题的。同时坏掉两块的话那是人品爆发了。在企业实战中一般会raid5在加一个备份磁盘,当其中一个磁盘坏掉的时候,另一个磁盘会自动切换过去的。其他的raid在企业中用的不是很多,我们就不做介绍了。
Raid阵列分为软raid和硬件raid,硬件raid相对比较贵点,在大型数据中都是使用硬raid,软raid使用的很少,下面我们使用Linux下自带的raid来模拟下raid,原理和硬raid基本一样。
一、部署磁盘阵列RAID
1、 首先在服务器上添加硬盘,我们在此案例中模拟,如图是我们添加的硬盘sdb。
2、 然后我们在新添加的硬盘上创建逻辑分区,创建的命令使用fdisk /dev/sdb如图所示:是创建完成的分区,sdb6-sdb10是我们模拟raid分区来做的。每个分区是1G。
3、 我们使用mdadm命令来创建RAID分区,“-C”等于create /dev/md0是我们创建的分区块设备;“-l”是指定RAID的等级我们在此案例是模拟raid5来实施,-“n4”是指阵列的硬盘的个数,“-x1”是指热备的数量,当阵列中有磁盘坏掉的时候,热备的磁盘会顶上的。
4、 搭建其实很简单一条命令,下面我们查看Raid的详细信息。在下图详细的说明了RAID的档案名,raid的创建时间、版本,等级、大小、硬盘的数量、以及启动的详细信息。有时候我们需要等下这些信息才能创建出来。详细的列出来我们创建的阵列。
5、 我们还可以通过以下的命令来查看RAID的信息,在如下中指出来raid的类型,raid的大小,以及raid的加载状态。需要注意的是U代表的是硬盘的启动情况,4个U是代表是个硬盘启动。如果显示是“_”则是不正常的。
6、 Raid创建完成/dev/md0之后,我们格式化/dev/md0,这里我们需要注意的是,我们格式化的不是我们挂载的硬盘而是我们创建的块设备文件。如图:
7、 完成之后我们挂载,首先创建挂载点挂载然后在查看是否挂载成功;如图:
整个Raid的创建部署就这么简单。接下来我们通过一个案例来模拟下故障环境。
二、查看在故障中磁盘阵列RAID是怎么工作的;
1、 首先进入挂载点,创建文件,如图
2、 模拟故障以及查看故障的结果报告;首先我们先卸载/dev/sdb6这个阵列中的硬盘。然后我们来查看报表是什么提示,在如图中,当我们卸载/dev/sdb6这个硬盘之后,在报告中提示有一块硬盘失败,然后做热备的/dev/sdb10自动替换掉出故障的sdb6这个硬盘。我们用红色标记出来了。
3、 然后我们在查看RAID5的工作方式的时候,发现sdb6后面有F,表示这个硬盘分区失败,让其他的硬盘替换掉了,如图:
4、 然后我们添加一块新的硬盘来替换出故障的硬盘,需要注意的是,新添加的硬盘我们需要使用命令partx –a /dev/sdb来让我们添加的硬盘生效,不然无法增加新的硬盘。
5、 然后我们使用mdadm命令来新添加我们增加的/dev/sdb11移出/dev/sdb6硬盘,如图:
6、 查看替换的硬盘是否生效,如图已生效。
7、 设置开机挂载,修改配置文件vim /etc/fstab
三、删除Raid的步骤方法;按照以下的执行步骤即可卸载。