目录

一、磁盘阵列介绍

1.RAID 简介

二、RAID级别介绍

1.RAID 0

2.RAID 1

3.RAID 5

三、配置软件 RAID

1.所需软件:mdadm,若未安装,Centos7系统安装盘中有rpm 安装包。

2.mdadm 命令

示例一:【新增三块 20G 的新硬盘,配置RAID 5】

1.关机后新增三块 20G 的新硬盘

2接下来使用mdadm命令创建RAID 5,名称为 “/dev/md0”

3.把制作好的RAID 磁盘阵列格式化为xfs格式

4.创建挂载点然后把磁盘设备进行挂载操作。

5.查看/dev/md0磁盘阵列的详细信息,并设置为自动挂载

示例二:【新增五块 20G 的新硬盘,将其配置为软件 RAID 10+1块备份盘】

1.关机新增五块 20G 的新硬盘

2.使用mdadm命令创建RAID 10,名称为 “/dev/md0” 使用4块硬盘,外加一块备份盘

3.将RAID 10阵列格式化为XFS文件格式,然后挂载到目录上。

4.模拟硬盘故障,备份盘自动顶替工作

5.正确删除linux中软raid的方法


一、磁盘阵列介绍

1.RAID 简介

RAID(Redundant Array of Inexpensive Disks)称为廉价磁盘冗余阵列。RAID 的基本想法 是把多个便宜的小磁盘组合到一起,成为一个磁盘组,使性能达到或超过一个容量巨大、 价格昂贵的磁盘。 目前 RAID 技术大致分为两种:基于硬件的RAID技术和基于软件的 RAID 技术。其中 在 Linux 下通 过自带的软件就能实现 RAID 功能,这样便可省去购买昂贵的硬件 RAID 控 制器和附件就能极大地增强磁 盘的 IO 性能和可靠性。由于是用软件去实现的 RAID 功能, 所以它配置灵活、管理方便。同时使用软件 RAID,还可以实现将几个物理磁盘合并成一个更大的虚拟设备,从而达到性能改进数据冗余的目的。当 然基于硬件的 RAID 解决方案 比基于软件 RAID 技术在使用性能和服务性能上稍胜一筹,具体表现在检测 和修复多位错 误的能力、错误磁盘自动检测和阵列重建等方面。

出于成本和技术方面的考虑,需要针对不同的需求在数据可靠性及读写性能上做出权衡,制定出满足各自需求的不同方案,目前已有的RAID磁盘阵列的方案至少有十几种,而RAID0,RAID1,RAID5与RAID10这4种是最常见的方案

二、RAID级别介绍

1.RAID 0

RAID0技术把多块物理硬盘设备(至少俩块)通过硬件或软件的方式串联在一起,组成一个大的卷组,并将数据依次写入到各个物理硬盘中,这样一来,在最理想的状态下,硬盘设备的读写性能会提升数倍,但是若任意一块硬盘发生故障将导致整个系统的数据都受到破坏。通俗来说,RAID 0 技术能够有效的提升硬盘数据的吞吐速度,但是不具备数据备份和错误修复能力。

如下图所示,数据被分别写入到不同的硬盘设备中,即disk0和disk1硬盘设备会分别保存数据资料,最终实现提升读取、写入速度的效果。

麒麟服务器的docker镜像地址 麒麟服务器系统怎么做raid_麒麟服务器的docker镜像地址

2.RAID 1

尽管RAID 0技术提升了硬盘设备的读写速度,但是它是将数据依次写入到各个物理硬盘中,也就是说,它的数据是分开存放的,其中任何一块硬盘发生故障都会损坏整个系统的数据。因此,如果生产环境对硬盘设备的读写没有要求,而是希望增加数据的安全性时,就需要用到RAID 1技术了。

在下图所示的RAID 1技术示意图中可以看到,它是俩块以上的硬盘设备进行绑定,在写入数据时,是将数据同时写入到多块硬盘设备上(可以将其视为数据的镜像或备份)。当其中某一块硬盘发生故障后,一般会立即自动以热交换的方式来恢复数据的正常使用。

麒麟服务器的docker镜像地址 麒麟服务器系统怎么做raid_centos_02

3.RAID 5

麒麟服务器的docker镜像地址 麒麟服务器系统怎么做raid_麒麟服务器的docker镜像地址_03

 4.RAID 10

大部分企业更在乎的是数据本身的价值而非硬盘价格,因此生产环境中主要使用RAID 10技术

顾名思义,RAID 10 技术是RAID 1+RAID 0 技术的一个“组合体”。如下图所示,RAID 10技术至少需要4块硬盘设备来组建,其中先分别俩俩制作成RAID 1磁盘阵列,以保证数据的安全性;然后再对俩个RAID 1磁盘阵列实施 RAID 0技术,进一步提高硬盘设备的读写速度,这样从理论上来讲,只要坏的不是同一组中的所有硬盘,那么最多可以损坏百分之50的硬盘设备而不丢失数据。由于RAID 10 技术继承了RAID 0 的高读写技术和RAID 1 的数据安全性,在不考虑成本的情况下,RAID 10 的性能超过了RAID 5,因此当前成为广泛使用的一种存储技术。

麒麟服务器的docker镜像地址 麒麟服务器系统怎么做raid_centos_04

三、配置软件 RAID

1.所需软件:mdadm,若未安装,Centos7系统安装盘中有rpm 安装包。

2.mdadm 命令

(1)作用:
实现软件 RAID,跟随不同选项作用不同

(2)格式:
mdadm [选项] 参数

(3)常用选项:
-C 或–create:创建一个新的软 RAID,后面接 raid 设备的名称。例如,/dev/md0, /dev/md1 等。
-A 或–assemble:加载一个已存在的阵列,后面跟阵列以及设备的名称。
-S 或–stop:停止指定的 RAID 设备。
-D 或–detail:输出指定 RAID 设备的详细信息。
-s 或–scan:扫描配置文件或/proc/mdstat 文件来搜索软 RAID 的配置信息,该参数不 能单独使用, 只能配置其它参数才能使用。
-l 或–level:设置 RAID 的级别,例如设置“–level=5”则表示创建阵列的级别是 RAID 5。
-n 或–raid-devices:指定阵列中活动磁盘的数目。
-x:指定阵列中备用磁盘数
-G 或–grow:改变在用阵列的大小或形态。
-v 或–verbose:显示详细过程。
-n :指定设备数量
-a :自动创建设备文件

示例一:【新增三块 20G 的新硬盘,配置RAID 5】

1.关机后新增三块 20G 的新硬盘

麒麟服务器的docker镜像地址 麒麟服务器系统怎么做raid_linux_05

2接下来使用mdadm命令创建RAID 5,名称为 “/dev/md0”

麒麟服务器的docker镜像地址 麒麟服务器系统怎么做raid_磁盘阵列_06

命令中,-C参数代表创建一个RAID阵列;-v参数显示创建的过程,同时在后面追加一个设备名称/dev/md0,这样/dev/md0 就是创建后的RAID磁盘阵列的名称;-a yes 参数代表自动创建设备文件;-n 3 参数代表使用 3块硬盘来部署这个RAID 磁盘阵列;而 -l 5 参数则代表RAID 5方案;最后再加上硬盘设备的名称。

3.把制作好的RAID 磁盘阵列格式化为xfs格式

麒麟服务器的docker镜像地址 麒麟服务器系统怎么做raid_麒麟服务器的docker镜像地址_07

4.创建挂载点然后把磁盘设备进行挂载操作。

麒麟服务器的docker镜像地址 麒麟服务器系统怎么做raid_磁盘阵列_08

5.查看/dev/md0磁盘阵列的详细信息,并设置为自动挂载

麒麟服务器的docker镜像地址 麒麟服务器系统怎么做raid_linux_09

示例二:【新增五块 20G 的新硬盘,将其配置为软件 RAID 10+1块备份盘】

1.关机新增五块 20G 的新硬盘

麒麟服务器的docker镜像地址 麒麟服务器系统怎么做raid_centos_10

2.使用mdadm命令创建RAID 10,名称为 “/dev/md0” 使用4块硬盘,外加一块备份盘

麒麟服务器的docker镜像地址 麒麟服务器系统怎么做raid_linux_11

麒麟服务器的docker镜像地址 麒麟服务器系统怎么做raid_数据_12

3.将RAID 10阵列格式化为XFS文件格式,然后挂载到目录上。

麒麟服务器的docker镜像地址 麒麟服务器系统怎么做raid_centos_13

4.模拟硬盘故障,备份盘自动顶替工作

 最后就是见证奇迹的时刻!我们将硬盘设备/dev/sdb移出磁盘阵列,迅速查看/dev/md0磁盘阵列的情况

[root@linuxli ~]# mdadm /dev/md0 -f /dev/sdb

[root@linuxli ~]# mdadm -D /dev/md0
.......
 
 Number   Major   Minor   RaidDevice State
       4       8       80        0      active sync set-A   /dev/sdf
       1       8       32        1      active sync set-B   /dev/sdc
       2       8       48        2      active sync set-A   /dev/sdd
       3       8       64        3      active sync set-B   /dev/sde

       0       8       16        -      faulty   /dev/sdb
.......

5.正确删除linux中软raid的方法

1.先umount组建好的raid:
umount /dev/md0

2.停止raid设备:
mdadm -S /dev/md0

3.此时如果忘了raid中的硬盘名称,要么重启系统
reboot

4.要么运行:
mdadm -A -s /dev/md0 
mdadm -D /dev/md0    //查看raid中包含哪几个硬盘
mdadm -S /dev/md0   //再次运行第二步停止命令: 

5.删除raid里的所有硬盘:
mdadm --misc --zero-superblock /dev/sdc
mdadm --misc --zero-superblock /dev/sdd
mdadm --misc --zero-superblock /dev/sde
mdadm --misc --zero-superblock /dev/sdf
有几块硬盘,就按格式删几次,注意最后面的硬盘名称。

6.删除配置文件:
rm -f /etc/mdadm.conf
7.如果之前将raid相关信息写入了/etc/fstab配置文件中,还需vim /etc/fstab,将raid相关的内容删除即可。