RAID简介
RAID:(Redundant Array of Independent Disk)独立磁盘的冗余阵列
详细介绍可参考刘遄老师的RAID讲解文章

环境:
CentOS7MINI
VMware16.0

准备:
磁盘5块(系统盘1块+4块做阵列)

mdadm命令用于管理Linux系统中的软件RAID硬盘阵列。
格式:

mdadm [格式] <RAID设备名称> [选项] [成员名称]
参数                              作用
-a                              检测设备名称
-n                              指定设备数量
-l                              指定RAID级别
-C                              创建
-v                              显示过程
-f                              模拟设备损坏
-r                              移除设备
-Q                              查看摘要信息
-D                              查看详细信息
-S                              停止RAID磁盘阵列

由于CentOS7最小化没有
安装mdadm

[root@localhost ~]yum install -y mdadm

创建RAID10
①创建需要使用mdadm中的参数了。其中-C参数代表创建一个RAID阵列卡;-v参数显示创建的过程,并设置阵列名为/dev/md0;-a yes参数代表自动创建设备文件;-n 4参数代表使用4块硬盘来部署这个RAID磁盘阵列;而-l 10参数表示RAID 10;最后再加上4块硬盘设备的名称就搞定了。

[root@localhost ~]mdadm -Cv /dev/md0 -a yes -n 4 -l 10 /dev/sdb /dev/sdc /dev/sdd /dev/sde
mdadm: layout defaults to n2
mdadm: layout defaults to n2
mdadm: chunk size defaults to 512k
mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

②然后格式化好新的阵列卡

[root@localhost ~]mkfs.ext4 /dev/md0
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=256 blocks
2621440 inodes, 10477312 blocks
523865 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2157969408
320 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

③创建挂载点然后把硬盘设备进行挂载操作。挂载成功后可看到可用空间为40GB。

[root@localhost ~]# mkdir /RAID10
[root@localhost ~]# mount /dev/md0 /RAID10/
[root@localhost ~]# df -Th
Filesystem              Type      Size  Used Avail Use% Mounted on
/dev/mapper/centos-root xfs        18G  913M   17G   6% /
devtmpfs                devtmpfs  908M     0  908M   0% /dev
tmpfs                   tmpfs     914M     0  914M   0% /dev/shm
tmpfs                   tmpfs     914M  8.5M  906M   1% /run
tmpfs                   tmpfs     914M     0  914M   0% /sys/fs/cgroup
/dev/sr0                iso9660   3.9G  3.9G     0 100% /media/cdrom
/dev/sda1               xfs       497M   96M  401M  20% /boot
/dev/md0                ext4       40G   49M   38G   1% /RAID10

④查看md0阵列的详细信息,并将阵列盘永久挂载使其生效

[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:Version : 1.2Creation Time : Sun Nov 15 19:50:03 2020Raid Level : raid10Array Size : 41909248 (39.97 GiB 42.92 GB)Used Dev Size : 20954624 (19.98 GiB 21.46 GB)Raid Devices : 4Total Devices : 4Persistence : Superblock is persistentUpdate Time : Mon Nov 16 01:39:15 2020State : cleanActive Devices : 4
Working Devices : 4Failed Devices : 0Spare Devices : 0Layout : near=2Chunk Size : 512KName : localhost.localdomain:0  (local to host localhost.localdomain)UUID : 96c7dce8:0f15d2aa:984c6629:5dd4531aEvents : 17Number   Major   Minor   RaidDevice State0       8       16        0      active sync   /dev/sdb1       8       32        1      active sync   /dev/sdc2       8       48        2      active sync   /dev/sdd3       8       64        3      active sync   /dev/sde
[root@localhost ~]# echo "/dev/md0 /RAID10 ext4 defaults 0 0" >> /etc/fstab
[root@localhost ~]# cat /etc/fstab #查看挂载文件#
# /etc/fstab
# Created by anaconda on Fri Oct 30 21:03:35 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos-root /                       xfs     defaults        1 1
UUID=2999ce12-9dc5-4581-b11c-b0ff63188473 /boot                   xfs     defaults        1 2
/dev/mapper/centos-swap swap                    swap    defaults        0 0
/dev/sr0 /media/cdrom                           iso9660 defaults        0 0
/dev/md0 /RAID10                                ect4    defaults        0 0

损坏损坏磁盘阵列及修复
首先在生产环境中,总是避免不了磁盘损坏的情况,比如长时间老化啊,接触不良等等导致硬盘,出现故障,我们就需要用到阵列,既然用到阵列,阵列内某个磁盘损坏了,我们该如何去修复它,这也是作为运维人员的一个技能点,所以,我会模拟一块硬盘损坏,来学习在生产环境中的出现某个硬盘损坏如何去修复,并让生产环境继续工作。

[root@localhost ~]# mdadm /dev/md0 -f /dev/sdb  #-f:模拟磁盘损坏
mdadm: set /dev/sdb faulty in /dev/md0
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:Version : 1.2Creation Time : Sun Nov 15 19:50:03 2020Raid Level : raid10Array Size : 41909248 (39.97 GiB 42.92 GB)Used Dev Size : 20954624 (19.98 GiB 21.46 GB)Raid Devices : 4Total Devices : 4Persistence : Superblock is persistentUpdate Time : Mon Nov 16 03:33:03 2020State : clean, degradedActive Devices : 3
Working Devices : 3Failed Devices : 1Spare Devices : 0Layout : near=2Chunk Size : 512KName : localhost.localdomain:0  (local to host localhost.localdomain)UUID : 96c7dce8:0f15d2aa:984c6629:5dd4531aEvents : 19Number   Major   Minor   RaidDevice State0       0        0        0      removed1       8       32        1      active sync   /dev/sdc2       8       48        2      active sync   /dev/sdd3       8       64        3      active sync   /dev/sde0       8       16        -      faulty   /dev/sdb               #这里提示有/dev/sdb这块硬盘出现故障了

在RAID 10级别的磁盘阵列中,当RAID 1磁盘阵列中存在一个故障盘时并不影响RAID 10磁盘阵列的使用。当购买了新的硬盘设备后再使用mdadm命令来予以替换即可,在此期间我们可以在/RAID目录中正常地创建或删除文件。由于我们是在虚拟机中模拟硬盘,所以先重启系统,然后再把新的硬盘添加到RAID磁盘阵列中。

[root@localhost ~]#poweroff             #重启后替换掉损坏的磁盘
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:Version : 1.2Creation Time : Sun Nov 15 19:50:03 2020Raid Level : raid10Array Size : 41909248 (39.97 GiB 42.92 GB)Used Dev Size : 20954624 (19.98 GiB 21.46 GB)Raid Devices : 4Total Devices : 3Persistence : Superblock is persistentUpdate Time : Mon Nov 16 03:48:59 2020State : clean, degradedActive Devices : 3
Working Devices : 3Failed Devices : 0Spare Devices : 0Layout : near=2Chunk Size : 512KName : localhost.localdomain:0  (local to host localhost.localdomain)UUID : 96c7dce8:0f15d2aa:984c6629:5dd4531aEvents : 29Number   Major   Minor   RaidDevice State0       0        0        0      removed1       8       32        1      active sync   /dev/sdc2       8       48        2      active sync   /dev/sdd3       8       64        3      active sync   /dev/sde
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE   MOUNTPOINT
sda               8:0    0   20G  0 disk
├─sda1            8:1    0  500M  0 part   /boot
└─sda2            8:2    0 19.5G  0 part├─centos-swap 253:0    0    2G  0 lvm    [SWAP]└─centos-root 253:1    0 17.5G  0 lvm    /
sdb               8:16   0   20G  0 disk
sdc               8:32   0   20G  0 disk
└─md0             9:0    0   40G  0 raid10 /RAID10
sdd               8:48   0   20G  0 disk
└─md0             9:0    0   40G  0 raid10 /RAID10
sde               8:64   0   20G  0 disk
└─md0             9:0    0   40G  0 raid10 /RAID10
sr0              11:0    1  3.9G  0 rom    /media/cdrom

目前sdb是重新加进去的硬盘,所以我们需要重新添加到新的RAID10内,在此操作前,注意的是,您开机的时候硬盘是直接把RAID10挂载好的,所以需要卸载挂载点后,添加再去重新挂载上去

[root@localhost ~]# umount /RAID10/
[root@localhost ~]# mdadm /dev/md0 -a /dev/sdb
mdadm: added /dev/sdb
[root@localhost ~]# mdadm -D /dev/md0
/dev/md0:Version : 1.2Creation Time : Sun Nov 15 19:50:03 2020Raid Level : raid10Array Size : 41909248 (39.97 GiB 42.92 GB)Used Dev Size : 20954624 (19.98 GiB 21.46 GB)Raid Devices : 4Total Devices : 4Persistence : Superblock is persistentUpdate Time : Mon Nov 16 03:53:14 2020State : clean, degraded, recoveringActive Devices : 3
Working Devices : 4Failed Devices : 0Spare Devices : 1Layout : near=2Chunk Size : 512KRebuild Status : 22% completeName : localhost.localdomain:0  (local to host localhost.localdomain)UUID : 96c7dce8:0f15d2aa:984c6629:5dd4531aEvents : 38Number   Major   Minor   RaidDevice State4       8       16        0      spare rebuilding   /dev/sdb #再次您会问为什么是这个状态;解释:这是加入阵列加载状态1       8       32        1      active sync   /dev/sdc2       8       48        2      active sync   /dev/sdd3       8       64        3      active sync   /dev/sde
[root@localhost ~]# mount /dev/md0 /RAID10/
[root@localhost ~]# lsblk
NAME            MAJ:MIN RM  SIZE RO TYPE   MOUNTPOINT
sda               8:0    0   20G  0 disk
├─sda1            8:1    0  500M  0 part   /boot
└─sda2            8:2    0 19.5G  0 part├─centos-swap 253:0    0    2G  0 lvm    [SWAP]└─centos-root 253:1    0 17.5G  0 lvm    /
sdb               8:16   0   20G  0 disk
└─md0             9:0    0   40G  0 raid10 /RAID10
sdc               8:32   0   20G  0 disk
└─md0             9:0    0   40G  0 raid10 /RAID10
sdd               8:48   0   20G  0 disk
└─md0             9:0    0   40G  0 raid10 /RAID10
sde               8:64   0   20G  0 disk
└─md0             9:0    0   40G  0 raid10 /RAID10
sr0              11:0    1  3.9G  0 rom    /media/cdrom

总结

对于我来说,磁盘阵列在Linux上做确实很好用,很方便,但是我不是很推荐直接用系统的方式做阵列,建议在生产环境,最好是做硬RAID,就是服务器的RAID,为什么会提出这个建议呢;因为如果说您在生产环境中,奔溃的不是您的硬盘,而是系统呢?这个阵列还有用吗?虽然说可以更换内核,但是对于我的建议还是希望能够给到大家最好的帮助!

最后感谢的是刘遄老师给予的教材资料,我也是跟着刘遄老师学的教材学的知识,希望像学习的同学跟我一起学习探讨,再次声明,我不是为了谁打广告,我是为了自己的未来而记录自己的学习的经验!谢谢~

CentOS7做RAID10,并模拟损坏磁盘以及修复相关推荐

  1. Centos7做软RAID5详细步骤

    1.添加硬盘 这里我添加了6块1G的硬盘做实验,具体作用如下: 4块做RAID5,1块做RAID5的备用盘(如果RAID5其中一个硬盘坏了,就备用盘会自动替换坏的硬盘),1块实验备用盘 添加好硬盘后, ...

  2. 服务器阵列卡做RAID10(LSI 9260-8I)

    在BISO里按Ctrl + H进入阵列卡配置(我这里阵列卡型号是LSI 9260-8I带电池版本),使用阵列卡来做RAID性能更好,因为RAID调度都由阵列卡来完成,如果是BIOS里做会大量消耗CPU ...

  3. 服务器做raid 10后更换硬盘,做RAID10内置硬盘更换步骤

    <做RAID10内置硬盘更换步骤>由会员分享,可在线阅读,更多相关<做RAID10内置硬盘更换步骤(2页珍藏版)>请在人人文库网上搜索. 1.P52A更换内置RAID硬盘更换步 ...

  4. Android下磁盘分区表损坏,磁盘分区表是什么出现故障怎么修复

    硬盘分区表可以说是支持硬盘正常工作的骨架.操作系统正是通过它把硬盘划分为若干个分区,然后再在每个分区里面创建文件系统,写入数据文件,有时出现分区表故障,分区表固然可以重建,但却意味着存放在硬盘上的文件 ...

  5. 使用fsck修复损坏磁盘

    使用fsck修复损坏磁盘 SD卡不小心拔之前忘记推出了.导致损坏. 插入Windows没反映.插入linux提示无法mount. 利用命令修复SD卡的方法如下: 1,sudo fdisk -l 查看S ...

  6. java存款程序_ATM 用java语言做的一个模拟ATM机的程序。可支持取款存款等操作 Develop 238万源代码下载- www.pudn.com...

    文件名称: ATM下载 收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 865 KB 上传时间: 2015-04-13 下载次数: 0 提 供 者: 葛宏涛 详细说明: ...

  7. Linux部署磁盘阵列、损坏磁盘阵列及修复、磁盘阵列+备份盘、LVM

    A.部署磁盘阵列 mdadm用于管理Linux系统中的软件RAID磁盘阵列,格式为:mdadm  [模式]  <RAID设备名称>  [选项]  [成员设备名称].mdadm常用的参数有: ...

  8. 计算机硬盘错误怎么办,win7系统磁盘出错怎么办 win7电脑磁盘错误修复方法

    ‍ ‍ 电脑磁盘可以存储很多信息,最近有用户反应win7系统磁盘出错怎么办?磁盘错误怎么修复?下面小编就跟大家说说解决的方法.注意:如果磁盘出错开机后只是出现一次,下次就不出来了,请不要介意,说明系统 ...

  9. delphi 到出execl2010 文件损坏_如何修复Linux中损坏的软件包?

    [51CTO.com快译]Apt和DNF等Linux软件包管理器功能异常强大.界面异常直观,但这并不意味着就不会出岔子.有时软件包安装会出问题,您得收拾残局.软件包管理器能够修复损坏的软件包并跳过损坏 ...

最新文章

  1. 奠定了整个计算机科学的基础是什么,冯 诺依曼对计算机科学发展所作的贡献是什么...
  2. CTF web题总结--unserizable
  3. Qt Creator编辑MIME类型
  4. Python爬虫1-----------placekitten 入门
  5. C# 企业微信消息推送对接,实现天气预报推送
  6. 深度学习数据更换背景_开始学习数据科学的最佳方法是了解其背景
  7. 转:OGRE场景管理器介绍
  8. 【物联网智能网关-08】TinyGUI和WPF汉字显示技术比较
  9. 虚拟机是怎么实现的?(转)
  10. Atitit 遍历文件夹算法 autoit attilax总结
  11. 想要穷游北京?这些湖光山色的地方人少还景美!
  12. PLG SaaS 产品 Figma 商业模式拆解
  13. Godaddy上的域名如何取消自动续费?
  14. scala中sorted,sortby,sortwith的用法(转)
  15. 关于 IR 在程序分析和优化中应用的一些思考
  16. 西电-机器学习-逻辑回归
  17. 【leetcode_easy_$】577. Employee Bonus
  18. 揭秘长尾关键词的力量:如何在搜索引擎上挤掉竞争对手?
  19. 这 25 个开源机器学习项目,一般人我不告诉 Ta
  20. 机器学习-机器学习十大算法

热门文章

  1. CSR8670的TWS模式的应用笔记
  2. Java八种基本数据类型对应的包装类
  3. 计算机ppt怎么播放,怎么让PPT放映期间播放歌曲?
  4. Linux系统换主板后网络,linux 跟换主板后网卡配置.docx
  5. Js版本的打老鼠游戏--这里简单用一个图标表示老鼠 关键字:js对表格进行动态创建
  6. 变分自编码器原理解析
  7. C++中String 的用法 string 字符串的使用方法
  8. Lightning 0.5 Chinese Language package
  9. MTPuTTY不能使用问题
  10. 关于SWITCH中CASE的执行顺序。