raid5需要几块硬盘?答案:至少3块。raid5是独立磁盘冗余阵列(raid)种一种,它是用户数据和数据奇偶校验码轮流存储在所有磁盘阵列种的一种体系架构,根据raid5的工作原理,要实现raid5至少需要3块物理磁盘。

原理:每次存储数据时,数据被平均分配到n-1个磁盘中,随机选中一个磁盘生成校验码。当有一个磁盘坏掉时,还可使用其他磁盘进行热备份故障修复;只损坏一块,没有问题,但是损坏两份,则数据全部损坏

空间利用率:n-1/n

奇偶校验信息的作用:当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。

扩展异或运算:相对简单的异或运算(相同为0,相异为1)

如何安装raid5

第一步准备四个硬盘,如果没有虚拟机的话可以3A网络上获取

虚拟机中进行raid5测试部署_数据

第二步 进行磁盘挂载分区

​CentOS 7 磁盘挂载教程​

磁盘挂载可参考以上链接

虚拟机中进行raid5测试部署_数据_02

2、创建RAID5磁盘阵列

[[root@localhost ~]# mdadm -C -v /dev/md5 -l 5 -n 3 -x 1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1

#创建RAID5磁盘阵列,设备名称为/dev/raid5,涉及到4个分区,其中3个分区为活动分区,1个分区为备用分区,-C 是--create 的缩写,表示创建的意思;-v 是--verbose 的缩写,显示创建过程中详细的事件;-l是级别0;-n代表了有几个设备

虚拟机中进行raid5测试部署_异或运算_03

[root@localhost ~]# mdadm -Ds > /etc/mdadm.conf #把查询出来的 RAID 信息写到 mdadm.conf 中

[root@localhost ~]# cat /etc/mdadm.conf

虚拟机中进行raid5测试部署_数据_04

[root@localhost ~]# mkfs -t xfs /dev/md5 #对磁盘进行xfs格式化

[root@localhost ~]# mkdir /mnt/md5 #创建挂载点

[root@localhost ~]# mount /dev/md5 /mnt/md5/ #挂载目录

[root@localhost ~]# df -h #查看

虚拟机中进行raid5测试部署_磁盘阵列_05

[root@localhost ~]#mdadm -D /dev/md5 #查看raid信息

虚拟机中进行raid5测试部署_磁盘阵列_06

已成功完成raid5搭建

[root@localhost ~]# umount /mnt/md5/ #卸载挂载目录
[root@localhost ~]# mdadm -S /dev/md5 #停止正在使用的md5
[root@localhost ~]# cat /proc/mdstat #查看一下md设备驱动程序控制的RAID设备信息。
[root@localhost ~]# mdadm -As /dev/md5

#-A 或 --assemble 激活一个 RAID ;-s 或 --scan 扫描 RAID 设备;
//MDADM:/DEV/MD5已经启动了3个驱动器和1个备用。
[root@localhost ~]# cat /proc/mdstat #重新看一下

虚拟机中进行raid5测试部署_数据_07

关于mdadm的相关参数汇总
-C  --create  创建阵列;
-a  --auto   同意创建设备,如不加此参数时必须先使用mknod 命令来创建一个RAID设备,不过推荐使用-a yes参数一次性创建;
-l   --level   阵列模式,支持的阵列模式有 linear, raid0, raid1, raid4, raid5, raid6, raid10, multipath, faulty, container;
-n --raid-devices 阵列中活动磁盘的数目,该数目加上备用磁盘的数目应该等于阵列中总的磁盘数目;
-x 热备盘数目
-D --detail 查看raid设备的详细信息
-f 使一块raid磁盘故障
-a 增加一块raid磁盘
-r 移除一块故障的raid磁盘
-s --scan:扫描配置文件或 /proc/mdstat以搜寻丢失的信息
-S 停止raid磁盘阵列

mdadm /dev/md0 -f /dev/sdb1 损坏一块盘
mdadm /dev/md0 -r /dev/sdb1 移除一块盘
mdadm /dev/md0 -a /dev/sdb1 添加一块盘

mdadm -C -v /dev/md5 -l 5 -n 3 -x 1 /dev/sdc1 /dev/sdd1 /dev/sde1 /dev/sdf1 创建3块raid51块热备