博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019/01/26/ RAID实现
阅读量:3923 次
发布时间:2019-05-23

本文共 2789 字,大约阅读时间需要 9 分钟。

**raid 0

把多块磁盘组成一块,吧数据分散的均匀存放在各个磁盘里,性能好,容错性差,多个硬盘可以同时进行读写rw
raid 1
两块硬盘互相镜像(数据一致),使用率为1/2,容错性有,允许一块硬盘损坏
raid 5
要求至少三块硬盘,把校验位均匀分布在每块磁盘上,读写可以同时操作,性能好,一块磁盘损坏可以反推,但是两块磁盘损坏就不可以恢复了,磁盘利用率是(n-1)/n
raid 6
允许最多同时两块硬盘损坏
1 -0 先做1 再做0 01 先做0 再做1
一般实际情况中就是BIOS界面层操作
**
在这里插入图片描述
mdadm 可以创建和管理raid
可以把多块硬盘组合成一块,以md开头
在这里插入图片描述把sde当备用硬盘 square disk sdb/c/d组合 成60g
先要将其他分区分出60G大小一样
在这里插入图片描述
在这里插入图片描述
w存盘退出,没提示warning,不需要同步
在这里插入图片描述
之前的分区,可以直接把db的分区表复制到c
在这里插入图片描述
同步partx -a /dev/sdc
在这里插入图片描述
组合成raid5
在这里插入图片描述
组合之前确保磁盘是干净clean的磁盘
在这里插入图片描述
需要格式化,先确保sbd1无人使用,然后用 dd /dev/zero 破坏文件系统
在这里插入图片描述
在这里插入图片描述**50G太大,只能用1g模拟
-C创建 +创建的设备名称 /dev/md0
-a yes 在创建的时候要做初始化 -l5 level级别
-c 32 trunc(截去,修剪) 大小
-n 3 表示成员有几个 有3个 -x1 有一个是 x备用(spare 空闲)+(指定的成员)/dev/sd{b1,c1,d,e1}e1写在最后就是备用的 **
在这里插入图片描述
创建1个G的分区
在这里插入图片描述
在这里插入图片描述
用DD复制64位分区表,先同步删除之前的分区,再同步新增的1g分区

创建md硬盘

-C创建 +创建的设备名称 /dev/md0
-a yes 在创建的时候要做初始化 -l5 level级别
-c 32 trunc(截去,修剪) 大小
-n 3 表示成员有几个 有3个 -x1 有一个是 x备用(spare 空闲)+(指定的成员)/dev/sd{b1,c1,d,e1}e1写在最后就是备用的
在这里插入图片描述
left -symmetric 左对齐,就是校验位的存放位置
在这里插入图片描述
md0是没有文件系统的,需要创建文件系统 MKFS.EXT4 -L raid
整体的UUID一样但是各自有各自的UUID ,,,
在这里插入图片描述
创建好了文件系统,现在就可以用来存放数据
在这里插入图片描述
在这里插入图片描述
写入/etc/fstab 永久保存,自动挂载,且挂载之后,需要生产配置文件,以免后期使用找不到配置文件
etc/mdadm。conf,有了这个配置文件就一行重启不会说找不到raid了
在这里插入图片描述
在这里插入图片描述
fdatasync是直接写入磁盘数据,而不是写到buffer里
在这里插入图片描述
data也是独立分区,但是和raid分区相比写的速度明显慢
读和写性能相较于单块硬盘确实提升不少
在这里插入图片描述
停用raid
先取消挂载
-S停用
-A激活使用
在这里插入图片描述
在这里插入图片描述
mdadm -D == mdadm --detail(细节) 查看当前raid状态
state 目前文件系统是干净的
active devices 目前有3个成员
working devices 有一个是备用的
如果一个成员坏掉 了,第4个备用成员会顶替

在这里插入图片描述

-f模拟损坏 spare rebuilding 重建 de1上去了 sdd1下来了
faulty错误
把坏掉的磁盘删除
hot removed 热删除
在这里插入图片描述
关闭客户机,并且删除虚拟机硬盘设备,degraded降级 等于要访问数据,需要2块硬盘换算出原来第三块硬盘的数据,性能差
在这里插入图片描述
在这里插入图片描述
从a硬盘分出分区作为raid的硬盘修复
在这里插入图片描述
出现warning ,需要同步
在这里插入图片描述
-a 附加的意思 ,但是提示空间不够大,可能划算的有点差距
在这里插入图片描述
**实现raid 5
1.分区(fd 标记),磁盘,大小一致
2.mdadm -C /dev/md0 -a yes -l5 -n 3 -x1 -c32 /dev/sd{b,c,d,e}1
-C创建 +创建的设备名称 /dev/md0
-a yes 在创建的时候要做初始化 -l5 level级别
-c 32 trunc(截去,修剪) 大小
-n 3 表示成员有几个 有3个 -x1 有一个是 x备用(spare 空闲)+(指定的成员)/dev/sd{b1,c1,d,e1}e1写在最后就是备用的
3.mkfs .ext4 /dev/md0 创建文件系统
4.vim /etc/fstab 开机自动挂载
5.mdadm -Ds /dev/md0 > /etc/mdadm.conf 生成一个配置文件
6.mdadm -S 、dev/md0 停止(先要取消挂载 umount)
7.mdadm -A 、dev/md0 激活
容错 模拟损坏
8.mdadm /dev/md0 -f /dev/sde1 模拟设备损坏
9. mdadm 、dev/md0 -r /dev/sde1 模拟设备移除
10. mdadm /dev/md0 -a /dev/sde1 模拟加硬盘设备 **
在这里插入图片描述

作业 :实现raid 10

最少4块硬盘 2个 2个 1 2个1 合成0
1.mdadm -C /dev/md0 -a yes -l1 -n2 /dev/sd{b,c} 制作raid 1
2.mdadm -C /dev/md1 -a yes -l1 -n2 /dev/sd{d,e} 制作raid 1
3.mdadm -C /dev/md2 -a yes -l0 -n2 /dev/md{0,1}制作raid0
第二种方法
1.mdadm -C /dev/md0 -a yes -110 -n4 /dev/sd{b,c,d,e}直接级别设置是10

在这里插入图片描述

在这里插入图片描述
raid 可以扩展 -G
在这里插入图片描述
虽然新创建的分区加进去了,但是上面并没有文件系统,无法存数据
所以用 resizefs /dev/md0 同步文件系统
可以让raid所有的空间采用相同的文件系统
在这里插入图片描述
在这里插入图片描述
resize2fs 只适用于ext4文件系统 针对xfs需要用xfs_growfs + 挂载点
在这里插入图片描述
在这里插入图片描述
mdadm -D 看raid状态
/proc/mdstat 也可以查看raid 的状态
在这里插入图片描述
备用硬盘会在sdb[S]标志
删除raid
1.取消挂载 (先把使用者踢掉 fuser -km)
在这里插入图片描述
删除/etc/fstab 配置
mdadm -D /dev/md0 查看raid 里的设备有哪些 rm -f /etc/mdadm,conf删除配置文件
在这里插入图片描述
停止raid mdadm -S
在这里插入图片描述
设备不存在了。但是硬盘分区还在
在这里插入图片描述
删除分区 fdisk -d
在这里插入图片描述
在这里插入图片描述
表面上删除了,但是你信建原来的分区会发现raid信息还残留 mdadm --zero-superblock 清除raid信息
在这里插入图片描述
在这里插入图片描述
应该在删除分区前,清除raid信息
在这里插入图片描述
不行就清0或者加urandom随机数
在这里插入图片描述
在这里插入图片描述
-a自动创建raid 设备文件
在这里插入图片描述

在这里插入图片描述

转载地址:http://rrzgn.baihongyu.com/

你可能感兴趣的文章
从内存中释放Selenium chromedriver.exe
查看>>
如何在 C# 中使用 MSMQ
查看>>
小试elsa
查看>>
巧用 Lazy 解决.NET Core中的循环依赖关系
查看>>
微前端架构在容器平台的应用
查看>>
C# 中的 null 包容运算符 “!” —— 概念、由来、用法和注意事项
查看>>
仓储模式到底是不是反模式?
查看>>
【One by One系列】IdentityServer4(一)OAuth2.0与OpenID Connect 1.0
查看>>
为什么人和人的差距这么大?
查看>>
ML.NET 推荐引擎中一类矩阵因子分解的缺陷
查看>>
微软2020开源回顾:止不住的挨骂,停不下的贡献
查看>>
说说 RabbiMQ 的应答模式
查看>>
OpenTelemetry - 云原生下可观测性的新标准
查看>>
使用 ML.NET 实现峰值检测来排查异常
查看>>
通过 .NET NativeAOT 实现用户体验升级
查看>>
如何友好的处理 WebApi 中抛出的错误
查看>>
因MemoryCache闹了个笑话
查看>>
Dotnet的垃圾回收
查看>>
乘风破浪,.Net Core遇见Dapr,为云原生而生的分布式应用运行时
查看>>
gRPC在C#中的未来属于grpc-dotnet
查看>>