raid 知识了解与实验展示

165 阅读4分钟

raid

独立硬盘冗余阵列,,旧称廉价磁盘冗余阵列,,简称磁盘阵列

简单来说,RAID把多个硬盘组合成为一个逻辑硬盘,因此,操作系统只会把它当作一个实体硬盘。

raid级别

RAID-0:条带卷,strip
RAID-1:镜像卷,mirror
RAID-2
......
RAID-5
RAID-6
RAID-7
RAID-10
RAID-01
RAID-50
RAID-0
读、写性能提升可用空间:N*min(S1,S2,...)
无容错能力
最少磁盘数:1+
RAID-1
读性能提升、写性能略有下降
可用空间:1*min(S1,S2,...)
磁盘利用率 50%
有冗余能力
最少磁盘数:2n
RAID-5
读、写性能提升
可用空间:(N-1)*min(S1,S2,...)
有容错能力:允许最多1块磁盘损坏
最少磁盘数:3, 3+

RAID-10
读、写性能提升
可用空间:N*min(S1,S2,...)/2
有容错能力:每组镜像最多只能坏一块
最少磁盘数:4, 4+

实验软 raid 磁盘阵列

准备:

1.liunx一台
2.做1  0的软raid 至少需要4个盘
3.我这边做了5个盘  一个盘作为备用

1.增加了5个盘
QQ截图20220803163105.png 2.这边是直接用得整块磁盘 没有进行分区

md0 自己取的名字

mdadm [mode] <raiddevice> [options] <component-devices>

命令  模式  阵列名字(md0) 选项 选择/dev/sdb /dev/sdd
mdadm -Cv /dev/md0 -l 10(raid) -n 4 -x 1 /dev/sd[bcde] {b,c,d,e}

QQ截图20220803163229.png 3.创建系统文件 QQ截图20220803163746.png 4.挂载

QQ截图20220803164028.png 5.df -h 看一下

我创建的一个盘是20G 这边就是40G QQ截图20220803164232.png 6.去挂载点 复制点文件过来看一下 软raid

QQ截图20220803164933.png 7.使用mdadm检查RAID设备的状况

-A为一组 -B为一组

软raid 一般不用所以就不需要永久挂载 QQ截图20220803165053.png 8.强制让一个盘下线 再看一下

QQ截图20220803165607.png 9.我是让sdb盘下线

就显示sdb 盘损坏 但是不影响使用

备用的sdf盘也自动顶上来了

QQ截图20220803165832.png 数据也没有丢失 QQ截图20220803165942.png -r 删掉一个盘

QQ截图20220803170310.png

QQ截图20220803170332.png -a 在加一个盘 QQ截图20220803170415.png

QQ截图20220803170434.png 实验就结束了

raid  1 0  实验代码

[root@localhost ~]#lsblk    //看硬盘是否上线
[root@localhost ~]#mdadm -Cv /dev/md0 -l 10 -n 4 -x 1 /dev/sd[bcdef]     //使用mdadm创建并定义RAID设备
[root@localhost ~]#mkfs.xfs /dev/md0   //创建系统文件
[root@localhost ~]#mount /dev/md0 /mnt     //挂载(软raid 用的少 就不需要进行永久挂在  实验没有进行永久挂载)
[root@localhost ~]#cd /mnt   //cd 到挂点
[root@localhost mnt]#cp /etc/passwd /etc/shadow .   //复制点文件过来
[root@localhost mnt]#mdadm --detail /dev/md0   //使用mdadm检查RAID设备的状况
[root@localhost mnt]#mdadm /dev/md0 -f /dev/sdb    //模拟磁盘故障
[root@localhost mnt]#mdadm /dev/md0 -r /dev/sdb    //删除一个盘
[root@localhost mnt]#mdadm /dev/md0 -a /dev/sdb    //添加一个盘

软raid 5 实验过程:

1.准备四块硬盘(实际3块即可)

QQ截图20220803212957.png 2.直接拿整块盘做实验

QQ截图20220803213026.png 3.查看一下状态

每5秒查看一次状态

[root@localhost ~]#watch -n 5 'cat /proc/mdstat' QQ截图20220803213147.png 4.使用mdadm检查RAID设备的状况 QQ截图20220803213532.png 5.-r -f作用

mdadm /dev/md0 -f /dev/sda1  #移除磁盘
mdadm /dev/md0 -r /dev/sda1  #在备用驱动器上重建分区

QQ截图20220803213729.png 6.结果

QQ截图20220803213856.png 总结命令:

[root@localhost ~]#lsblk    /查看磁盘是否上线
[root@localhost ~]#mdadm -Cv /dev/md0 -l 5 -n 3 /dev/sd{b,c,d} -x1 /dev/sde   //创建raid 5
[root@localhost ~]#cat /proc/mdstat   /查看一下状态
[root@localhost ~]#watch -n 5 'cat /proc/mdstat'   //每5秒看一次
[root@localhost ~]#mdadm -D /dev/md0   //使用mdadm检查RAID设备的状况
[root@localhost ~]#mdadm /dev/md0 -r /dev/sdb   //#在备用驱动器上重建分区
[root@localhost ~]#mdadm /dev/md0 -f /dev/sdb    //#移除磁盘 
[root@localhost ~]#mdadm /dev/md0 -r /dev/sdb   /#在备用驱动器上重建分区
[root@localhost ~]#mdadm -D /dev/md0   //最后查看一下结果

总结命令:

创建:-C

-C: 创建模式
-n #: 使用#个块设备来创建此RAID
-l #:指明要创建的RAID的级别 0 1 5 10
-c CHUNK_SIZE: 指明块大小,单位k
-x #: 指明空闲盘的个数 热备 盘 -x 1 /dev/sd#
-D:显示raid的详细信息

mdadm -D /dev/md#
        软raid名字

管理模式:
-f: 标记指定磁盘为损坏
-a: 添加磁盘
-r: 移除磁盘
观察md的状态: cat /proc/mdstat
watch -n 5 'cat /proc/mdstat'   //每5秒看一次

列子:

使用mdadm创建并定义RAID设备
mdadm -C /dev/md0 -l 5 -n 3 -x 1 /dev/sd{b,c,d,e}1
命令    raid名     级别 盘数 热备

mkfs.xfs /dev/md0   //用文件系统对每个RAID设备进行格式化

mdadm --detail /dev/md0  //使用mdadm检查RAID设备的状况
mdadm -D /dev/md0      //使用mdadm检查RAID设备的状况

mdadm -G /dev/md0 -n4 -a /dev/sdf1   //增加新的成员

mdadm /dev/md0 -f /dev/sda1    //模拟磁盘故障

mdadm /dev/md0 -r /dev/sda1   //移除磁盘

mdadm /dev/md0 -a /dev/sda1   //在备用驱动器上重建分区

cat /proc/mdstat    //系统日志信息

mdadm -D -s >> /etc/mdadm.conf    //生成配置文件

mdadm -S /dev/md0   //停止设备

mdadm -A -s /dev/md0    //激活设备

mdadm -R /dev/md0     //强制启动

mdadm --zero-superblock /dev/sdb1     //删除raid信息