首先: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块硬盘)过程并模拟其中一块硬盘损坏的更多相关文章

  1. virtual box硬盘扩容 不是加一块硬盘

    先执行 VirtualBox list hdds 查看当前 VirtualBox 管理的虚拟磁盘. 获取磁盘的 uuid. 结果如下 D:\Program Files\Oracle\VirtualBo ...

  2. raid10 五块硬盘/raid5(三块使用,两块备份)

    raid 10五块硬盘 第一步:在虚拟机中在添加五块硬盘 第二步:使用mdadm命令创建RAID10,名称为“/dev/md0/” -C代表创建操作,-v显示创建过程,-a yes检查RAID名称,- ...

  3. 搭建RAID5(5块硬盘)过程并模拟一块磁盘损坏情况

    首先:在配置RAID5之前我们先来了解一下它.RAID5,RAID是指独立磁盘冗余阵列,是把相同的数据存储在多个硬盘的不同地方的方法.通过把数据放在多个硬盘上,输入输出操作能以平衡的方式交叠,改良性能 ...

  4. java 子类的实例化和代码块初始化过程

    1,子类的实例化 1,子父类中的构造函数的特点. 在子类构造对象时,发现,访问子类构造函数时,父类也运行了. 为什么呢? 原因是:在子类的构造函数中第一行有一个默认的隐式语句. super(); 子类 ...

  5. SilverLight搭建WCF聊天室详细过程[转]

    http://www.silverlightchina.net/html/zhuantixilie/getstart/2011/0424/7148.html 默认节点 SilverLight搭建WCF ...

  6. IDEA搭建SSMM框架(详细过程)

    IDEA搭建SSMM框架(详细过程) 相关环境 Intellij IDEA Ultimate Tomcat JDK MySql 5.6(win32/win64) Maven (可使用Intellij ...

  7. 【转】64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解

    64位Ubuntu 16.04搭建嵌入式交叉编译环境arm-linux-gcc过程图解,开发裸机环境之前需要先搭建其开发环境,毕竟工欲善其事必先利其器嘛.  安装步骤 1.准备工具安装目录 下载 ar ...

  8. 联想G480安装固态硬盘过程

    联想G480安装固态硬盘过程  百度上面图文并茂: https://jingyan.baidu.com/article/e2284b2b68eaf6e2e6118de1.html

  9. RAID5当一块硬盘离线后处理

    RAID5当一块硬盘离线后,处理降级状态,这时候正常的建议是马上更换硬盘做REBUILD以恢复完整的数据状态,如果有热备盘的话,就会自动做REBUILD,这样做合适吗? 一组RAID卷在工作很长时间以 ...

随机推荐

  1. JNDI数据源的配置及使用

    数据源的作用JDBC操作的步骤:  1. 加载驱动程序  2. 连接数据库  3. 操作数据库  4. 关闭数据库,释放连接 也就是说,所有的用户都需要经过此四步进行操作,但是这四步之中有三步对所有人 ...

  2. 常用缓存淘汰算法(LFU、LRU、ARC、FIFO、MRU)

    缓存算法是指令的一个明细表,用于决定缓存系统中哪些数据应该被删去. 常见类型包括LFU.LRU.ARC.FIFO.MRU. 最不经常使用算法(LFU): 这个缓存算法使用一个计数器来记录条目被访问的频 ...

  3. Model-View-ViewModel (MVVM) Explained 转摘自:http://www.wintellect.com/blogs/jlikness/model-view-viewmodel-mvvm-explained

    The purpose of this post is to provide an introduction to the Model-View-ViewModel (MVVM) pattern. W ...

  4. java应用之openfire入门篇

    前言 openfire是一个聊天服务端,好比qq服务端.本质是个socker server. openfire通讯协议是 xmpp  ,什么是xmpp参考百科 https://baike.baidu. ...

  5. 树形查询sql

    DROP FUNCTION IF EXISTS PersonName; CREATE FUNCTION PersonName(parent_id smallint) RETURNS VARCHAR(2 ...

  6. 深入理解TCP协议及其源代码

    本次实验,我们来探究connect及bind.listen.accept背后的三次握手. 实验原理 首先简要回顾一下TCP三次握手的过程: 第一次握手:client向server发送SYN=1的数据报 ...

  7. Java Thread之start和run方法的区别

    原创转载请注明出处:https://www.cnblogs.com/agilestyle/p/11421515.html start 用start方法来启动线程,真正实现了多线程运行,这时无需等待ru ...

  8. 页面重置样式reset.css

    我把经常用到的一些页面重置样式归类到了一个.css文件中,这样可以减少代码冗余.当然还有其他的很多用处,比如h1~h5的样式全部统一的话,下面写东西很清晰很多. @charset 'utf-8'; h ...

  9. vs code常用插件(python)

    1.chinese 作用:vscode设置为中文. 使用方法:Ctrl+Shift+P:输入 "config":选择zh 2.python 作用:调试 3.autoDocstrin ...

  10. python--内置函数、匿名函数、递归调用

    匿名函数 有名函数: def func1(x): print(func1) 结果: <function func1 at 0x00000000005C3E18> 匿名函数: func2=l ...