| :-- | :-- | :-- |
| -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
- 如果现在已经做好的 RAID 空间还是不够用的话,那么我们可以向里面增加新的硬盘,来增加 RAID 的空间。
1)向 RAID 中新加一块硬盘
[root@localhost ~]# mdadm /dev/md5 -a /dev/sdd2
2)查看此时的 RAID 状态
[root@localhost ~]# mdadm -D /dev/md5
- 默认情况下,我们向 RAID 中增加的磁盘,会被默认当作热备盘,我们把热备盘加入到 RAID 的活动盘中。
3)热备盘转换成活动盘
[root@localhost ~]# mdadm -G /dev/md5 -n 4
4)查看此时的 RAID 状态
[root@localhost ~]# mdadm -D /dev/md5
5)扩容文件系统
- RAID 构建完毕后,阵列容量增加,但是文件系统还没有增加,这时我们还需要对文件系统进行扩容。
[root@localhost ~]# xfs_growfs /dev/md5
6)修改 RAID 配置文件
[root@localhost ~]# vim /etc/mdadm.conf
将原来的 RAID5 配置删除
[root@localhost ~]# echo “DEVICE /dev/sdb3 /dev/sdc3 /dev/sdd2 /dev/sde1” >> /etc/mdadm.conf
[root@localhost ~]# mdadm -Ds /dev/md5 >> /etc/mdadm.conf
7)验证 RAID5 是否开机自动挂载
[root@localhost ~]# reboot
[root@localhost ~]# df -hT
- 注意:RAID10 至少需要四块硬盘
[root@localhost ~]# mdadm -C /dev/md10 -a yes -l 10 -n 4 /dev/sdb4 /dev/sdc4 /dev/sdd4 /dev/sde4
1)查看 RAID10 状态
[root@localhost ~]# mdadm -D /dev/md10
2)修改 mdadm 配置文件
[root@localhost ~]# echo “DEVICE /dev/sdb4 /dev/sdc4 /dev/sdd4 /dev/sde4” >> /etc/mdadm.conf
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Java)
分享
首先分享一份学习大纲,内容较多,涵盖了互联网行业所有的流行以及核心技术,以截图形式分享:
(亿级流量性能调优实战+一线大厂分布式实战+架构师筑基必备技能+设计思想开源框架解读+性能直线提升架构技术+高效存储让项目性能起飞+分布式扩展到微服务架构…实在是太多了)
其次分享一些技术知识,以截图形式分享一部分:
Tomcat架构解析:
算法训练+高分宝典:
Spring Cloud+Docker微服务实战:
最后分享一波面试资料:
切莫死记硬背,小心面试官直接让你出门右拐
1000道互联网Java面试题:
Java高级架构面试知识整理:
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
觉得这些内容对你有帮助,可以扫码获取!!(备注:Java)**
[外链图片转存中…(img-G1KxH5qT-1713817030686)]
分享
首先分享一份学习大纲,内容较多,涵盖了互联网行业所有的流行以及核心技术,以截图形式分享:
(亿级流量性能调优实战+一线大厂分布式实战+架构师筑基必备技能+设计思想开源框架解读+性能直线提升架构技术+高效存储让项目性能起飞+分布式扩展到微服务架构…实在是太多了)
其次分享一些技术知识,以截图形式分享一部分:
Tomcat架构解析:
[外链图片转存中…(img-aPQ3INjn-1713817030686)]
算法训练+高分宝典:
[外链图片转存中…(img-tXSlRgbM-1713817030686)]
Spring Cloud+Docker微服务实战:
[外链图片转存中…(img-H7m3DIEJ-1713817030687)]
最后分享一波面试资料:
切莫死记硬背,小心面试官直接让你出门右拐
1000道互联网Java面试题:
[外链图片转存中…(img-5Lm4DAzy-1713817030687)]
Java高级架构面试知识整理:
[外链图片转存中…(img-rFfxcBa9-1713817030687)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!