搭建RAID10(5块硬盘)过程并模拟其中一块硬盘损坏
首先:RAID 10,实际是将RAID 0和RAID 1标准结合的产物,在连续地以位或字节为单位分割数据并且并行读/写多个磁盘的同时,为每一块磁盘作磁盘镜像进行冗余。它的优点是同时拥有RAID 0的超凡速度和RAID 1的数据高可靠性,但是CPU占用率同样也更高,而且磁盘的利用率比较低。RAID 1+0是先镜射再分区数据,再将所有硬盘分为两组,视为是RAID 0的最低组合,然后将这两组各自视为RAID 1运作。当RAID 1+0有一个硬盘受损,其余三个硬盘会继续运作。
第一步:
添加五块硬盘
这里一路默认即可





第二步:查看磁盘是否识别
用fdisk-l 查看磁盘空间

第三步:创建RAID10
用命令mdadm -Cv /dev/md0 -n 4 -l 10 -x 1 -a yes /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf

这里就算是创建RAID10 成功了。
第四步:格式化磁盘md0并挂载到新目录下
先对md0 用 mkfs.ext4 /dev/md0 进行格式化

接下来创建一个目录 mkdir /media/RAID10 并将RAID10临时挂载在该目录下

用 mdadm -D /dev/md0 查看已挂载的RAID10

这里就算RAID10创建完成并临时挂载好了,如果想要开机自动挂载,需要将
“ /dev/md0 /media/RAID10 ext4 defaults 0 0 ”写到 /etc/fstab文档里。可以用echo命令也可以直接vi进去编辑。
模拟sdb盘损坏:
第一步:使用mdadm /dev/md0 -f /dev/sdb 先将sdb移除RAID10阵列

再用mdadm -D查看一下当前阵列的状态

sdf备份盘恢复完数据了 ,这时sdf就顶替了sdb的位置

因为之前我们创建RAID10的时候 设置了一个-x的参数是1 所以这里不用任何操作,sdf盘就顶替了原先sdb盘的位置。那么下面假设没有-x这个参数,只是单纯的卸载sdb会怎样呢。
先用umount命令卸载md0 并用mdadm -S 参数停止RAID10的使用。这里可以看到系统里已经没有RAID10这个阵列了。

接下来还是上面的步骤重新创建RAID10 只不过不添加备份盘了
这里可以看到跟上面比已经没有sdf这个备份盘了

我们接着模拟sdb损坏 。
这次没有盘顶替sdb了,我们需要尝试恢复数据。

可以重启后执行mdadm -a参数 恢复sdb

接下来恢复sdb 这里显示3%就是恢复的进度

恢复完成!

搭建RAID10(5块硬盘)过程并模拟其中一块硬盘损坏的更多相关文章
- virtual box硬盘扩容 不是加一块硬盘
先执行 VirtualBox list hdds 查看当前 VirtualBox 管理的虚拟磁盘. 获取磁盘的 uuid. 结果如下 D:\Program Files\Oracle\VirtualBo ...
- raid10 五块硬盘/raid5(三块使用,两块备份)
raid 10五块硬盘 第一步:在虚拟机中在添加五块硬盘 第二步:使用mdadm命令创建RAID10,名称为“/dev/md0/” -C代表创建操作,-v显示创建过程,-a yes检查RAID名称,- ...
- 搭建RAID5(5块硬盘)过程并模拟一块磁盘损坏情况
首先:在配置RAID5之前我们先来了解一下它.RAID5,RAID是指独立磁盘冗余阵列,是把相同的数据存储在多个硬盘的不同地方的方法.通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能 ...
- java 子类的实例化和代码块初始化过程
1,子类的实例化 1,子父类中的构造函数的特点. 在子类构造对象时,发现,访问子类构造函数时,父类也运行了. 为什么呢? 原因是:在子类的构造函数中第一行有一个默认的隐式语句. super(); 子类 ...
- SilverLight搭建WCF聊天室详细过程[转]
http://www.silverlightchina.net/html/zhuantixilie/getstart/2011/0424/7148.html 默认节点 SilverLight搭建WCF ...
- IDEA搭建SSMM框架(详细过程)
IDEA搭建SSMM框架(详细过程) 相关环境 Intellij IDEA Ultimate Tomcat JDK MySql 5.6(win32/win64) Maven (可使用Intellij ...
- 【转】64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解
64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解,开发裸机环境之前需要先搭建其开发环境,毕竟工欲善其事必先利其器嘛. 安装步骤 1.准备工具安装目录 下载 ar ...
- 联想G480安装固态硬盘过程
联想G480安装固态硬盘过程 百度上面图文并茂: https://jingyan.baidu.com/article/e2284b2b68eaf6e2e6118de1.html
- RAID5当一块硬盘离线后处理
RAID5当一块硬盘离线后,处理降级状态,这时候正常的建议是马上更换硬盘做REBUILD以恢复完整的数据状态,如果有热备盘的话,就会自动做REBUILD,这样做合适吗? 一组RAID卷在工作很长时间以 ...
随机推荐
- day106 支付功能与优惠券功能 contentype
https://blog.csdn.net/Ayhan_huang/article/details/78626957 一.ContenType from django.db import models ...
- upc组队赛14 Floating-Point Hazard【求导】
Floating-Point Hazard 题目描述 Given the value of low, high you will have to find the value of the follo ...
- [CF895E] Eyes Closed(线段树,期望)
Desctiption 传送门:Portal 大致题意: 给你一个序列, 支持两种操作: 1 l1 r1 l2 y2 在\([l1, r1]\)随机选择一个数a, \([l2, r2]\) 内随机选择 ...
- php mysql 多表查询之子查询语句
所谓子查询语句,就是先通过一个语句来查询出一个结果,然后再通过一个查询语句从这个结果中再次查询.子查询语句一般有以下3种.下面以一个案例来做讲解. 案例:查询[例1]中每个分类下的最新的那一条商品信息 ...
- docker-compos联合两个容器
使用网络 ' services: web: image: http networks: - myappnet1 worker: image: http networks: - myappnet2 db ...
- .net core 部署到IIS 以及上 HTTP Error 502.5 - ANCM Out-Of-Process Startup Failure
安装AspNetCoreModule托管模块后执行 1.net stop was /y 2.net start w3svc 测试可以,但是需要装对应的托管模块的版本. 1. .NET Core与Win ...
- cookie,seesion学习
一,为什么需要cookie和session? 1,Web应用程序是使用HTTP协议传输数据的.然而HTTP协议是无状态的协议.一旦数据交换完毕,客户端与服务器端的连接就会关闭,再次交换数据需要建立新的 ...
- MyEclipse配置maven创建项目教程入门
Maven简介:Maven是一个项目管理工具,主要用于Java平台的项目构建.依赖管理和项目生命周期管理. 下载Maven: https://maven.apache.org/download.cgi ...
- firefox浏览器强制取消自动更新
问题:Firefox浏览器,在浏览器的设置中已经设置了取消自动升级,实际退出Firefox浏览器重新启动浏览器后还是会升级到最新版本.影响:Firefox浏览器不同的版本的插件的支持兼容不一样,如果需 ...
- go语言从例子开始之Example12.func函数
函数 是 Go 的中心.我们将通过一些不同的例子来进行学习. Example: package main import "fmt" //定义一个函数使用关键字func //函数名名 ...