| 容错性 | 有 | 冗余类型 | 镜像 |
| — | — | — | — |
| 热备盘 | 有 | 读性能 | 高(与 RAID0 相近) |
| 随机写性能 | 低 | 连续写性能 | 低 |
| 需要的磁盘数 | N*2(N 需要大于等于 2) | 可用容量 | N/2 |
- 典型应用:集成了 RAID0 和 RAID1 的优点。
=================================================================================
- 准备四块 20G 的硬盘,每块硬盘分四个分区,每个分区 5G
[root@localhost ~]# fdisk /dev/sdb
n # 创建分区
p # 创建普通分区
回车
回车
+5G # 分配 5G 内存
t # 更改分区类型为 RAID 类型 (只是为了方便记住)
回车
fd # fd 类型就是 RAID
以上步骤依次类推,配置其它分区也是如此
使用 partprobe
命令同步分区情况
[root@localhost ~]# partprobe
[root@localhost ~]# yum -y install mdadm # 安装 RAID 管理工具
[root@localhost ~]# mdadm -C /dev/md0 -a yes -l 0 -n 2 /dev/sdb1 /dev/sdc1
注解:
| 选项 | 全称 | 作用 |
| :-- | :-- | :-- |
| -C | --create
| 创建阵列 |
| -a | --auto
| 同意创建设备 |
| -l | --level
| 阵列模式 |
| -n | --reid-devices
| 阵列中活动磁盘的数目 |
| -x | --spare-devices=N
| 表示当前阵列中热备盘有 N 块(自定义 N 数量即可) |
| -S | --stop
| 关闭阵列(关闭前需先取消挂载) |
1)查看 RAID0 状态
[root@localhost ~]# cat /proc/mdstat # 查看概要信息
[root@localhost ~]# mdadm -D /dev/md0 # 查看更详细的信息
注解:
-
Raid Level:阵列级别。
-
Array Size:阵列容量大小。
-
Raid Devices:RAID 成员的个数。
-
Total Devices:RAID 中下属成员的总计个数,因为还有冗余硬盘或分区,也就是 spare。
-
State:包含三个状态(
clean
表示正常,degraded
表示有问题,recovering
表示正在恢复或构建) -
Active Devices:被激活的 RAID 成员个数。
-
Working Devices:正常工作的 RAID 成员个数。
-
Failed Devices:出问题的 RAID 成员。
-
Spare Devices:备用 RAID 成员个数(会自动替换出现问题的成员)。
-
UUID:RAID 的 UUID 值,在系统中是唯一的。
2)创建 mdadm
配置文件
- 创建
mdadm
原因:因为每次系统重启时,RAID 的 UUID 都会变化,所以创建mdadm
文件就是为了每次重启自动加载软 RAID。
[root@localhost ~]# echo “DEVICE /dev/sdb1 /dev/sdc1” > /etc/mdadm.conf # 指定软 RAID 设备
[root@localhost ~]# mdadm -Ds /dev/md0 >> /etc/mdadm.conf # 将 RAID0 的 UUID 追加到该目录
3)格式化磁盘阵列
[root@localhost ~]# mkfs.xfs /dev/md0 # 格式化为 xfs 文件系统
4)建立挂载点并挂载
[root@localhost ~]# mkdir /raid0 # 创建挂载点
[root@localhost ~]# mount /dev/md0 /raid0/ # 挂载
[root@localhost ~]# df -hT # 查看磁盘使用情况
[root@localhost ~]# echo “/dev/md0 /raid0 xfs defaults 0 0” >> /etc/fstab
5)验证 RAID0 是否开机自动挂载
[root@localhost ~]# reboot # 重启
[root@localhost ~]# df -hT # 查看磁盘使用情况
[root@localhost ~]# mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sdb2 /dev/sdc2
1)查看 RAID1 状态
[root@localhost ~]# mdadm -D /dev/md1 # 查看更详细的信息
注解:
- Used Dev Size:RAID 成员容量大小。
2)修改 mdadm 配置文件
[root@localhost ~]# echo “DEVICE /dev/sdb2 /dev/sdc2” >> /etc/mdadm.conf # 指定软 RAID 设备
[root@localhost ~]# mdadm -Ds /dev/md1 >> /etc/mdadm.conf
3)格式化磁盘阵列
[root@localhost ~]# mkfs.xfs /dev/md1 # 格式化为 xfs 文件系统
4)建立挂载点并挂载
[root@localhost ~]# mkdir /raid1 # 创建挂载点
[root@localhost ~]# mount /dev/md1 /raid1/ # 挂载
[root@localhost ~]# df -hT # 查看磁盘使用情况
[root@localhost ~]# echo “/dev/md1 /raid1 xfs defaults 0 0” >> /etc/fstab
5)验证 RAID0 是否开机自动挂载
[root@localhost ~]# reboot # 重启
[root@localhost ~]# df -hT # 查看磁盘使用情况
- 注意:RAID5 至少需要三块硬盘
[root@localhost ~]# mdadm -C /dev/md5 -a yes -l 5 -n 3 -x 1 /dev/sdb3 /dev/sdc3 /dev/sdd1 /dev/sde1
1)查看 RAID5 状态
[root@localhost ~]# mdadm -D /dev/md5
2)修改 mdadm
配置文件
[root@localhost ~]# echo “DEVICE /dev/sdb3 /dev/sdc3 /dev/sdd1 /dev/sde1” >> /etc/mdadm.conf
[root@localhost ~]# mdadm -Ds /dev/md5 >> /etc/mdadm.conf
3)格式化磁盘阵列
[root@localhost ~]# mkfs.xfs /dev/md5
4)建立挂载点并挂载
[root@localhost ~]# mkdir /raid5 # 创建挂载点
[root@localhost ~]# mount /dev/md5 /raid5/ # 挂载
[root@localhost ~]# df -hT # 查看磁盘使用情况
[root@localhost ~]# echo “/dev/md5 /raid5 xfs defaults 0 0” >> /etc/fstab
5)向 /raid5
里面写入测试数据
[root@localhost ~]# cd /raid5/
[root@localhost raid5]# touch zhangsan.txt
[root@localhost raid5]# touch wangwu.txt
[root@localhost raid5]# ls
wangwu.txt zhangsan.txt
- 在实际中,当软 RAID 检测到某个硬盘有故障时,会自动标记该磁盘为故障磁盘,并停止对故障磁盘的读写操作。
1)对 RAID5 进行模拟故障操作
[root@localhost ~]# mdadm /dev/md5 -f /dev/sdd1
2)查看重建状态
- 当一个设备出现故障或被标记故障时,相应设备的方括号后将被标以 (F)。
[root@localhost ~]# cat /proc/mdstat
3)查看之前写入的测试数据是否还在
[root@localhost ~]# ls /raid5/
4)重建完毕后查看阵列状态
[root@localhost ~]# cat /proc/mdstat
5)移除损坏的磁盘
[root@localhost ~]# mdadm /dev/md5 -r /dev/sdd1
6)再次查看 /dev/md5
状态
[root@localhost ~]# mdadm -D /dev/md5
7)新加热备磁盘
[root@localhost ~]# mdadm /dev/md5 -a /dev/sdd1
8)查看 /dev/md5
状态
[root@localhost ~]# mdadm -D /dev/md5
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
总结
对于面试还是要好好准备的,尤其是有些问题还是很容易挖坑的,例如你为什么离开现在的公司(你当然不应该抱怨现在的公司有哪些不好的地方,更多的应该表明自己想要寻找更好的发展机会,自己的一些现实因素,比如对于我而言是现在应聘的公司离自己的家更近,又或者是自己工作到达了迷茫期,想跳出迷茫期等等)
Java面试精选题、架构实战文档
整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~
你的支持,我的动力;祝各位前程似锦,offer不断!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!
a开发知识点,真正体系化!**
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
总结
对于面试还是要好好准备的,尤其是有些问题还是很容易挖坑的,例如你为什么离开现在的公司(你当然不应该抱怨现在的公司有哪些不好的地方,更多的应该表明自己想要寻找更好的发展机会,自己的一些现实因素,比如对于我而言是现在应聘的公司离自己的家更近,又或者是自己工作到达了迷茫期,想跳出迷茫期等等)
[外链图片转存中…(img-8bQC4o55-1711962466765)]
Java面试精选题、架构实战文档
整理不易,觉得有帮助的朋友可以帮忙点赞分享支持一下小编~
你的支持,我的动力;祝各位前程似锦,offer不断!
《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门即可获取!