转自:https://blog.51cto.com/gaowenlong/2086918

Centos 7 磁盘阵列配置介绍
每当我们提到磁盘阵列,相信广大管理员并不陌生,比如我们一般安装服务器系统的时候,先前条件是配置服务器的RAID信息,配置RAID信息可以提高服务器性能及数据的安全及稳定性,当然RAID分多少等级,最为常见的是RAID0、RAID1、RAID5、RAID1+0、RAID10等,每个RAID等级都会带来不同的效果,比如RAID0会将多个磁盘组合成一个大的磁盘空间,这样会大大增加磁盘空间的利用率,但是缺点就是只要坏一块磁盘就会导致所有数据丢失,再说说RAID1、RAID5等RAID等级对磁盘的数据有要求,同时磁盘空间利用率没有RAID0那么高,比如RAID1当配置后会将磁盘一半做为磁盘镜像,保证数据的可用性,RAID1最少两块磁盘,比如500G的两块磁盘配置RAID1,可用空间约等于500G,会将另外500G作为磁盘镜像,比如RAID5最少需要三块磁盘,会将其中一块磁盘作为镜像,所以可以根据自己的需求来进行配置。下面我们大概介绍一下RAID等级介绍:
RAID0 是一种简单的、无数据校验的数据条带化技术。实际上不是一种真正的 RAID ,因为它并不提供任何形式的冗余策略。 RAID0 将所在磁盘条带化后组成大容量的存储空间,将数据分散存储在所有磁盘中,以独立访问方式实现多块磁盘的并读访问。由于可以并发执行 I/O 操作,总线带宽得到充分利用。再加上不需要进行数据校验,RAID0 的性能在所有 RAID 等级中是最高的。理论上讲,一个由 n 块磁盘组成的 RAID0 ,它的读写性能是单个磁盘性能的 n 倍,但由于总线带宽等多种因素的限制,实际的性能提升低于理论值。RAID0 具有低成本、高读写性能、 100% 的高存储空间利用率等优点,但是它不提供数据冗余保护,一旦数据损坏,将无法恢复。 因此, RAID0 一般适用于对性能要求严格但对数据安全性和可靠性不高的应用,如视频、音频存储、临时数据缓存空间等。
RAID1 称为镜像,它将数据完全一致地分别写到工作磁盘和镜像 磁盘,它的磁盘空间利用率为 50% 。 RAID1 在数据写入时,响应时间会有所影响,但是读数据的时候没有影响。 RAID1 提供了最佳的数据保护,一旦工作磁盘发生故障,系统自动从镜像磁盘读取数据,不会影响用户工作。工作原理如图 3 所示。
  RAID1 与 RAID0 刚好相反,是为了增强数据安全性使两块 磁盘数据呈现完全镜像,从而达到安全性好、技术简单、管理方便。 RAID1 拥有完全容错的能力,但实现成本高。 RAID1 应用于对顺序读写性能要求高以及对数据保护极为重视的应用,如对邮件系统的数据保护。
RAID5 应该是目前最常见的 RAID 等级,它的原理与 RAID4 相似,区别在于校验数据分布在阵列中的所有磁盘上,而没有采用专门的校验磁盘。对于数据和校验数据,它们的写操作可以同时发生在完全不同的磁盘上。因此, RAID5 不存在 RAID4 中的并发写操作时的校验盘性能瓶颈问题。另外, RAID5 还具备很好的扩展性。当阵列磁盘 数量增加时,并行操作量的能力也随之增长,可比 RAID4 支持更多的磁盘,从而拥有更高的容量以及更高的性能。
RAID5 兼顾存储性能、数据安全和存储成本等各方面因素,它可以理解为 RAID0 和 RAID1 的折中方案,是目前综合性能最佳的数据保护解决方案。 RAID5 基本上可以满足大部分的存储应用需求,数据中心大多采用它作为应用数据的保护方案。
磁盘阵列 RAID
言归正传,我们今天主要介绍在Linux系统下如何配置磁盘阵列。具体见下:
我们今天在Centos7下做介绍,我们首先给系统增加4块磁盘
磁盘阵列 RAID
然后我们通过fdisk -l查看磁盘信息
[root@oa-nginx ~]# fdisk -l

Disk /dev/sda: 64.4 GB, 64424509440 bytes, 125829120 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x0000f635

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 125829119 61864960 8e Linux LVM

Disk /dev/mapper/cl-root: 38.3 GB, 38323355648 bytes, 74850304 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mapper/cl-swap: 6308 MB, 6308233216 bytes, 12320768 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/mapper/cl-home: 18.7 GB, 18710790144 bytes, 36544512 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/sdb: 17.2 GB, 17179869184 bytes, 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/sdc: 17.2 GB, 17179869184 bytes, 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/sdd: 17.2 GB, 17179869184 bytes, 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk /dev/sde: 17.2 GB, 17179869184 bytes, 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
磁盘准备好后,我们准备配置磁盘阵列,因为linux下配置磁盘阵列需要使用mdadm命令,所以我们需要安装
我们首先安装mdadm工具
yum install -y mdadm
磁盘阵列 RAID
接着我们介绍一下命令---mdadm参数
-a 检测设备名称 
-n 指定设备数量
-l 指定RAID等级
-C 创建
-v 显示过程
-f 模拟设备损坏
-r 移除设备
-a 增加设备
-Q 查看摘要信息
-D 查看详细信息
-S 停止

我们使用mdadm命令创建RAID10名称为:dev/md0:
C代表创建操作,-v显示创建过程,-a yes检查RAID没名称,-n是用到硬盘个数,-i定义RAID的级别而后面写上要增加整列的硬盘名称
mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
磁盘阵列 RAID
格式化RAID磁盘整理为ext4格式
mkfs.ext4 /dev/md0
磁盘阵列 RAID
创建挂载目录
mkdir /RAID
磁盘阵列 RAID
mount /dev/md0 /RAID
磁盘阵列 RAID
df -h
磁盘阵列 RAID
设置为系统重启也自动生效
echo "/dev/md0 /RAID ext4 default 0 0" >> /etc/fstab
磁盘阵列 RAID
查看/dev/md0设备信息
mdadm -D /dev/md0
磁盘阵列 RAID
接下来我们模拟一块硬盘损坏
mdadm /dev/md0 -f /dev/sdb
磁盘阵列 RAID
mdadm -D /dev/md0
磁盘阵列 RAID
损坏后依然可以正常使用
因为RAID10允许一组RAID1硬盘中存在一个故障而不影响使用,所以我们任然可以使用正常点的创建或者删除文件,现在就把新的硬盘增加进去吧,当然也可以让硬盘sdb恢复使用,重启后执行以下命令
mdadm /dev/md0 -a /dev/sdb
我们重启系统后发现无法启动
磁盘阵列 RAID
自动挂载的那个fstab文件有问题,你在这个界面直接输入密码,然后把你增加的删除,重启就OK
注释后,保存重启
磁盘阵列 RAID
重启后恢复正常
磁盘阵列 RAID
我们再次执行上面的操作
mdadm /dev/md0 -a /dev/sdb
磁盘阵列 RAID
我们再次查看
mdadm -D /dev/md0
磁盘阵列 RAID